ETH Price: $2,603.83 (-0.37%)

Token

Guardian (GUARD)
 

Overview

Max Total Supply

500,065,772,949.99999 GUARD

Holders

400

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
20 GUARD

Value
$0.00
0xBB15A169a34942B60025401c1Eb64c2089Bfd3E2
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
GuardianToken

Compiler Version
v0.5.11+commit.c082d0b4

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-04-26
*/

/**
 *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 GuardianToken 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, 800000000000000);
    }

    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"}]

60806040523480156200001157600080fd5b506040516200692238038062006922833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b838201915060208201858111156200006f57600080fd5b82518660018202830111640100000000821117156200008d57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c3578082015181840152602081019050620000a6565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011557600080fd5b838201915060208201858111156200012c57600080fd5b82518660018202830111640100000000821117156200014a57600080fd5b8083526020830192505050908051906020019080838360005b838110156200018057808201518184015260208101905062000163565b50505050905090810190601f168015620001ae5780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919050505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660006101000a81548160ff02191690831515021790555033600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760146101000a81548160ff02191690831515021790555033600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555082601090805190602001906200049e9291906200092d565b508160119080519060200190620004b79291906200092d565b5080601260006101000a81548160ff021916908360ff160217905550620004ec336602d79883d20000620004f660201b60201c565b50505050620009dc565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514620005bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b620005d18383620005db60201b60201c565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200067f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000706576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180620068ff6023913960400191505060405180910390fd5b600081116200077d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f45524332303a206d696e7420616d6f756e742073686f756c64206265203e203081525060200191505060405180910390fd5b6200079981601554620008a460201b620050641790919060201c565b601581905550620007f881601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620008a460201b620050641790919060201c565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008082840190508381101562000923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200097057805160ff1916838001178555620009a1565b82800160010185558215620009a1579182015b82811115620009a057825182559160200191906001019062000983565b5b509050620009b09190620009b4565b5090565b620009d991905b80821115620009d5576000816000905550600101620009bb565b5090565b90565b615f1380620009ec6000396000f3fe608060405234801561001057600080fd5b506004361061038e5760003560e01c806355e6ef34116101de578063a4df6c6a1161010f578063dba03d81116100ad578063e50d31801161007c578063e50d3180146114e4578063eeada4341461156a578063f2fbce9914611574578063f2fde38b146115be5761038e565b8063dba03d8114611394578063dd62ed3e146113d8578063e020455c14611450578063e30c39781461149a5761038e565b8063cae9ca51116100e9578063cae9ca51146111ff578063ce1d82f5146112fc578063d8da5ce914611346578063d9489aa21461138a5761038e565b8063a4df6c6a146110cd578063a9059cbb14611133578063c4157b29146111995761038e565b80638da5cb5b1161017c5780639fd0506d116101565780639fd0506d14610f8b578063a15c15af14610fd5578063a24835d114611019578063a457c2d7146110675761038e565b80638da5cb5b14610e7457806395d89b4114610ebe5780639a7165e414610f415761038e565b806370766280116101b85780637076628014610d4057806370a0823114610d8a57806373cfffa014610de257806379cc679014610e265761038e565b806355e6ef3414610c905780635c975abb14610cda5780636e72292014610cfc5761038e565b806327810b6e116102c357806340c10f1911610261578063483a8df911610230578063483a8df914610a765780634c80890414610aba5780634e71e0c814610ba057806354b2b17614610baa5761038e565b806340c10f191461099457806342966c68146109fa578063434450e814610a285780634421ea2114610a325761038e565b806335cde1ce1161029d57806335cde1ce146107a257806339509351146107ec5780633af32abf146108525780633d7cd488146108ae5761038e565b806327810b6e146106f0578063291d95491461073a578063313ce5671461077e5761038e565b806313d71f6e116103305780631d2c0b3d1161030a5780631d2c0b3d146106125780631e57a2b21461061c578063238fd7311461062657806323b872dd1461066a5761038e565b806313d71f6e1461059c578063171177b3146105a657806318160ddd146105f45761038e565b8063096a2e321161036c578063096a2e32146104c65780630c15f601146104d05780630dc6f69c1461053657806310154bad146105585761038e565b806306fdde031461039357806308c985bf14610416578063095ea7b314610460575b600080fd5b61039b611602565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103db5780820151818401526020810190506103c0565b50505050905090810190601f1680156104085780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61041e6116a0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ac6004803603604081101561047657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ca565b604051808215151515815260200191505060405180910390f35b6104ce6116e1565b005b61051c600480360360408110156104e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117d0565b604051808215151515815260200191505060405180910390f35b61053e611911565b604051808215151515815260200191505060405180910390f35b61059a6004803603602081101561056e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611928565b005b6105a4611a46565b005b6105f2600480360360408110156105bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611be5565b005b6105fc611cb6565b6040518082815260200191505060405180910390f35b61061a611cc0565b005b610624611e5f565b005b6106686004803603602081101561063c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ffe565b005b6106d66004803603606081101561068057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061211c565b604051808215151515815260200191505060405180910390f35b6106f86122e2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61077c6004803603602081101561075057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061230c565b005b61078661242a565b604051808260ff1660ff16815260200191505060405180910390f35b6107aa61243d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108386004803603604081101561080257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612467565b604051808215151515815260200191505060405180910390f35b6108946004803603602081101561086857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061250c565b604051808215151515815260200191505060405180910390f35b61097a600480360360408110156108c457600080fd5b81019080803590602001906401000000008111156108e157600080fd5b8201836020820111156108f357600080fd5b8035906020019184602083028401116401000000008311171561091557600080fd5b90919293919293908035906020019064010000000081111561093657600080fd5b82018360208201111561094857600080fd5b8035906020019184602083028401116401000000008311171561096a57600080fd5b9091929391929390505050612562565b604051808215151515815260200191505060405180910390f35b6109e0600480360360408110156109aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506127f2565b604051808215151515815260200191505060405180910390f35b610a2660048036036020811015610a1057600080fd5b81019080803590602001909291905050506128ce565b005b610a3061295d565b005b610a7460048036036020811015610a4857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612afc565b005b610ab860048036036020811015610a8c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c03565b005b610b8660048036036040811015610ad057600080fd5b8101908080359060200190640100000000811115610aed57600080fd5b820183602082011115610aff57600080fd5b80359060200191846020830284011164010000000083111715610b2157600080fd5b909192939192939080359060200190640100000000811115610b4257600080fd5b820183602082011115610b5457600080fd5b80359060200191846020830284011164010000000083111715610b7657600080fd5b9091929391929390505050612d0a565b604051808215151515815260200191505060405180910390f35b610ba8612efb565b005b610c7660048036036040811015610bc057600080fd5b8101908080359060200190640100000000811115610bdd57600080fd5b820183602082011115610bef57600080fd5b80359060200191846020830284011164010000000083111715610c1157600080fd5b909192939192939080359060200190640100000000811115610c3257600080fd5b820183602082011115610c4457600080fd5b80359060200191846020830284011164010000000083111715610c6657600080fd5b909192939192939050505061309a565b604051808215151515815260200191505060405180910390f35b610c9861328b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ce26132b5565b604051808215151515815260200191505060405180910390f35b610d3e60048036036020811015610d1257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506132cc565b005b610d486133ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610dcc60048036036020811015610da057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613410565b6040518082815260200191505060405180910390f35b610e2460048036036020811015610df857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613473565b005b610e7260048036036040811015610e3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061357a565b005b610e7c61360a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ec6613634565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f06578082015181840152602081019050610eeb565b50505050905090810190601f168015610f335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610f496136d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610f936136f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61101760048036036020811015610feb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613722565b005b6110656004803603604081101561102f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613840565b005b6110b36004803603604081101561107d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613911565b604051808215151515815260200191505060405180910390f35b611119600480360360408110156110e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506139b6565b604051808215151515815260200191505060405180910390f35b61117f6004803603604081101561114957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613af4565b604051808215151515815260200191505060405180910390f35b6111e5600480360360408110156111af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613c20565b604051808215151515815260200191505060405180910390f35b6112e26004803603606081101561121557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125c57600080fd5b82018360208201111561126e57600080fd5b8035906020019184600183028401116401000000008311171561129057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613cfc565b604051808215151515815260200191505060405180910390f35b611304613e68565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6113886004803603602081101561135c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613e8e565b005b611392613fac565b005b6113d6600480360360208110156113aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061414b565b005b61143a600480360360408110156113ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614252565b6040518082815260200191505060405180910390f35b6114586142d9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6114a26142ff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b611550600480360360608110156114fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050614325565b604051808215151515815260200191505060405180910390f35b6115726145e1565b005b61157c6146d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b611600600480360360208110156115d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506146f6565b005b60108054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116985780601f1061166d57610100808354040283529160200191611698565b820191906000526020600020905b81548152906001019060200180831161167b57829003601f168201915b505050505081565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006116d73384846147fd565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061207061757365720000000000000000000081525060200191505060405180910390fd5b600760149054906101000a900460ff1615600760146101000a81548160ff021916908315150217905550565b600060011515600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611898576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d656c74000000000000000000000000000081525060200191505060405180910390fd5b6118a283836149f4565b8273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600660009054906101000a900460ff16905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f63616c6c6572206973206e6f742061646d696e206f662077686974656c69737481525060200191505060405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611aa057600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f51c4874e0f23f262e04a38c51751336dde72126d67f53eb672aaff02996b3ef660405160405180910390a3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ca8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b611cb28282614c26565b5050565b6000601554905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d1a57600080fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f02ad39e5173f89bdd5497202bd74024b5da045106c3163ddb078d2e89ff6d6de60405160405180910390a3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611eb957600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2e564b778e0bd386914daff857c4db4480f555c393032a2f0ab2d62de42c297760405160405180910390a3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d656c7465722061646d696e0000000000000081525060200191505060405180910390fd5b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006121266132b5565b156121ae57600115156121383361250c565b1515146121ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616e277420706572666f726d20616e20616374696f6e00000000000000000081525060200191505060405180910390fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180615eb2602d913960400191505060405180910390fd5b61223e848484614d3b565b6122d784336122d285601460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6147fd565b600190509392505050565b6000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146123cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f63616c6c6572206973206e6f742061646d696e206f662077686974656c69737481525060200191505060405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601260009054906101000a900460ff1681565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061250233846124fd85601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b6147fd565b6001905092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600060011515600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461262a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d656c74000000000000000000000000000081525060200191505060405180910390fd5b60008585905011612686576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526041815260200180615bd36041913960600191505060405180910390fd5b8282905085859050146126e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180615d4c603a913960400191505060405180910390fd5b60008090505b858590508110156127e55761273986868381811061270457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1685858481811061272d57fe5b905060200201356149f4565b85858281811061274557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8686858181106127bc57fe5b905060200201356040518082815260200191505060405180910390a380806001019150506126ea565b5060019050949350505050565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146128ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b6128c483836150ec565b6001905092915050565b600660009054906101000a900460ff16612950576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6275726e61626c653a2063616e2774206275726e00000000000000000000000081525060200191505060405180910390fd5b61295a33826153a3565b50565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146129b757600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f780008ae49c9be745883f9a2ca6d2e68e9063350aaa0782ee3f00316965d251560405160405180910390a3600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612bbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061207061757365720000000000000000000081525060200191505060405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612cc6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d656c7465722061646d696e0000000000000081525060200191505060405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612dd2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b60008585905011612e2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180615c86603a913960400191505060405180910390fd5b828290508585905014612e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180615d866033913960400191505060405180910390fd5b60008090505b85859050811015612eee57612ee1868683818110612eac57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858584818110612ed557fe5b905060200201356150ec565b8080600101915050612e92565b5060019050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612f5557600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514613162576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b600085859050116131be576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526041815260200180615bd36041913960600191505060405180910390fd5b82829050858590501461321c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180615d4c603a913960400191505060405180910390fd5b60008090505b8585905081101561327e5761327186868381811061323c57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1685858481811061326557fe5b90506020020135615542565b8080600101915050613222565b5060019050949350505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600760149054906101000a900460ff16905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461338f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d696e7465722061646d696e0000000000000081525060200191505060405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061346c61341e83615783565b601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b9050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061206275726e65720000000000000000000081525060200191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900460ff166135fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6275726e61626c653a2063616e2774206275726e00000000000000000000000081525060200191505060405180910390fd5b61360682826157cb565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60118054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156136ca5780601f1061369f576101008083540402835291602001916136ca565b820191906000526020600020905b8154815290600101906020018083116136ad57829003601f168201915b505050505081565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146137e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d696e7465722061646d696e0000000000000081525060200191505060405180910390fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b61390d82826153a3565b5050565b60006139ac33846139a785601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6147fd565b6001905092915050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613a7b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b613a858383615872565b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000613afe6132b5565b15613b865760011515613b103361250c565b151514613b85576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616e277420706572666f726d20616e20616374696f6e00000000000000000081525060200191505060405180910390fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613c0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180615eb2602d913960400191505060405180910390fd5b613c16338484614d3b565b6001905092915050565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514613ce8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b613cf28383615542565b6001905092915050565b600080849050613d0c85856116ca565b15613e5b578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613dea578082015181840152602081019050613dcf565b50505050905090810190601f168015613e175780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015613e3957600080fd5b505af1158015613e4d573d6000803e3d6000fd5b505050506001915050613e61565b60009150505b9392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613f51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d656c7465722061646d696e0000000000000081525060200191505060405180910390fd5b6001600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461400657600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167feee90df09f0bc4f2408d904f2b5c22873e54185001290d225b5b2ced5212814960405160405180910390a3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461420e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d696e7465722061646d696e0000000000000081525060200191505060405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146143ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415614470576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615e466025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156144f6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615b826023913960400191505060405180910390fd5b6145008483615a43565b5061450b8383615ae2565b508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f9958976925baa403abf86afa44976a9effff3e01931eafd0ea2689f40852fd59846040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146146a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061206275726e65720000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900460ff1615600660006101000a81548160ff021916908315150217905550565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146147b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614883576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180615e6b6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614909576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615c3a6022913960400191505060405180910390fd5b80601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615db96021913960400191505060405180910390fd5b60008111614ad3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180615cf46031913960400191505060405180910390fd5b80614add83615783565b1015614b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615ba5602e913960400191505060405180910390fd5b614b3e8282615a43565b50614b9181601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f0bb0b52882b12b41cdf6b733954f1133183ca85efebcda11b4506bc6926d326b826040518082815260200191505060405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180615e1e6028913960400191505060405180910390fd5b614cc181601554614fdb90919063ffffffff16565b601581905550614cd18282615a43565b503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615e466025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615b826023913960400191505060405180910390fd5b614e9981601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614f2e81601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115615053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b6000808284019050838110156150e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561518f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415615214576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615e8f6023913960400191505060405180910390fd5b6000811161528a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f45524332303a206d696e7420616d6f756e742073686f756c64206265203e203081525060200191505060405180910390fd5b61529f8160155461506490919063ffffffff16565b6015819055506152f781601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415615429576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615dfd6021913960400191505060405180910390fd5b61543e81601554614fdb90919063ffffffff16565b60158190555061549681601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156155c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180615c146026913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561564d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615c5c602a913960400191505060405180910390fd5b600081116156a6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180615d256027913960400191505060405180910390fd5b6156bb8160155461506490919063ffffffff16565b6015819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36157308282615ae2565b508173ffffffffffffffffffffffffffffffffffffffff167fba89ad6709373f454c31524e8c39cef3cdd4b0e8cfde0ccddbd419a2e488be6b826040518082815260200191505060405180910390a25050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6157d582826153a3565b61586e823361586984601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6147fd565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156158f8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615dda6023913960400191505060405180910390fd5b60008111615951576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180615cc06034913960400191505060405180910390fd5b6159a381601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506159f08282615ae2565b508173ffffffffffffffffffffffffffffffffffffffff167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0826040518082815260200191505060405180910390a25050565b6000615a96826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000615b35826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206d656c742066726f6d2074686520616464726573733a2062616c616e6365203c20616d6f756e746d696e74426174636846726f7a656e546f6b656e733a207472616e736665722073686f756c6420626520746f206174206c65617374206f6e65206164647265737345524332303a206d696e742066726f7a656e20746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206d696e742066726f7a656e20746f2074686520636f6e747261637420616464726573736d696e744261746368546f6b656e3a207472616e736665722073686f756c6420626520746f206174206c65617374206f6e65206164647265737345524332303a20667265657a652066726f6d2074686520616464726573733a20616d6f756e742073686f756c64206265203e203045524332303a206d656c742066726f6d2074686520616464726573733a2076616c75652073686f756c64206265203e203045524332303a206d696e742066726f7a656e20616d6f756e742073686f756c64206265203e20306d696e74426174636846726f7a656e546f6b656e733a20726563697069656e74732e6c656e67746820213d20616d6f756e74732e6c656e6774686d696e744261746368546f6b656e3a20726563697069656e74732e6c656e67746820213d20616d6f756e74732e6c656e67746845524332303a206d656c742066726f6d20746865207a65726f206164647265737345524332303a20667265657a652066726f6d20746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a2066726f7a656e206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a206d696e7420746f2074686520636f6e7472616374206164647265737363616e2774207472616e7366657220746f6b656e7320746f2074686520636f6e74726163742061646472657373a265627a7a723158209337a61fc535c248c79014e9e4258a6784b19b1543801dbe2aaeaa6be4dd1e0564736f6c634300050b003245524332303a206d696e7420746f2074686520636f6e74726163742061646472657373000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008477561726469616e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054755415244000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061038e5760003560e01c806355e6ef34116101de578063a4df6c6a1161010f578063dba03d81116100ad578063e50d31801161007c578063e50d3180146114e4578063eeada4341461156a578063f2fbce9914611574578063f2fde38b146115be5761038e565b8063dba03d8114611394578063dd62ed3e146113d8578063e020455c14611450578063e30c39781461149a5761038e565b8063cae9ca51116100e9578063cae9ca51146111ff578063ce1d82f5146112fc578063d8da5ce914611346578063d9489aa21461138a5761038e565b8063a4df6c6a146110cd578063a9059cbb14611133578063c4157b29146111995761038e565b80638da5cb5b1161017c5780639fd0506d116101565780639fd0506d14610f8b578063a15c15af14610fd5578063a24835d114611019578063a457c2d7146110675761038e565b80638da5cb5b14610e7457806395d89b4114610ebe5780639a7165e414610f415761038e565b806370766280116101b85780637076628014610d4057806370a0823114610d8a57806373cfffa014610de257806379cc679014610e265761038e565b806355e6ef3414610c905780635c975abb14610cda5780636e72292014610cfc5761038e565b806327810b6e116102c357806340c10f1911610261578063483a8df911610230578063483a8df914610a765780634c80890414610aba5780634e71e0c814610ba057806354b2b17614610baa5761038e565b806340c10f191461099457806342966c68146109fa578063434450e814610a285780634421ea2114610a325761038e565b806335cde1ce1161029d57806335cde1ce146107a257806339509351146107ec5780633af32abf146108525780633d7cd488146108ae5761038e565b806327810b6e146106f0578063291d95491461073a578063313ce5671461077e5761038e565b806313d71f6e116103305780631d2c0b3d1161030a5780631d2c0b3d146106125780631e57a2b21461061c578063238fd7311461062657806323b872dd1461066a5761038e565b806313d71f6e1461059c578063171177b3146105a657806318160ddd146105f45761038e565b8063096a2e321161036c578063096a2e32146104c65780630c15f601146104d05780630dc6f69c1461053657806310154bad146105585761038e565b806306fdde031461039357806308c985bf14610416578063095ea7b314610460575b600080fd5b61039b611602565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103db5780820151818401526020810190506103c0565b50505050905090810190601f1680156104085780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61041e6116a0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ac6004803603604081101561047657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ca565b604051808215151515815260200191505060405180910390f35b6104ce6116e1565b005b61051c600480360360408110156104e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117d0565b604051808215151515815260200191505060405180910390f35b61053e611911565b604051808215151515815260200191505060405180910390f35b61059a6004803603602081101561056e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611928565b005b6105a4611a46565b005b6105f2600480360360408110156105bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611be5565b005b6105fc611cb6565b6040518082815260200191505060405180910390f35b61061a611cc0565b005b610624611e5f565b005b6106686004803603602081101561063c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ffe565b005b6106d66004803603606081101561068057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061211c565b604051808215151515815260200191505060405180910390f35b6106f86122e2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61077c6004803603602081101561075057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061230c565b005b61078661242a565b604051808260ff1660ff16815260200191505060405180910390f35b6107aa61243d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108386004803603604081101561080257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612467565b604051808215151515815260200191505060405180910390f35b6108946004803603602081101561086857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061250c565b604051808215151515815260200191505060405180910390f35b61097a600480360360408110156108c457600080fd5b81019080803590602001906401000000008111156108e157600080fd5b8201836020820111156108f357600080fd5b8035906020019184602083028401116401000000008311171561091557600080fd5b90919293919293908035906020019064010000000081111561093657600080fd5b82018360208201111561094857600080fd5b8035906020019184602083028401116401000000008311171561096a57600080fd5b9091929391929390505050612562565b604051808215151515815260200191505060405180910390f35b6109e0600480360360408110156109aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506127f2565b604051808215151515815260200191505060405180910390f35b610a2660048036036020811015610a1057600080fd5b81019080803590602001909291905050506128ce565b005b610a3061295d565b005b610a7460048036036020811015610a4857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612afc565b005b610ab860048036036020811015610a8c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c03565b005b610b8660048036036040811015610ad057600080fd5b8101908080359060200190640100000000811115610aed57600080fd5b820183602082011115610aff57600080fd5b80359060200191846020830284011164010000000083111715610b2157600080fd5b909192939192939080359060200190640100000000811115610b4257600080fd5b820183602082011115610b5457600080fd5b80359060200191846020830284011164010000000083111715610b7657600080fd5b9091929391929390505050612d0a565b604051808215151515815260200191505060405180910390f35b610ba8612efb565b005b610c7660048036036040811015610bc057600080fd5b8101908080359060200190640100000000811115610bdd57600080fd5b820183602082011115610bef57600080fd5b80359060200191846020830284011164010000000083111715610c1157600080fd5b909192939192939080359060200190640100000000811115610c3257600080fd5b820183602082011115610c4457600080fd5b80359060200191846020830284011164010000000083111715610c6657600080fd5b909192939192939050505061309a565b604051808215151515815260200191505060405180910390f35b610c9861328b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ce26132b5565b604051808215151515815260200191505060405180910390f35b610d3e60048036036020811015610d1257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506132cc565b005b610d486133ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610dcc60048036036020811015610da057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613410565b6040518082815260200191505060405180910390f35b610e2460048036036020811015610df857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613473565b005b610e7260048036036040811015610e3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061357a565b005b610e7c61360a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ec6613634565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f06578082015181840152602081019050610eeb565b50505050905090810190601f168015610f335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610f496136d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610f936136f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61101760048036036020811015610feb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613722565b005b6110656004803603604081101561102f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613840565b005b6110b36004803603604081101561107d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613911565b604051808215151515815260200191505060405180910390f35b611119600480360360408110156110e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506139b6565b604051808215151515815260200191505060405180910390f35b61117f6004803603604081101561114957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613af4565b604051808215151515815260200191505060405180910390f35b6111e5600480360360408110156111af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613c20565b604051808215151515815260200191505060405180910390f35b6112e26004803603606081101561121557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125c57600080fd5b82018360208201111561126e57600080fd5b8035906020019184600183028401116401000000008311171561129057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613cfc565b604051808215151515815260200191505060405180910390f35b611304613e68565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6113886004803603602081101561135c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613e8e565b005b611392613fac565b005b6113d6600480360360208110156113aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061414b565b005b61143a600480360360408110156113ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614252565b6040518082815260200191505060405180910390f35b6114586142d9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6114a26142ff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b611550600480360360608110156114fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050614325565b604051808215151515815260200191505060405180910390f35b6115726145e1565b005b61157c6146d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b611600600480360360208110156115d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506146f6565b005b60108054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116985780601f1061166d57610100808354040283529160200191611698565b820191906000526020600020905b81548152906001019060200180831161167b57829003601f168201915b505050505081565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006116d73384846147fd565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061207061757365720000000000000000000081525060200191505060405180910390fd5b600760149054906101000a900460ff1615600760146101000a81548160ff021916908315150217905550565b600060011515600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611898576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d656c74000000000000000000000000000081525060200191505060405180910390fd5b6118a283836149f4565b8273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600660009054906101000a900460ff16905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f63616c6c6572206973206e6f742061646d696e206f662077686974656c69737481525060200191505060405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611aa057600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f51c4874e0f23f262e04a38c51751336dde72126d67f53eb672aaff02996b3ef660405160405180910390a3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ca8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b611cb28282614c26565b5050565b6000601554905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d1a57600080fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f02ad39e5173f89bdd5497202bd74024b5da045106c3163ddb078d2e89ff6d6de60405160405180910390a3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611eb957600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2e564b778e0bd386914daff857c4db4480f555c393032a2f0ab2d62de42c297760405160405180910390a3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d656c7465722061646d696e0000000000000081525060200191505060405180910390fd5b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006121266132b5565b156121ae57600115156121383361250c565b1515146121ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616e277420706572666f726d20616e20616374696f6e00000000000000000081525060200191505060405180910390fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180615eb2602d913960400191505060405180910390fd5b61223e848484614d3b565b6122d784336122d285601460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6147fd565b600190509392505050565b6000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146123cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f63616c6c6572206973206e6f742061646d696e206f662077686974656c69737481525060200191505060405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601260009054906101000a900460ff1681565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061250233846124fd85601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b6147fd565b6001905092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600060011515600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461262a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d656c74000000000000000000000000000081525060200191505060405180910390fd5b60008585905011612686576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526041815260200180615bd36041913960600191505060405180910390fd5b8282905085859050146126e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180615d4c603a913960400191505060405180910390fd5b60008090505b858590508110156127e55761273986868381811061270457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1685858481811061272d57fe5b905060200201356149f4565b85858281811061274557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8686858181106127bc57fe5b905060200201356040518082815260200191505060405180910390a380806001019150506126ea565b5060019050949350505050565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146128ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b6128c483836150ec565b6001905092915050565b600660009054906101000a900460ff16612950576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6275726e61626c653a2063616e2774206275726e00000000000000000000000081525060200191505060405180910390fd5b61295a33826153a3565b50565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146129b757600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f780008ae49c9be745883f9a2ca6d2e68e9063350aaa0782ee3f00316965d251560405160405180910390a3600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612bbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061207061757365720000000000000000000081525060200191505060405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612cc6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d656c7465722061646d696e0000000000000081525060200191505060405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612dd2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b60008585905011612e2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180615c86603a913960400191505060405180910390fd5b828290508585905014612e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180615d866033913960400191505060405180910390fd5b60008090505b85859050811015612eee57612ee1868683818110612eac57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858584818110612ed557fe5b905060200201356150ec565b8080600101915050612e92565b5060019050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612f5557600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514613162576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b600085859050116131be576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526041815260200180615bd36041913960600191505060405180910390fd5b82829050858590501461321c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180615d4c603a913960400191505060405180910390fd5b60008090505b8585905081101561327e5761327186868381811061323c57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1685858481811061326557fe5b90506020020135615542565b8080600101915050613222565b5060019050949350505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600760149054906101000a900460ff16905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461338f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d696e7465722061646d696e0000000000000081525060200191505060405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061346c61341e83615783565b601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b9050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061206275726e65720000000000000000000081525060200191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900460ff166135fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6275726e61626c653a2063616e2774206275726e00000000000000000000000081525060200191505060405180910390fd5b61360682826157cb565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60118054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156136ca5780601f1061369f576101008083540402835291602001916136ca565b820191906000526020600020905b8154815290600101906020018083116136ad57829003601f168201915b505050505081565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146137e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d696e7465722061646d696e0000000000000081525060200191505060405180910390fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b61390d82826153a3565b5050565b60006139ac33846139a785601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6147fd565b6001905092915050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613a7b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b613a858383615872565b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000613afe6132b5565b15613b865760011515613b103361250c565b151514613b85576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616e277420706572666f726d20616e20616374696f6e00000000000000000081525060200191505060405180910390fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613c0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180615eb2602d913960400191505060405180910390fd5b613c16338484614d3b565b6001905092915050565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514613ce8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b613cf28383615542565b6001905092915050565b600080849050613d0c85856116ca565b15613e5b578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613dea578082015181840152602081019050613dcf565b50505050905090810190601f168015613e175780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015613e3957600080fd5b505af1158015613e4d573d6000803e3d6000fd5b505050506001915050613e61565b60009150505b9392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613f51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d656c7465722061646d696e0000000000000081525060200191505060405180910390fd5b6001600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461400657600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167feee90df09f0bc4f2408d904f2b5c22873e54185001290d225b5b2ced5212814960405160405180910390a3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461420e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d696e7465722061646d696e0000000000000081525060200191505060405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146143ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415614470576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615e466025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156144f6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615b826023913960400191505060405180910390fd5b6145008483615a43565b5061450b8383615ae2565b508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f9958976925baa403abf86afa44976a9effff3e01931eafd0ea2689f40852fd59846040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146146a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061206275726e65720000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900460ff1615600660006101000a81548160ff021916908315150217905550565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146147b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614883576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180615e6b6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614909576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615c3a6022913960400191505060405180910390fd5b80601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615db96021913960400191505060405180910390fd5b60008111614ad3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180615cf46031913960400191505060405180910390fd5b80614add83615783565b1015614b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615ba5602e913960400191505060405180910390fd5b614b3e8282615a43565b50614b9181601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f0bb0b52882b12b41cdf6b733954f1133183ca85efebcda11b4506bc6926d326b826040518082815260200191505060405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180615e1e6028913960400191505060405180910390fd5b614cc181601554614fdb90919063ffffffff16565b601581905550614cd18282615a43565b503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615e466025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615b826023913960400191505060405180910390fd5b614e9981601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614f2e81601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115615053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b6000808284019050838110156150e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561518f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415615214576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615e8f6023913960400191505060405180910390fd5b6000811161528a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f45524332303a206d696e7420616d6f756e742073686f756c64206265203e203081525060200191505060405180910390fd5b61529f8160155461506490919063ffffffff16565b6015819055506152f781601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415615429576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615dfd6021913960400191505060405180910390fd5b61543e81601554614fdb90919063ffffffff16565b60158190555061549681601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156155c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180615c146026913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561564d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615c5c602a913960400191505060405180910390fd5b600081116156a6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180615d256027913960400191505060405180910390fd5b6156bb8160155461506490919063ffffffff16565b6015819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36157308282615ae2565b508173ffffffffffffffffffffffffffffffffffffffff167fba89ad6709373f454c31524e8c39cef3cdd4b0e8cfde0ccddbd419a2e488be6b826040518082815260200191505060405180910390a25050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6157d582826153a3565b61586e823361586984601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6147fd565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156158f8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615dda6023913960400191505060405180910390fd5b60008111615951576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180615cc06034913960400191505060405180910390fd5b6159a381601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506159f08282615ae2565b508173ffffffffffffffffffffffffffffffffffffffff167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0826040518082815260200191505060405180910390a25050565b6000615a96826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000615b35826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206d656c742066726f6d2074686520616464726573733a2062616c616e6365203c20616d6f756e746d696e74426174636846726f7a656e546f6b656e733a207472616e736665722073686f756c6420626520746f206174206c65617374206f6e65206164647265737345524332303a206d696e742066726f7a656e20746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206d696e742066726f7a656e20746f2074686520636f6e747261637420616464726573736d696e744261746368546f6b656e3a207472616e736665722073686f756c6420626520746f206174206c65617374206f6e65206164647265737345524332303a20667265657a652066726f6d2074686520616464726573733a20616d6f756e742073686f756c64206265203e203045524332303a206d656c742066726f6d2074686520616464726573733a2076616c75652073686f756c64206265203e203045524332303a206d696e742066726f7a656e20616d6f756e742073686f756c64206265203e20306d696e74426174636846726f7a656e546f6b656e733a20726563697069656e74732e6c656e67746820213d20616d6f756e74732e6c656e6774686d696e744261746368546f6b656e3a20726563697069656e74732e6c656e67746820213d20616d6f756e74732e6c656e67746845524332303a206d656c742066726f6d20746865207a65726f206164647265737345524332303a20667265657a652066726f6d20746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a2066726f7a656e206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a206d696e7420746f2074686520636f6e7472616374206164647265737363616e2774207472616e7366657220746f6b656e7320746f2074686520636f6e74726163742061646472657373a265627a7a723158209337a61fc535c248c79014e9e4258a6784b19b1543801dbe2aaeaa6be4dd1e0564736f6c634300050b0032

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000008477561726469616e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054755415244000000000000000000000000000000000000000000000000000000

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

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [4] : 477561726469616e000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [6] : 4755415244000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

8803:10000:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8803:10000:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8955: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;8955:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6880:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10686:148;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10686:148:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8270:79;;;:::i;:::-;;13892:205;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13892:205:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4164:84;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2769:114;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2769:114:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8470:184;;;:::i;:::-;;12609:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12609:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10020:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7339:219;;;:::i;:::-;;5930;;;:::i;:::-;;5683:111;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5683:111:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11309:365;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11309:365:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4256:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2891:118;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2891:118:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9007:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5471:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11684:206;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11684:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3017:114;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3017:114:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14779:553;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14779:553:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;14779:553:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;14779: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;14779:553:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;14779:553:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;14779: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;14779:553:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12124:143;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12124:143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12275:90;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12275:90:0;;;;;;;;;;;;;;;;;:::i;:::-;;3274:248;;;:::i;:::-;;8357:105;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8357:105:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5802:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5802:120:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12737:470;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12737:470:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;12737:470:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12737: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;12737:470:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;12737:470:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12737: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;12737:470:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1829:184;;;:::i;:::-;;14274:497;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14274:497:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;14274:497:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;14274: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;14274:497:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;14274:497:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;14274: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;14274:497:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2667:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8095:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7092:111;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7092:111:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4858:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10119:142;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10119:142:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4437:113;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4437:113:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12373:112;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12373:112:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1630:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8980: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;8980:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7647:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8181:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6979:105;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6979:105:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12493:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12493:108:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11900:216;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11900:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13676:208;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13676:208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10269:265;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10269:265:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14105:161;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14105:161:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10919:382;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10919:382:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;10919:382:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10919: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;10919: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;;10919:382:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6265:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5570:105;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5570:105:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4558:184;;;:::i;:::-;;7211:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7211:120:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10542:136;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10542:136:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2086:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1214:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13215:453;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13215:453:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4345:84;;;:::i;:::-;;3614:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1717:104;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1717:104:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8955:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6880:91::-;6924:7;6951:12;;;;;;;;;;;6944:19;;6880:91;:::o;10686:148::-;10751:4;10768:36;10777:10;10789:7;10798:5;10768:8;:36::i;:::-;10822:4;10815:11;;10686:148;;;;:::o;8270:79::-;7739:7;;;;;;;;;;;7725:21;;:10;:21;;;7717:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8334:7;;;;;;;;;;;8333:8;8323:7;;:18;;;;;;;;;;;;;;;;;;8270:79::o;13892:205::-;13972:4;5097;5073:28;;:8;:20;5082:10;5073:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;5064:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13989:22;13995:7;14004:6;13989:5;:22::i;:::-;14051:7;14027:40;;14044:4;14027:40;;;14060:6;14027:40;;;;;;;;;;;;;;;;;;14085:4;14078:11;;13892:205;;;;:::o;4164:84::-;4206:4;4230:10;;;;;;;;;;;4223:17;;4164:84;:::o;2769:114::-;2249:15;;;;;;;;;;;2235:29;;:10;:29;;;2227:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2871:4;2847:12;:21;2860:7;2847:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;2769:114;:::o;8470:184::-;7863:13;;;;;;;;;;;7849:27;;:10;:27;;;7841:36;;;;;;8561:13;;;;;;;;;;;8534:41;;8552:7;;;;;;;;;;;8534:41;;;;;;;;;;;;8596:13;;;;;;;;;;;8586:7;;:23;;;;;;;;;;;;;;;;;;8644:1;8620:13;;:26;;;;;;;;;;;;;;;;;;8470:184::o;12609:120::-;1304:6;;;;;;;;;;;1290:20;;:10;:20;;;1282:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12693:28;12705:7;12714:6;12693:11;:28::i;:::-;12609:120;;:::o;10020:91::-;10064:7;10091:12;;10084:19;;10020:91;:::o;7339:219::-;6628:18;;;;;;;;;;;6614:32;;:10;:32;;;6606:41;;;;;;7445:18;;;;;;;;;;;7413:51;;7431:12;;;;;;;;;;;7413:51;;;;;;;;;;;;7490:18;;;;;;;;;;;7475:12;;:33;;;;;;;;;;;;;;;;;;7548:1;7519:18;;:31;;;;;;;;;;;;;;;;;;7339:219::o;5930:::-;5219:18;;;;;;;;;;;5205:32;;:10;:32;;;5197:41;;;;;;6036:18;;;;;;;;;;;6004:51;;6022:12;;;;;;;;;;;6004:51;;;;;;;;;;;;6081:18;;;;;;;;;;;6066:12;;:33;;;;;;;;;;;;;;;;;;6139:1;6110:18;;:31;;;;;;;;;;;;;;;;;;5930:219::o;5683:111::-;4961:12;;;;;;;;;;;4947:26;;:10;:26;;;4938:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5781:5;5761:8;:17;5770:7;5761:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;5683:111;:::o;11309:365::-;11410:4;9244:8;:6;:8::i;:::-;9241:109;;;9306:4;9277:33;;:25;9291:10;9277:13;:25::i;:::-;:33;;;9268:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9241:109;11456:4;11435:26;;:9;:26;;;;11427:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11524:36;11534:6;11542:9;11553:6;11524:9;:36::i;:::-;11571:73;11580:6;11588:10;11600:43;11636:6;11600:11;:19;11612:6;11600:19;;;;;;;;;;;;;;;:31;11620:10;11600:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;11571:8;:73::i;:::-;11662:4;11655:11;;11309:365;;;;;:::o;4256:81::-;4295:7;4322;;;;;;;;;;;4315:14;;4256:81;:::o;2891:118::-;2249:15;;;;;;;;;;;2235:29;;:10;:29;;;2227:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2996:5;2972:12;:21;2985:7;2972:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;2891:118;:::o;9007:21::-;;;;;;;;;;;;;:::o;5471:91::-;5515:7;5542:12;;;;;;;;;;;5535:19;;5471:91;:::o;11684:206::-;11764:4;11781:79;11790:10;11802:7;11811:48;11848:10;11811:11;:23;11823:10;11811:23;;;;;;;;;;;;;;;:32;11835:7;11811:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;11781:8;:79::i;:::-;11878:4;11871:11;;11684:206;;;;:::o;3017:114::-;3078:4;3102:12;:21;3115:7;3102:21;;;;;;;;;;;;;;;;;;;;;;;;;3095:28;;3017:114;;;:::o;14779:553::-;14890:4;5097;5073:28;;:8;:20;5082:10;5073:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;5064:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14933:1;14915:8;;:15;;:19;14907:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15042:7;;:14;;15023:8;;:15;;:33;15015:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15135:9;15147:1;15135:13;;15130:171;15154:8;;:15;;15150:1;:19;15130:171;;;15191:30;15197:8;;15206:1;15197:11;;;;;;;;;;;;;;;15210:7;;15218:1;15210:10;;;;;;;;;;;;;15191:5;:30::i;:::-;15265:8;;15274:1;15265:11;;;;;;;;;;;;;;;15241:48;;15258:4;15241:48;;;15278:7;;15286:1;15278:10;;;;;;;;;;;;;15241:48;;;;;;;;;;;;;;;;;;15171:3;;;;;;;15130:171;;;;15320:4;15313:11;;14779:553;;;;;;:::o;12124:143::-;12198:4;6506;6482:28;;:8;:20;6491:10;6482:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;6473:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12215:22;12221:7;12230:6;12215:5;:22::i;:::-;12255:4;12248:11;;12124:143;;;;:::o;12275:90::-;3690:10;;;;;;;;;;;3682:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12332:25;12338:10;12350:6;12332:5;:25::i;:::-;12275:90;:::o;3274:248::-;2399:21;;;;;;;;;;;2385:35;;:10;:35;;;2377:44;;;;;;3397:21;;;;;;;;;;;3354:65;;3380:15;;;;;;;;;;;3354:65;;;;;;;;;;;;3448:21;;;;;;;;;;;3430:15;;:39;;;;;;;;;;;;;;;;;;3512:1;3480:21;;:34;;;;;;;;;;;;;;;;;;3274:248::o;8357:105::-;7739:7;;;;;;;;;;;7725:21;;:10;:21;;;7717:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8445:9;8429:13;;:25;;;;;;;;;;;;;;;;;;8357:105;:::o;5802:120::-;4961:12;;;;;;;;;;;4947:26;;:10;:26;;;4938:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5905:9;5884:18;;:30;;;;;;;;;;;;;;;;;;5802:120;:::o;12737:470::-;12847:4;6506;6482:28;;:8;:20;6491:10;6482:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;6473:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12890:1;12872:8;;:15;;:19;12864:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12992:7;;:14;;12973:8;;:15;;:33;12965:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13078:9;13090:1;13078:13;;13073:103;13097:8;;:15;;13093:1;:19;13073:103;;;13134:30;13140:8;;13149:1;13140:11;;;;;;;;;;;;;;;13153:7;;13161:1;13153:10;;;;;;;;;;;;;13134:5;:30::i;:::-;13114:3;;;;;;;13073:103;;;;13195:4;13188:11;;12737:470;;;;;;:::o;1829:184::-;1427:12;;;;;;;;;;;1413:26;;:10;:26;;;1405:35;;;;;;1924:12;;;;;;;;;;;1895:42;;1916:6;;;;;;;;;;;1895:42;;;;;;;;;;;;1957:12;;;;;;;;;;;1948:6;;:21;;;;;;;;;;;;;;;;;;2003:1;1980:12;;:25;;;;;;;;;;;;;;;;;;1829:184::o;14274:497::-;14391:4;6506;6482:28;;:8;:20;6491:10;6482:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;6473:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14434:1;14416:8;;:15;;:19;14408:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14543:7;;:14;;14524:8;;:15;;:33;14516:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14636:9;14648:1;14636:13;;14631:109;14655:8;;:15;;14651:1;:19;14631:109;;;14692:36;14704:8;;14713:1;14704:11;;;;;;;;;;;;;;;14717:7;;14725:1;14717:10;;;;;;;;;;;;;14692:11;:36::i;:::-;14672:3;;;;;;;14631:109;;;;14759:4;14752:11;;14274:497;;;;;;:::o;2667:96::-;2714:7;2740:15;;;;;;;;;;;2733:22;;2667:96;:::o;8095:78::-;8134:4;8158:7;;;;;;;;;;;8151:14;;8095:78;:::o;7092:111::-;6370:12;;;;;;;;;;;6356:26;;:10;:26;;;6347:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7190:5;7170:8;:17;7179:7;7170:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;7092:111;:::o;4858:33::-;;;;;;;;;;;;;:::o;10119:142::-;10176:7;10203:50;10226:26;10244:7;10226:17;:26::i;:::-;10203:9;:18;10213:7;10203:18;;;;;;;;;;;;;;;;:22;;:50;;;;:::i;:::-;10196:57;;10119:142;;;:::o;4437:113::-;3808:7;;;;;;;;;;;3794:21;;:10;:21;;;3786:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4533:9;4517:13;;:25;;;;;;;;;;;;;;;;;;4437:113;:::o;12373:112::-;3690:10;;;;;;;;;;;3682:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12451:26;12461:7;12470:6;12451:9;:26::i;:::-;12373:112;;:::o;1630:79::-;1668:7;1695:6;;;;;;;;;;;1688:13;;1630:79;:::o;8980:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7647:28::-;;;;;;;;;;;;;:::o;8181:81::-;8220:7;8247;;;;;;;;;;;8240:14;;8181:81;:::o;6979:105::-;6370:12;;;;;;;;;;;6356:26;;:10;:26;;;6347:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7072:4;7052:8;:17;7061:7;7052:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;6979:105;:::o;12493:108::-;1304:6;;;;;;;;;;;1290:20;;:10;:20;;;1282:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12571:22;12577:7;12586:6;12571:5;:22::i;:::-;12493:108;;:::o;11900:216::-;11985:4;12002:84;12011:10;12023:7;12032:53;12069:15;12032:11;:23;12044:10;12032:23;;;;;;;;;;;;;;;:32;12056:7;12032:32;;;;;;;;;;;;;;;;:36;;:53;;;;:::i;:::-;12002:8;:84::i;:::-;12104:4;12097:11;;11900:216;;;;:::o;13676:208::-;13757:4;1304:6;;;;;;;;;;;1290:20;;:10;:20;;;1282:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13774:24;13782:7;13791:6;13774:7;:24::i;:::-;13840:4;13814:40;;13823:7;13814:40;;;13847:6;13814:40;;;;;;;;;;;;;;;;;;13872:4;13865:11;;13676:208;;;;:::o;10269:265::-;10350:4;9244:8;:6;:8::i;:::-;9241:109;;;9306:4;9277:33;;:25;9291:10;9277:13;:25::i;:::-;:33;;;9268:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9241:109;10396:4;10375:26;;:9;:26;;;;10367:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10464:40;10474:10;10486:9;10497:6;10464:9;:40::i;:::-;10522:4;10515:11;;10269:265;;;;:::o;14105:161::-;14191:4;6506;6482:28;;:8;:20;6491:10;6482:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;6473:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14208:28;14220:7;14229:6;14208:11;:28::i;:::-;14254:4;14247:11;;14105:161;;;;:::o;10919:382::-;11018:4;11035:22;11075:8;11035:49;;11099:25;11107:8;11117:6;11099:7;:25::i;:::-;11095:199;;;11141:7;:23;;;11165:10;11177:6;11193:4;11200:10;11141: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;11141:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11141:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11141:70:0;;;;11233:4;11226:11;;;;;11095:199;11277:5;11270:12;;;10919:382;;;;;;:::o;6265:33::-;;;;;;;;;;;;;:::o;5570:105::-;4961:12;;;;;;;;;;;4947:26;;:10;:26;;;4938:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5663:4;5643:8;:17;5652:7;5643:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;5570:105;:::o;4558:184::-;3932:13;;;;;;;;;;;3918:27;;:10;:27;;;3910:36;;;;;;4649:13;;;;;;;;;;;4622:41;;4640:7;;;;;;;;;;;4622:41;;;;;;;;;;;;4684:13;;;;;;;;;;;4674:7;;:23;;;;;;;;;;;;;;;;;;4732:1;4708:13;;:26;;;;;;;;;;;;;;;;;;4558:184::o;7211:120::-;6370:12;;;;;;;;;;;6356:26;;:10;:26;;;6347:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7314:9;7293:18;;:30;;;;;;;;;;;;;;;;;;7211:120;:::o;10542:136::-;10615:7;10642:11;:19;10654:6;10642:19;;;;;;;;;;;;;;;:28;10662:7;10642:28;;;;;;;;;;;;;;;;10635:35;;10542:136;;;;:::o;2086:36::-;;;;;;;;;;;;;:::o;1214:27::-;;;;;;;;;;;;;:::o;13215:453::-;13312:4;1304:6;;;;;;;;;;;1290:20;;:10;:20;;;1282:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13353:1;13337:18;;:4;:18;;;;13329:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13430:1;13416:16;;:2;:16;;;;13408:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13485:25;13497:4;13503:6;13485:11;:25::i;:::-;;13521:23;13533:2;13537:6;13521:11;:23::i;:::-;;13583:2;13562:32;;13577:4;13562:32;;;13587:6;13562:32;;;;;;;;;;;;;;;;;;13625:2;13610:26;;13619:4;13610:26;;;13629:6;13610:26;;;;;;;;;;;;;;;;;;13656:4;13649:11;;13215:453;;;;;:::o;4345:84::-;3808:7;;;;;;;;;;;3794:21;;:10;:21;;;3786:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4411:10;;;;;;;;;;;4410:11;4397:10;;:24;;;;;;;;;;;;;;;;;;4345:84::o;3614:28::-;;;;;;;;;;;;;:::o;1717:104::-;1304:6;;;;;;;;;;;1290:20;;:10;:20;;;1282:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1805:8;1790:12;;:23;;;;;;;;;;;;;;;;;;1717:104;:::o;16564:339::-;16676:1;16658:20;;:6;:20;;;;16650:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16757:1;16738:21;;:7;:21;;;;16730:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16842:5;16811:11;:19;16823:6;16811:19;;;;;;;;;;;;;;;:28;16831:7;16811:28;;;;;;;;;;;;;;;:36;;;;16880:7;16863:32;;16872:6;16863:32;;;16889:5;16863:32;;;;;;;;;;;;;;;;;;16564:339;;;:::o;18013:474::-;18108:1;18089:21;;:7;:21;;;;18081:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18176:1;18167:6;:10;18159:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18280:6;18250:26;18268:7;18250:17;:26::i;:::-;:36;;18242:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18350:28;18362:7;18371:6;18350:11;:28::i;:::-;;18410:30;18433:6;18410:9;:18;18420:7;18410:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;18389:9;:18;18399:7;18389:18;;;;;;;;;;;;;;;:51;;;;18463:7;18458:21;;;18472:6;18458:21;;;;;;;;;;;;;;;;;;18013:474;;:::o;18495:305::-;18596:1;18577:21;;:7;:21;;;;18569:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18671:24;18688:6;18671:12;;:16;;:24;;;;:::i;:::-;18656:12;:39;;;;18706:28;18718:7;18727:6;18706:11;:28::i;:::-;;18778:4;18752:40;;18761:7;18752:40;;;18785:6;18752:40;;;;;;;;;;;;;;;;;;18495:305;;:::o;15340:429::-;15456:1;15438:20;;:6;:20;;;;15430:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15540:1;15519:23;;:9;:23;;;;15511:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15615:29;15637:6;15615:9;:17;15625:6;15615:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;15595:9;:17;15605:6;15595:17;;;;;;;;;;;;;;;:49;;;;15678:32;15703:6;15678:9;:20;15688:9;15678:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;15655:9;:20;15665:9;15655:20;;;;;;;;;;;;;;;:55;;;;15743:9;15726:35;;15735:6;15726:35;;;15754:6;15726:35;;;;;;;;;;;;;;;;;;15340:429;;;:::o;314:184::-;372:7;405:1;400;:6;;392:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;452:9;468:1;464;:5;452:17;;489:1;482:8;;;314:184;;;;:::o;125:181::-;183:7;203:9;219:1;215;:5;203:17;;244:1;239;:6;;231:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;297:1;290:8;;;125:181;;;;:::o;15779:460::-;15874:1;15855:21;;:7;:21;;;;15847:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15950:4;15931:24;;:7;:24;;;;15923:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16023:1;16014:6;:10;16006:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16089:24;16106:6;16089:12;;:16;;:24;;;;:::i;:::-;16074:12;:39;;;;16145:30;16168:6;16145:9;:18;16155:7;16145:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;16124:9;:18;16134:7;16124:18;;;;;;;;;;;;;;;:51;;;;16215:7;16191:40;;16208:4;16191:40;;;16224:6;16191:40;;;;;;;;;;;;;;;;;;15779:460;;:::o;16247:309::-;16341:1;16322:21;;:7;:21;;;;16314:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16409:23;16426:5;16409:12;;:16;;:23;;;;:::i;:::-;16394:12;:38;;;;16464:29;16487:5;16464:9;:18;16474:7;16464:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;16443:9;:18;16453:7;16443:18;;;;;;;;;;;;;;;:50;;;;16535:4;16509:39;;16518:7;16509:39;;;16542:5;16509:39;;;;;;;;;;;;;;;;;;16247:309;;:::o;17492:513::-;17593:1;17574:21;;:7;:21;;;;17566:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17676:4;17657:24;;:7;:24;;;;17649:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17756:1;17747:6;:10;17739:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17829:24;17846:6;17829:12;;:16;;:24;;;;:::i;:::-;17814:12;:39;;;;17895:7;17871:40;;17888:4;17871:40;;;17904:6;17871:40;;;;;;;;;;;;;;;;;;17924:28;17936:7;17945:6;17924:11;:28::i;:::-;;17981:7;17970:27;;;17990:6;17970:27;;;;;;;;;;;;;;;;;;17492:513;;:::o;1029:125::-;1097:4;1121:15;:25;1137:8;1121:25;;;;;;;;;;;;;;;;1114:32;;1029:125;;;:::o;16911:188::-;16983:22;16989:7;16998:6;16983:5;:22::i;:::-;17016:75;17025:7;17034:10;17046:44;17083:6;17046:11;:20;17058:7;17046:20;;;;;;;;;;;;;;;:32;17067:10;17046:32;;;;;;;;;;;;;;;;:36;;:44;;;;:::i;:::-;17016:8;:75::i;:::-;16911:188;;:::o;17107:377::-;17204:1;17185:21;;:7;:21;;;;17177:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17274:1;17265:6;:10;17257:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17366:30;17389:6;17366:9;:18;17376:7;17366:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;17345:9;:18;17355:7;17345:18;;;;;;;;;;;;;;;:51;;;;17407:28;17419:7;17428:6;17407:11;:28::i;:::-;;17460:7;17453:23;;;17469:6;17453:23;;;;;;;;;;;;;;;;;;17107:377;;:::o;834:187::-;908:4;953:38;983:7;953:15;:25;969:8;953:25;;;;;;;;;;;;;;;;:29;;:38;;;;:::i;:::-;925:15;:25;941:8;925:25;;;;;;;;;;;;;;;:66;;;;1009:4;1002:11;;834:187;;;;:::o;639:::-;713:4;758:38;788:7;758:15;:25;774:8;758:25;;;;;;;;;;;;;;;;:29;;:38;;;;:::i;:::-;730:15;:25;746:8;730:25;;;;;;;;;;;;;;;:66;;;;814:4;807:11;;639:187;;;;:::o

Swarm Source

bzzr://9337a61fc535c248c79014e9e4258a6784b19b1543801dbe2aaeaa6be4dd1e05
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.