ETH Price: $2,523.82 (+0.20%)

Token

BERNIE (BERNIE)
 

Overview

Max Total Supply

420,000,000,000 BERNIE

Holders

8

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,704,000,000 BERNIE

Value
$0.00
0x0E05f67CFCD49957b2Ed356C7f9DB89960d580C5
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:
BERNIE

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-26
*/

/**
 
*/

/**


https://bernies.io
https://t.me/Bernieportal
https://twitter.com/bernieerc20?s=21

⠀⠀⠀⠀

**/

pragma solidity 0.8.17;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

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

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

contract BERNIE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=30;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=10;
    uint256 private _reduceSellTaxAt=35;
    uint256 private _preventSwapBefore=10;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420000000000 * 10**_decimals;
    string private constant _name = unicode"BERNIE"; 
    string private constant _symbol = unicode"BERNIE"; 
    uint256 public _maxTxAmount =   6300000000 * 10**_decimals;
    uint256 public _maxWalletSize = 6300000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 4200000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 4200000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

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

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

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

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


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

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

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

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

    
    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526001600660006101000a81548160ff0219169083151502179055506014600755601e60085560006009556000600a55600a600b556023600c55600a600d556000600e556009600a62000057919062000633565b640177825f0062000069919062000684565b600f556009600a6200007c919062000633565b640177825f006200008e919062000684565b6010556009600a620000a1919062000633565b63fa56ea00620000b2919062000684565b6011556009600a620000c5919062000633565b63fa56ea00620000d6919062000684565b6012556000601460156101000a81548160ff0219169083151502179055506000601460166101000a81548160ff0219169083151502179055503480156200011c57600080fd5b5060006200012f6200046860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001dd6200046860201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200022d919062000633565b6461c9f368006200023f919062000684565b60016000620002536200046860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002a76200047060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003da6200046860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000439919062000633565b6461c9f368006200044b919062000684565b6040516200045a9190620006e0565b60405180910390a3620006fd565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200052757808604811115620004ff57620004fe62000499565b5b60018516156200050f5780820291505b80810290506200051f85620004c8565b9450620004df565b94509492505050565b60008262000542576001905062000615565b8162000552576000905062000615565b81600181146200056b57600281146200057657620005ac565b600191505062000615565b60ff8411156200058b576200058a62000499565b5b8360020a915084821115620005a557620005a462000499565b5b5062000615565b5060208310610133831016604e8410600b8410161715620005e65782820a905083811115620005e057620005df62000499565b5b62000615565b620005f58484846001620004d5565b925090508184048111156200060f576200060e62000499565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000640826200061c565b91506200064d8362000626565b92506200067c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000530565b905092915050565b600062000691826200061c565b91506200069e836200061c565b9250828202620006ae816200061c565b91508282048414831517620006c857620006c762000499565b5b5092915050565b620006da816200061c565b82525050565b6000602082019050620006f76000830184620006cf565b92915050565b6138c1806200070d6000396000f3fe60806040526004361061014f5760003560e01c80637d1db4a5116100b6578063c876d0b91161006f578063c876d0b91461047d578063c9567bf9146104a8578063d34628cc146104bf578063dd62ed3e146104e8578063ec1f3f6314610525578063f2fde38b1461054e57610156565b80637d1db4a5146103695780638da5cb5b146103945780638f9a55c0146103bf57806395d89b41146103ea578063a9059cbb14610415578063bf474bed1461045257610156565b806331c2d8471161010857806331c2d847146102815780633bbac579146102aa57806351bc3c85146102e757806370a08231146102fe578063715018a61461033b578063751039fc1461035257610156565b806306fdde031461015b578063095ea7b3146101865780630faee56f146101c357806318160ddd146101ee57806323b872dd14610219578063313ce5671461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610577565b60405161017d919061272e565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a891906127f8565b6105b4565b6040516101ba9190612853565b60405180910390f35b3480156101cf57600080fd5b506101d86105d2565b6040516101e5919061287d565b60405180910390f35b3480156101fa57600080fd5b506102036105d8565b604051610210919061287d565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b9190612898565b6105fd565b60405161024d9190612853565b60405180910390f35b34801561026257600080fd5b5061026b6106d6565b6040516102789190612907565b60405180910390f35b34801561028d57600080fd5b506102a860048036038101906102a39190612a6a565b6106df565b005b3480156102b657600080fd5b506102d160048036038101906102cc9190612ab3565b610809565b6040516102de9190612853565b60405180910390f35b3480156102f357600080fd5b506102fc61085f565b005b34801561030a57600080fd5b5061032560048036038101906103209190612ab3565b6108fc565b604051610332919061287d565b60405180910390f35b34801561034757600080fd5b50610350610945565b005b34801561035e57600080fd5b50610367610a98565b005b34801561037557600080fd5b5061037e610be6565b60405161038b919061287d565b60405180910390f35b3480156103a057600080fd5b506103a9610bec565b6040516103b69190612aef565b60405180910390f35b3480156103cb57600080fd5b506103d4610c15565b6040516103e1919061287d565b60405180910390f35b3480156103f657600080fd5b506103ff610c1b565b60405161040c919061272e565b60405180910390f35b34801561042157600080fd5b5061043c600480360381019061043791906127f8565b610c58565b6040516104499190612853565b60405180910390f35b34801561045e57600080fd5b50610467610c76565b604051610474919061287d565b60405180910390f35b34801561048957600080fd5b50610492610c7c565b60405161049f9190612853565b60405180910390f35b3480156104b457600080fd5b506104bd610c8f565b005b3480156104cb57600080fd5b506104e660048036038101906104e19190612a6a565b6111c5565b005b3480156104f457600080fd5b5061050f600480360381019061050a9190612b0a565b6112ef565b60405161051c919061287d565b60405180910390f35b34801561053157600080fd5b5061054c60048036038101906105479190612b4a565b611376565b005b34801561055a57600080fd5b5061057560048036038101906105709190612bb5565b611405565b005b60606040518060400160405280600681526020017f4245524e49450000000000000000000000000000000000000000000000000000815250905090565b60006105c86105c1611557565b848461155f565b6001905092915050565b60125481565b60006009600a6105e89190612d44565b6461c9f368006105f89190612d8f565b905090565b600061060a848484611728565b6106cb84610616611557565b6106c68560405180606001604052806028815260200161386460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067c611557565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216d9092919063ffffffff16565b61155f565b600190509392505050565b60006009905090565b6106e7611557565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076b90612e1d565b60405180910390fd5b60005b81518110156108055760006004600084848151811061079957610798612e3d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806107fd90612e6c565b915050610777565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108a0611557565b73ffffffffffffffffffffffffffffffffffffffff16146108c057600080fd5b60006108cb306108fc565b905060008111156108e0576108df816121d1565b5b600047905060008111156108f8576108f78161244a565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61094d611557565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d190612e1d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610aa0611557565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2490612e1d565b60405180910390fd5b6009600a610b3b9190612d44565b6461c9f36800610b4b9190612d8f565b600f819055506009600a610b5f9190612d44565b6461c9f36800610b6f9190612d8f565b6010819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610bbf9190612d44565b6461c9f36800610bcf9190612d8f565b604051610bdc919061287d565b60405180910390a1565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f4245524e49450000000000000000000000000000000000000000000000000000815250905090565b6000610c6c610c65611557565b8484611728565b6001905092915050565b60115481565b600660009054906101000a900460ff1681565b610c97611557565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b90612e1d565b60405180910390fd5b60148054906101000a900460ff1615610d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6990612f00565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e1130601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610dfc9190612d44565b6461c9f36800610e0c9190612d8f565b61155f565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea29190612f35565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4f9190612f35565b6040518363ffffffff1660e01b8152600401610f6c929190612f62565b6020604051808303816000875af1158015610f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610faf9190612f35565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611038306108fc565b600080611043610bec565b426040518863ffffffff1660e01b815260040161106596959493929190612fd0565b60606040518083038185885af1158015611083573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110a89190613046565b505050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161114a929190613099565b6020604051808303816000875af1158015611169573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118d91906130ee565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b6111cd611557565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461125a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125190612e1d565b60405180910390fd5b60005b81518110156112eb5760016004600084848151811061127f5761127e612e3d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806112e390612e6c565b91505061125d565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113b7611557565b73ffffffffffffffffffffffffffffffffffffffff16146113d757600080fd5b60095481111580156113eb5750600a548111155b6113f457600080fd5b8060098190555080600a8190555050565b61140d611557565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461149a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149190612e1d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c59061318d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361163d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116349061321f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161171b919061287d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178e906132b1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611806576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fd90613343565b60405180910390fd5b60008111611849576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611840906133d5565b60405180910390fd5b6000611853610bec565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118c15750611891610bec565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611eb057600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561196a5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61197357600080fd5b6119af60646119a1600b54600e541161198e57600754611992565b6009545b856124b690919063ffffffff16565b61253090919063ffffffff16565b9050600660009054906101000a900460ff1615611b3e57601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a725750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b3d5743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef9061348d565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611be95750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c3f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cfa57600f54821115611c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c80906134f9565b60405180910390fd5b60105482611c96856108fc565b611ca09190613519565b1115611ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd890613599565b60405180910390fd5b600e6000815480929190611cf490612e6c565b91905055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d8357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611dc757611dc46064611db6600c54600e5411611da357600854611da7565b600a545b856124b690919063ffffffff16565b61253090919063ffffffff16565b90505b6000611dd2306108fc565b9050601460159054906101000a900460ff16158015611e3e5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611e565750601460169054906101000a900460ff165b8015611e63575060115481115b8015611e725750600d54600e54115b15611eae57611e94611e8f84611e8a8460125461257a565b61257a565b6121d1565b60004790506000811115611eac57611eab4761244a565b5b505b505b6000811115611fb457611f0b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fab919061287d565b60405180910390a35b61200682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125f190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120ad61205f82846125f190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61215284866125f190919063ffffffff16565b60405161215f919061287d565b60405180910390a350505050565b60008383111582906121b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ac919061272e565b60405180910390fd5b50600083856121c491906135b9565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561220957612208612927565b5b6040519080825280602002602001820160405280156122375781602001602082028036833780820191505090505b509050308160008151811061224f5761224e612e3d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061231a9190612f35565b8160018151811061232e5761232d612e3d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061239530601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461155f565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123f99594939291906136ab565b600060405180830381600087803b15801561241357600080fd5b505af1158015612427573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156124b2573d6000803e3d6000fd5b5050565b60008083036124c8576000905061252a565b600082846124d69190612d8f565b90508284826124e59190613734565b14612525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251c906137d7565b60405180910390fd5b809150505b92915050565b600061257283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061263b565b905092915050565b6000818311612589578261258b565b815b905092915050565b60008082846125a29190613519565b9050838110156125e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125de90613843565b60405180910390fd5b8091505092915050565b600061263383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061216d565b905092915050565b60008083118290612682576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612679919061272e565b60405180910390fd5b50600083856126919190613734565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126d85780820151818401526020810190506126bd565b60008484015250505050565b6000601f19601f8301169050919050565b60006127008261269e565b61270a81856126a9565b935061271a8185602086016126ba565b612723816126e4565b840191505092915050565b6000602082019050818103600083015261274881846126f5565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061278f82612764565b9050919050565b61279f81612784565b81146127aa57600080fd5b50565b6000813590506127bc81612796565b92915050565b6000819050919050565b6127d5816127c2565b81146127e057600080fd5b50565b6000813590506127f2816127cc565b92915050565b6000806040838503121561280f5761280e61275a565b5b600061281d858286016127ad565b925050602061282e858286016127e3565b9150509250929050565b60008115159050919050565b61284d81612838565b82525050565b60006020820190506128686000830184612844565b92915050565b612877816127c2565b82525050565b6000602082019050612892600083018461286e565b92915050565b6000806000606084860312156128b1576128b061275a565b5b60006128bf868287016127ad565b93505060206128d0868287016127ad565b92505060406128e1868287016127e3565b9150509250925092565b600060ff82169050919050565b612901816128eb565b82525050565b600060208201905061291c60008301846128f8565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61295f826126e4565b810181811067ffffffffffffffff8211171561297e5761297d612927565b5b80604052505050565b6000612991612750565b905061299d8282612956565b919050565b600067ffffffffffffffff8211156129bd576129bc612927565b5b602082029050602081019050919050565b600080fd5b60006129e66129e1846129a2565b612987565b90508083825260208201905060208402830185811115612a0957612a086129ce565b5b835b81811015612a325780612a1e88826127ad565b845260208401935050602081019050612a0b565b5050509392505050565b600082601f830112612a5157612a50612922565b5b8135612a618482602086016129d3565b91505092915050565b600060208284031215612a8057612a7f61275a565b5b600082013567ffffffffffffffff811115612a9e57612a9d61275f565b5b612aaa84828501612a3c565b91505092915050565b600060208284031215612ac957612ac861275a565b5b6000612ad7848285016127ad565b91505092915050565b612ae981612784565b82525050565b6000602082019050612b046000830184612ae0565b92915050565b60008060408385031215612b2157612b2061275a565b5b6000612b2f858286016127ad565b9250506020612b40858286016127ad565b9150509250929050565b600060208284031215612b6057612b5f61275a565b5b6000612b6e848285016127e3565b91505092915050565b6000612b8282612764565b9050919050565b612b9281612b77565b8114612b9d57600080fd5b50565b600081359050612baf81612b89565b92915050565b600060208284031215612bcb57612bca61275a565b5b6000612bd984828501612ba0565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612c6857808604811115612c4457612c43612be2565b5b6001851615612c535780820291505b8081029050612c6185612c11565b9450612c28565b94509492505050565b600082612c815760019050612d3d565b81612c8f5760009050612d3d565b8160018114612ca55760028114612caf57612cde565b6001915050612d3d565b60ff841115612cc157612cc0612be2565b5b8360020a915084821115612cd857612cd7612be2565b5b50612d3d565b5060208310610133831016604e8410600b8410161715612d135782820a905083811115612d0e57612d0d612be2565b5b612d3d565b612d208484846001612c1e565b92509050818404811115612d3757612d36612be2565b5b81810290505b9392505050565b6000612d4f826127c2565b9150612d5a836128eb565b9250612d877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c71565b905092915050565b6000612d9a826127c2565b9150612da5836127c2565b9250828202612db3816127c2565b91508282048414831517612dca57612dc9612be2565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e076020836126a9565b9150612e1282612dd1565b602082019050919050565b60006020820190508181036000830152612e3681612dfa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e77826127c2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ea957612ea8612be2565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612eea6017836126a9565b9150612ef582612eb4565b602082019050919050565b60006020820190508181036000830152612f1981612edd565b9050919050565b600081519050612f2f81612796565b92915050565b600060208284031215612f4b57612f4a61275a565b5b6000612f5984828501612f20565b91505092915050565b6000604082019050612f776000830185612ae0565b612f846020830184612ae0565b9392505050565b6000819050919050565b6000819050919050565b6000612fba612fb5612fb084612f8b565b612f95565b6127c2565b9050919050565b612fca81612f9f565b82525050565b600060c082019050612fe56000830189612ae0565b612ff2602083018861286e565b612fff6040830187612fc1565b61300c6060830186612fc1565b6130196080830185612ae0565b61302660a083018461286e565b979650505050505050565b600081519050613040816127cc565b92915050565b60008060006060848603121561305f5761305e61275a565b5b600061306d86828701613031565b935050602061307e86828701613031565b925050604061308f86828701613031565b9150509250925092565b60006040820190506130ae6000830185612ae0565b6130bb602083018461286e565b9392505050565b6130cb81612838565b81146130d657600080fd5b50565b6000815190506130e8816130c2565b92915050565b6000602082840312156131045761310361275a565b5b6000613112848285016130d9565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131776024836126a9565b91506131828261311b565b604082019050919050565b600060208201905081810360008301526131a68161316a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132096022836126a9565b9150613214826131ad565b604082019050919050565b60006020820190508181036000830152613238816131fc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061329b6025836126a9565b91506132a68261323f565b604082019050919050565b600060208201905081810360008301526132ca8161328e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061332d6023836126a9565b9150613338826132d1565b604082019050919050565b6000602082019050818103600083015261335c81613320565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006133bf6029836126a9565b91506133ca82613363565b604082019050919050565b600060208201905081810360008301526133ee816133b2565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006134776049836126a9565b9150613482826133f5565b606082019050919050565b600060208201905081810360008301526134a68161346a565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006134e36019836126a9565b91506134ee826134ad565b602082019050919050565b60006020820190508181036000830152613512816134d6565b9050919050565b6000613524826127c2565b915061352f836127c2565b925082820190508082111561354757613546612be2565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613583601a836126a9565b915061358e8261354d565b602082019050919050565b600060208201905081810360008301526135b281613576565b9050919050565b60006135c4826127c2565b91506135cf836127c2565b92508282039050818111156135e7576135e6612be2565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61362281612784565b82525050565b60006136348383613619565b60208301905092915050565b6000602082019050919050565b6000613658826135ed565b61366281856135f8565b935061366d83613609565b8060005b8381101561369e5781516136858882613628565b975061369083613640565b925050600181019050613671565b5085935050505092915050565b600060a0820190506136c0600083018861286e565b6136cd6020830187612fc1565b81810360408301526136df818661364d565b90506136ee6060830185612ae0565b6136fb608083018461286e565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061373f826127c2565b915061374a836127c2565b92508261375a57613759613705565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006137c16021836126a9565b91506137cc82613765565b604082019050919050565b600060208201905081810360008301526137f0816137b4565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061382d601b836126a9565b9150613838826137f7565b602082019050919050565b6000602082019050818103600083015261385c81613820565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220eed611e264da58efba700f1abd503c3f0b885d17c3f5129d2054f507a9f09e6064736f6c63430008110033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c80637d1db4a5116100b6578063c876d0b91161006f578063c876d0b91461047d578063c9567bf9146104a8578063d34628cc146104bf578063dd62ed3e146104e8578063ec1f3f6314610525578063f2fde38b1461054e57610156565b80637d1db4a5146103695780638da5cb5b146103945780638f9a55c0146103bf57806395d89b41146103ea578063a9059cbb14610415578063bf474bed1461045257610156565b806331c2d8471161010857806331c2d847146102815780633bbac579146102aa57806351bc3c85146102e757806370a08231146102fe578063715018a61461033b578063751039fc1461035257610156565b806306fdde031461015b578063095ea7b3146101865780630faee56f146101c357806318160ddd146101ee57806323b872dd14610219578063313ce5671461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610577565b60405161017d919061272e565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a891906127f8565b6105b4565b6040516101ba9190612853565b60405180910390f35b3480156101cf57600080fd5b506101d86105d2565b6040516101e5919061287d565b60405180910390f35b3480156101fa57600080fd5b506102036105d8565b604051610210919061287d565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b9190612898565b6105fd565b60405161024d9190612853565b60405180910390f35b34801561026257600080fd5b5061026b6106d6565b6040516102789190612907565b60405180910390f35b34801561028d57600080fd5b506102a860048036038101906102a39190612a6a565b6106df565b005b3480156102b657600080fd5b506102d160048036038101906102cc9190612ab3565b610809565b6040516102de9190612853565b60405180910390f35b3480156102f357600080fd5b506102fc61085f565b005b34801561030a57600080fd5b5061032560048036038101906103209190612ab3565b6108fc565b604051610332919061287d565b60405180910390f35b34801561034757600080fd5b50610350610945565b005b34801561035e57600080fd5b50610367610a98565b005b34801561037557600080fd5b5061037e610be6565b60405161038b919061287d565b60405180910390f35b3480156103a057600080fd5b506103a9610bec565b6040516103b69190612aef565b60405180910390f35b3480156103cb57600080fd5b506103d4610c15565b6040516103e1919061287d565b60405180910390f35b3480156103f657600080fd5b506103ff610c1b565b60405161040c919061272e565b60405180910390f35b34801561042157600080fd5b5061043c600480360381019061043791906127f8565b610c58565b6040516104499190612853565b60405180910390f35b34801561045e57600080fd5b50610467610c76565b604051610474919061287d565b60405180910390f35b34801561048957600080fd5b50610492610c7c565b60405161049f9190612853565b60405180910390f35b3480156104b457600080fd5b506104bd610c8f565b005b3480156104cb57600080fd5b506104e660048036038101906104e19190612a6a565b6111c5565b005b3480156104f457600080fd5b5061050f600480360381019061050a9190612b0a565b6112ef565b60405161051c919061287d565b60405180910390f35b34801561053157600080fd5b5061054c60048036038101906105479190612b4a565b611376565b005b34801561055a57600080fd5b5061057560048036038101906105709190612bb5565b611405565b005b60606040518060400160405280600681526020017f4245524e49450000000000000000000000000000000000000000000000000000815250905090565b60006105c86105c1611557565b848461155f565b6001905092915050565b60125481565b60006009600a6105e89190612d44565b6461c9f368006105f89190612d8f565b905090565b600061060a848484611728565b6106cb84610616611557565b6106c68560405180606001604052806028815260200161386460289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061067c611557565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216d9092919063ffffffff16565b61155f565b600190509392505050565b60006009905090565b6106e7611557565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076b90612e1d565b60405180910390fd5b60005b81518110156108055760006004600084848151811061079957610798612e3d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806107fd90612e6c565b915050610777565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108a0611557565b73ffffffffffffffffffffffffffffffffffffffff16146108c057600080fd5b60006108cb306108fc565b905060008111156108e0576108df816121d1565b5b600047905060008111156108f8576108f78161244a565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61094d611557565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d190612e1d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610aa0611557565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2490612e1d565b60405180910390fd5b6009600a610b3b9190612d44565b6461c9f36800610b4b9190612d8f565b600f819055506009600a610b5f9190612d44565b6461c9f36800610b6f9190612d8f565b6010819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610bbf9190612d44565b6461c9f36800610bcf9190612d8f565b604051610bdc919061287d565b60405180910390a1565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f4245524e49450000000000000000000000000000000000000000000000000000815250905090565b6000610c6c610c65611557565b8484611728565b6001905092915050565b60115481565b600660009054906101000a900460ff1681565b610c97611557565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1b90612e1d565b60405180910390fd5b60148054906101000a900460ff1615610d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6990612f00565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e1130601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610dfc9190612d44565b6461c9f36800610e0c9190612d8f565b61155f565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea29190612f35565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4f9190612f35565b6040518363ffffffff1660e01b8152600401610f6c929190612f62565b6020604051808303816000875af1158015610f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610faf9190612f35565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611038306108fc565b600080611043610bec565b426040518863ffffffff1660e01b815260040161106596959493929190612fd0565b60606040518083038185885af1158015611083573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110a89190613046565b505050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161114a929190613099565b6020604051808303816000875af1158015611169573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118d91906130ee565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b6111cd611557565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461125a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125190612e1d565b60405180910390fd5b60005b81518110156112eb5760016004600084848151811061127f5761127e612e3d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806112e390612e6c565b91505061125d565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113b7611557565b73ffffffffffffffffffffffffffffffffffffffff16146113d757600080fd5b60095481111580156113eb5750600a548111155b6113f457600080fd5b8060098190555080600a8190555050565b61140d611557565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461149a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149190612e1d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c59061318d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361163d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116349061321f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161171b919061287d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178e906132b1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611806576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fd90613343565b60405180910390fd5b60008111611849576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611840906133d5565b60405180910390fd5b6000611853610bec565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118c15750611891610bec565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611eb057600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561196a5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61197357600080fd5b6119af60646119a1600b54600e541161198e57600754611992565b6009545b856124b690919063ffffffff16565b61253090919063ffffffff16565b9050600660009054906101000a900460ff1615611b3e57601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a725750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b3d5743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef9061348d565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611be95750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c3f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cfa57600f54821115611c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c80906134f9565b60405180910390fd5b60105482611c96856108fc565b611ca09190613519565b1115611ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd890613599565b60405180910390fd5b600e6000815480929190611cf490612e6c565b91905055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d8357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611dc757611dc46064611db6600c54600e5411611da357600854611da7565b600a545b856124b690919063ffffffff16565b61253090919063ffffffff16565b90505b6000611dd2306108fc565b9050601460159054906101000a900460ff16158015611e3e5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611e565750601460169054906101000a900460ff165b8015611e63575060115481115b8015611e725750600d54600e54115b15611eae57611e94611e8f84611e8a8460125461257a565b61257a565b6121d1565b60004790506000811115611eac57611eab4761244a565b5b505b505b6000811115611fb457611f0b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fab919061287d565b60405180910390a35b61200682600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125f190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120ad61205f82846125f190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61215284866125f190919063ffffffff16565b60405161215f919061287d565b60405180910390a350505050565b60008383111582906121b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ac919061272e565b60405180910390fd5b50600083856121c491906135b9565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561220957612208612927565b5b6040519080825280602002602001820160405280156122375781602001602082028036833780820191505090505b509050308160008151811061224f5761224e612e3d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061231a9190612f35565b8160018151811061232e5761232d612e3d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061239530601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461155f565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123f99594939291906136ab565b600060405180830381600087803b15801561241357600080fd5b505af1158015612427573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156124b2573d6000803e3d6000fd5b5050565b60008083036124c8576000905061252a565b600082846124d69190612d8f565b90508284826124e59190613734565b14612525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251c906137d7565b60405180910390fd5b809150505b92915050565b600061257283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061263b565b905092915050565b6000818311612589578261258b565b815b905092915050565b60008082846125a29190613519565b9050838110156125e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125de90613843565b60405180910390fd5b8091505092915050565b600061263383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061216d565b905092915050565b60008083118290612682576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612679919061272e565b60405180910390fd5b50600083856126919190613734565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126d85780820151818401526020810190506126bd565b60008484015250505050565b6000601f19601f8301169050919050565b60006127008261269e565b61270a81856126a9565b935061271a8185602086016126ba565b612723816126e4565b840191505092915050565b6000602082019050818103600083015261274881846126f5565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061278f82612764565b9050919050565b61279f81612784565b81146127aa57600080fd5b50565b6000813590506127bc81612796565b92915050565b6000819050919050565b6127d5816127c2565b81146127e057600080fd5b50565b6000813590506127f2816127cc565b92915050565b6000806040838503121561280f5761280e61275a565b5b600061281d858286016127ad565b925050602061282e858286016127e3565b9150509250929050565b60008115159050919050565b61284d81612838565b82525050565b60006020820190506128686000830184612844565b92915050565b612877816127c2565b82525050565b6000602082019050612892600083018461286e565b92915050565b6000806000606084860312156128b1576128b061275a565b5b60006128bf868287016127ad565b93505060206128d0868287016127ad565b92505060406128e1868287016127e3565b9150509250925092565b600060ff82169050919050565b612901816128eb565b82525050565b600060208201905061291c60008301846128f8565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61295f826126e4565b810181811067ffffffffffffffff8211171561297e5761297d612927565b5b80604052505050565b6000612991612750565b905061299d8282612956565b919050565b600067ffffffffffffffff8211156129bd576129bc612927565b5b602082029050602081019050919050565b600080fd5b60006129e66129e1846129a2565b612987565b90508083825260208201905060208402830185811115612a0957612a086129ce565b5b835b81811015612a325780612a1e88826127ad565b845260208401935050602081019050612a0b565b5050509392505050565b600082601f830112612a5157612a50612922565b5b8135612a618482602086016129d3565b91505092915050565b600060208284031215612a8057612a7f61275a565b5b600082013567ffffffffffffffff811115612a9e57612a9d61275f565b5b612aaa84828501612a3c565b91505092915050565b600060208284031215612ac957612ac861275a565b5b6000612ad7848285016127ad565b91505092915050565b612ae981612784565b82525050565b6000602082019050612b046000830184612ae0565b92915050565b60008060408385031215612b2157612b2061275a565b5b6000612b2f858286016127ad565b9250506020612b40858286016127ad565b9150509250929050565b600060208284031215612b6057612b5f61275a565b5b6000612b6e848285016127e3565b91505092915050565b6000612b8282612764565b9050919050565b612b9281612b77565b8114612b9d57600080fd5b50565b600081359050612baf81612b89565b92915050565b600060208284031215612bcb57612bca61275a565b5b6000612bd984828501612ba0565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612c6857808604811115612c4457612c43612be2565b5b6001851615612c535780820291505b8081029050612c6185612c11565b9450612c28565b94509492505050565b600082612c815760019050612d3d565b81612c8f5760009050612d3d565b8160018114612ca55760028114612caf57612cde565b6001915050612d3d565b60ff841115612cc157612cc0612be2565b5b8360020a915084821115612cd857612cd7612be2565b5b50612d3d565b5060208310610133831016604e8410600b8410161715612d135782820a905083811115612d0e57612d0d612be2565b5b612d3d565b612d208484846001612c1e565b92509050818404811115612d3757612d36612be2565b5b81810290505b9392505050565b6000612d4f826127c2565b9150612d5a836128eb565b9250612d877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c71565b905092915050565b6000612d9a826127c2565b9150612da5836127c2565b9250828202612db3816127c2565b91508282048414831517612dca57612dc9612be2565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e076020836126a9565b9150612e1282612dd1565b602082019050919050565b60006020820190508181036000830152612e3681612dfa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e77826127c2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ea957612ea8612be2565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612eea6017836126a9565b9150612ef582612eb4565b602082019050919050565b60006020820190508181036000830152612f1981612edd565b9050919050565b600081519050612f2f81612796565b92915050565b600060208284031215612f4b57612f4a61275a565b5b6000612f5984828501612f20565b91505092915050565b6000604082019050612f776000830185612ae0565b612f846020830184612ae0565b9392505050565b6000819050919050565b6000819050919050565b6000612fba612fb5612fb084612f8b565b612f95565b6127c2565b9050919050565b612fca81612f9f565b82525050565b600060c082019050612fe56000830189612ae0565b612ff2602083018861286e565b612fff6040830187612fc1565b61300c6060830186612fc1565b6130196080830185612ae0565b61302660a083018461286e565b979650505050505050565b600081519050613040816127cc565b92915050565b60008060006060848603121561305f5761305e61275a565b5b600061306d86828701613031565b935050602061307e86828701613031565b925050604061308f86828701613031565b9150509250925092565b60006040820190506130ae6000830185612ae0565b6130bb602083018461286e565b9392505050565b6130cb81612838565b81146130d657600080fd5b50565b6000815190506130e8816130c2565b92915050565b6000602082840312156131045761310361275a565b5b6000613112848285016130d9565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131776024836126a9565b91506131828261311b565b604082019050919050565b600060208201905081810360008301526131a68161316a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132096022836126a9565b9150613214826131ad565b604082019050919050565b60006020820190508181036000830152613238816131fc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061329b6025836126a9565b91506132a68261323f565b604082019050919050565b600060208201905081810360008301526132ca8161328e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061332d6023836126a9565b9150613338826132d1565b604082019050919050565b6000602082019050818103600083015261335c81613320565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006133bf6029836126a9565b91506133ca82613363565b604082019050919050565b600060208201905081810360008301526133ee816133b2565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006134776049836126a9565b9150613482826133f5565b606082019050919050565b600060208201905081810360008301526134a68161346a565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006134e36019836126a9565b91506134ee826134ad565b602082019050919050565b60006020820190508181036000830152613512816134d6565b9050919050565b6000613524826127c2565b915061352f836127c2565b925082820190508082111561354757613546612be2565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613583601a836126a9565b915061358e8261354d565b602082019050919050565b600060208201905081810360008301526135b281613576565b9050919050565b60006135c4826127c2565b91506135cf836127c2565b92508282039050818111156135e7576135e6612be2565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61362281612784565b82525050565b60006136348383613619565b60208301905092915050565b6000602082019050919050565b6000613658826135ed565b61366281856135f8565b935061366d83613609565b8060005b8381101561369e5781516136858882613628565b975061369083613640565b925050600181019050613671565b5085935050505092915050565b600060a0820190506136c0600083018861286e565b6136cd6020830187612fc1565b81810360408301526136df818661364d565b90506136ee6060830185612ae0565b6136fb608083018461286e565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061373f826127c2565b915061374a836127c2565b92508261375a57613759613705565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006137c16021836126a9565b91506137cc82613765565b604082019050919050565b600060208201905081810360008301526137f0816137b4565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061382d601b836126a9565b9150613838826137f7565b602082019050919050565b6000602082019050818103600083015261385c81613820565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220eed611e264da58efba700f1abd503c3f0b885d17c3f5129d2054f507a9f09e6064736f6c63430008110033

Deployed Bytecode Sourcemap

3743:8700:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5688:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6521:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4961:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5965:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6690:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5874:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10883:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11053:83;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12092:348;;;;;;;;;;;;;:::i;:::-;;6068:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2652:148;;;;;;;;;;;;;:::i;:::-;;10407:196;;;;;;;;;;;;;:::i;:::-;;4764:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2438:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4829:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5779:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6195:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4894:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4131:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11144:671;;;;;;;;;;;;;:::i;:::-;;10711:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6370:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11829:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2806:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5688:83;5725:13;5758:5;;;;;;;;;;;;;;;;;5751:12;;5688:83;:::o;6521:161::-;6596:4;6613:39;6622:12;:10;:12::i;:::-;6636:7;6645:6;6613:8;:39::i;:::-;6670:4;6663:11;;6521:161;;;;:::o;4961:54::-;;;;:::o;5965:95::-;6018:7;4574:1;4632:2;:13;;;;:::i;:::-;4617:12;:28;;;;:::i;:::-;6038:14;;5965:95;:::o;6690:313::-;6788:4;6805:36;6815:6;6823:9;6834:6;6805:9;:36::i;:::-;6852:121;6861:6;6869:12;:10;:12::i;:::-;6883:89;6921:6;6883:89;;;;;;;;;;;;;;;;;:11;:19;6895:6;6883:19;;;;;;;;;;;;;;;:33;6903:12;:10;:12::i;:::-;6883:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6852:8;:121::i;:::-;6991:4;6984:11;;6690:313;;;;;:::o;5874:83::-;5915:5;4574:1;5933:16;;5874:83;:::o;10883:162::-;2575:12;:10;:12::i;:::-;2565:22;;:6;;;;;;;;;;:22;;;2557:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10956:6:::1;10951:87;10972:6;:13;10968:1;:17;10951:87;;;11023:5;11005:4;:15;11010:6;11017:1;11010:9;;;;;;;;:::i;:::-;;;;;;;;11005:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;10987:3;;;;;:::i;:::-;;;;10951:87;;;;10883:162:::0;:::o;11053:83::-;11100:4;11121;:7;11126:1;11121:7;;;;;;;;;;;;;;;;;;;;;;;;;11114:14;;11053:83;;;:::o;12092:348::-;12156:10;;;;;;;;;;;12142:24;;:12;:10;:12::i;:::-;:24;;;12134:33;;;;;;12178:20;12199:24;12217:4;12199:9;:24::i;:::-;12178:45;;12250:1;12237:12;:14;12234:73;;;12265:30;12282:12;12265:16;:30::i;:::-;12234:73;12317:18;12336:21;12317:40;;12382:1;12371:10;:12;12368:65;;;12397:24;12410:10;12397:12;:24::i;:::-;12368:65;12123:317;;12092:348::o;6068:119::-;6134:7;6161:9;:18;6171:7;6161:18;;;;;;;;;;;;;;;;6154:25;;6068:119;;;:::o;2652:148::-;2575:12;:10;:12::i;:::-;2565:22;;:6;;;;;;;;;;:22;;;2557:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2759:1:::1;2722:40;;2743:6;::::0;::::1;;;;;;;;2722:40;;;;;;;;;;;;2790:1;2773:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2652:148::o:0;10407:196::-;2575:12;:10;:12::i;:::-;2565:22;;:6;;;;;;;;;;:22;;;2557:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4574:1:::1;4632:2;:13;;;;:::i;:::-;4617:12;:28;;;;:::i;:::-;10460:12;:22;;;;4574:1;4632:2;:13;;;;:::i;:::-;4617:12;:28;;;;:::i;:::-;10493:14;:22;;;;10547:5;10526:20;;:26;;;;;;;;;;;;;;;;;;10568:27;4574:1;4632:2;:13;;;;:::i;:::-;4617:12;:28;;;;:::i;:::-;10568:27;;;;;;:::i;:::-;;;;;;;;10407:196::o:0;4764:58::-;;;;:::o;2438:79::-;2476:7;2503:6;;;;;;;;;;;2496:13;;2438:79;:::o;4829:58::-;;;;:::o;5779:87::-;5818:13;5851:7;;;;;;;;;;;;;;;;;5844:14;;5779:87;:::o;6195:167::-;6273:4;6290:42;6300:12;:10;:12::i;:::-;6314:9;6325:6;6290:9;:42::i;:::-;6350:4;6343:11;;6195:167;;;;:::o;4894:60::-;;;;:::o;4131:39::-;;;;;;;;;;;;;:::o;11144:671::-;2575:12;:10;:12::i;:::-;2565:22;;:6;;;;;;;;;;:22;;;2557:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11208:11:::1;::::0;::::1;;;;;;;;11207:12;11199:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11294:42;11257:15;;:80;;;;;;;;;;;;;;;;;;11348:58;11365:4;11380:15;;;;;;;;;;;4574:1;4632:2;:13;;;;:::i;:::-;4617:12;:28;;;;:::i;:::-;11348:8;:58::i;:::-;11451:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11433:55;;;11497:4;11504:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11433:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11417:13;;:110;;;;;;;;;;;;;;;;;;11538:15;;;;;;;;;;;:31;;;11577:21;11608:4;11614:24;11632:4;11614:9;:24::i;:::-;11639:1;11641::::0;11643:7:::1;:5;:7::i;:::-;11651:15;11538:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11685:13;;;;;;;;;;;11678:29;;;11716:15;;;;;;;;;;;11734:14;11678:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11774:4;11760:11;;:18;;;;;;;;;;;;;;;;;;11803:4;11789:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;11144:671::o:0;10711:164::-;2575:12;:10;:12::i;:::-;2565:22;;:6;;;;;;;;;;:22;;;2557:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10785:6:::1;10780:88;10801:5;:12;10797:1;:16;10780:88;;;10852:4;10835;:14;10840:5;10846:1;10840:8;;;;;;;;:::i;:::-;;;;;;;;10835:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10815:3;;;;;:::i;:::-;;;;10780:88;;;;10711:164:::0;:::o;6370:143::-;6451:7;6478:11;:18;6490:5;6478:18;;;;;;;;;;;;;;;:27;6497:7;6478:27;;;;;;;;;;;;;;;;6471:34;;6370:143;;;;:::o;11829:218::-;11904:10;;;;;;;;;;;11890:24;;:12;:10;:12::i;:::-;:24;;;11882:33;;;;;;11941:12;;11932:7;:21;;:47;;;;;11966:13;;11957:7;:22;;11932:47;11924:56;;;;;;12002:7;11989:12;:20;;;;12032:7;12018:13;:21;;;;11829:218;:::o;2806:168::-;2575:12;:10;:12::i;:::-;2565:22;;:6;;;;;;;;;;:22;;;2557:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2929:8:::1;2900:38;;2921:6;::::0;::::1;;;;;;;;2900:38;;;;;;;;;;;;2958:8;2949:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2806:168:::0;:::o;193:98::-;246:7;273:10;266:17;;193:98;:::o;7011:335::-;7121:1;7104:19;;:5;:19;;;7096:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7202:1;7183:21;;:7;:21;;;7175:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7284:6;7254:11;:18;7266:5;7254:18;;;;;;;;;;;;;;;:27;7273:7;7254:27;;;;;;;;;;;;;;;:36;;;;7322:7;7306:32;;7315:5;7306:32;;;7331:6;7306:32;;;;;;:::i;:::-;;;;;;;;7011:335;;;:::o;7354:2446::-;7458:1;7442:18;;:4;:18;;;7434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7535:1;7521:16;;:2;:16;;;7513:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7605:1;7596:6;:10;7588:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7663:17;7705:7;:5;:7::i;:::-;7697:15;;:4;:15;;;;:32;;;;;7722:7;:5;:7::i;:::-;7716:13;;:2;:13;;;;7697:32;7693:1751;;;7755:4;:10;7760:4;7755:10;;;;;;;;;;;;;;;;;;;;;;;;;7754:11;:24;;;;;7770:4;:8;7775:2;7770:8;;;;;;;;;;;;;;;;;;;;;;;;;7769:9;7754:24;7746:33;;;;;;7806:76;7878:3;7806:67;7828:15;;7818:9;;:25;7817:55;;7858:14;;7817:55;;;7845:12;;7817:55;7806:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7794:88;;7903:20;;;;;;;;;;;7899:508;;;7964:15;;;;;;;;;;;7950:30;;:2;:30;;;;:62;;;;;7998:13;;;;;;;;;;;7984:28;;:2;:28;;;;7950:62;7946:444;;;8148:12;8075:28;:39;8104:9;8075:39;;;;;;;;;;;;;;;;:85;8039:250;;;;;;;;;;;;:::i;:::-;;;;;;;;;8356:12;8314:28;:39;8343:9;8314:39;;;;;;;;;;;;;;;:54;;;;7946:444;7899:508;8435:13;;;;;;;;;;;8427:21;;:4;:21;;;:55;;;;;8466:15;;;;;;;;;;;8452:30;;:2;:30;;;;8427:55;:83;;;;;8488:18;:22;8507:2;8488:22;;;;;;;;;;;;;;;;;;;;;;;;;8486:24;8427:83;8423:313;;;8550:12;;8540:6;:22;;8532:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8645:14;;8635:6;8619:13;8629:2;8619:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8611:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8709:9;;:11;;;;;;;;;:::i;:::-;;;;;;8423:313;8761:13;;;;;;;;;;;8755:19;;:2;:19;;;:43;;;;;8793:4;8778:20;;:4;:20;;;;8755:43;8752:174;;;8831:79;8906:3;8831:70;8853:16;;8843:9;;:26;8842:58;;8885:15;;8842:58;;;8871:13;;8842:58;8831:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8819:91;;8752:174;8942:28;8973:24;8991:4;8973:9;:24::i;:::-;8942:55;;9017:6;;;;;;;;;;;9016:7;:32;;;;;9035:13;;;;;;;;;;;9027:21;;:2;:21;;;9016:32;:47;;;;;9052:11;;;;;;;;;;;9016:47;:89;;;;;9088:17;;9067:20;:38;9016:89;:121;;;;;9119:18;;9109:9;;:28;9016:121;9012:421;;;9158:67;9175:49;9179:6;9186:37;9190:20;9211:11;;9186:3;:37::i;:::-;9175:3;:49::i;:::-;9158:16;:67::i;:::-;9244:26;9273:21;9244:50;;9337:1;9316:18;:22;9313:105;;;9363:35;9376:21;9363:12;:35::i;:::-;9313:105;9139:294;9012:421;7731:1713;7693:1751;9469:1;9459:9;:11;9456:161;;;9509:39;9538:9;9509;:24;9527:4;9509:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9484:9;:24;9502:4;9484:24;;;;;;;;;;;;;;;:64;;;;9589:4;9566:39;;9575:4;9566:39;;;9595:9;9566:39;;;;;;:::i;:::-;;;;;;;;9456:161;9643:27;9663:6;9643:9;:15;9653:4;9643:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9627:9;:15;9637:4;9627:15;;;;;;;;;;;;;;;:43;;;;9695:40;9713:21;9724:9;9713:6;:10;;:21;;;;:::i;:::-;9695:9;:13;9705:2;9695:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9681:9;:13;9691:2;9681:13;;;;;;;;;;;;;;;:54;;;;9766:2;9751:41;;9760:4;9751:41;;;9770:21;9781:9;9770:6;:10;;:21;;;;:::i;:::-;9751:41;;;;;;:::i;:::-;;;;;;;;7423:2377;7354:2446;;;:::o;1330:190::-;1416:7;1449:1;1444;:6;;1452:12;1436:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1476:9;1492:1;1488;:5;;;;:::i;:::-;1476:17;;1511:1;1504:8;;;1330:190;;;;;:::o;9916:483::-;5306:4;5297:6;;:13;;;;;;;;;;;;;;;;;;9994:21:::1;10032:1;10018:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9994:40;;10063:4;10045;10050:1;10045:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10089:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10079:4;10084:1;10079:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10122:62;10139:4;10154:15;;;;;;;;;;;10172:11;10122:8;:62::i;:::-;10195:15;;;;;;;;;;;:66;;;10276:11;10302:1;10318:4;10345;10365:15;10195:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9983:416;5342:5:::0;5333:6;;:14;;;;;;;;;;;;;;;;;;9916:483;:::o;10611:92::-;10668:10;;;;;;;;;;;:19;;:27;10688:6;10668:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10611:92;:::o;1528:246::-;1586:7;1615:1;1610;:6;1606:47;;1640:1;1633:8;;;;1606:47;1663:9;1679:1;1675;:5;;;;:::i;:::-;1663:17;;1708:1;1703;1699;:5;;;;:::i;:::-;:10;1691:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1765:1;1758:8;;;1528:246;;;;;:::o;1782:132::-;1840:7;1867:39;1871:1;1874;1867:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1860:46;;1782:132;;;;:::o;9810:98::-;9867:7;9894:1;9892;:3;9891:9;;9899:1;9891:9;;;9897:1;9891:9;9884:16;;9810:98;;;;:::o;999:179::-;1057:7;1077:9;1093:1;1089;:5;;;;:::i;:::-;1077:17;;1118:1;1113;:6;;1105:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1169:1;1162:8;;;999:179;;;;:::o;1186:136::-;1244:7;1271:43;1275:1;1278;1271:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1264:50;;1186:136;;;;:::o;1922:189::-;2008:7;2040:1;2036;:5;2043:12;2028:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2067:9;2083:1;2079;:5;;;;:::i;:::-;2067:17;;2102:1;2095:8;;;1922:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:117::-;4962:1;4959;4952:12;4976:180;5024:77;5021:1;5014:88;5121:4;5118:1;5111:15;5145:4;5142:1;5135:15;5162:281;5245:27;5267:4;5245:27;:::i;:::-;5237:6;5233:40;5375:6;5363:10;5360:22;5339:18;5327:10;5324:34;5321:62;5318:88;;;5386:18;;:::i;:::-;5318:88;5426:10;5422:2;5415:22;5205:238;5162:281;;:::o;5449:129::-;5483:6;5510:20;;:::i;:::-;5500:30;;5539:33;5567:4;5559:6;5539:33;:::i;:::-;5449:129;;;:::o;5584:311::-;5661:4;5751:18;5743:6;5740:30;5737:56;;;5773:18;;:::i;:::-;5737:56;5823:4;5815:6;5811:17;5803:25;;5883:4;5877;5873:15;5865:23;;5584:311;;;:::o;5901:117::-;6010:1;6007;6000:12;6041:710;6137:5;6162:81;6178:64;6235:6;6178:64;:::i;:::-;6162:81;:::i;:::-;6153:90;;6263:5;6292:6;6285:5;6278:21;6326:4;6319:5;6315:16;6308:23;;6379:4;6371:6;6367:17;6359:6;6355:30;6408:3;6400:6;6397:15;6394:122;;;6427:79;;:::i;:::-;6394:122;6542:6;6525:220;6559:6;6554:3;6551:15;6525:220;;;6634:3;6663:37;6696:3;6684:10;6663:37;:::i;:::-;6658:3;6651:50;6730:4;6725:3;6721:14;6714:21;;6601:144;6585:4;6580:3;6576:14;6569:21;;6525:220;;;6529:21;6143:608;;6041:710;;;;;:::o;6774:370::-;6845:5;6894:3;6887:4;6879:6;6875:17;6871:27;6861:122;;6902:79;;:::i;:::-;6861:122;7019:6;7006:20;7044:94;7134:3;7126:6;7119:4;7111:6;7107:17;7044:94;:::i;:::-;7035:103;;6851:293;6774:370;;;;:::o;7150:539::-;7234:6;7283:2;7271:9;7262:7;7258:23;7254:32;7251:119;;;7289:79;;:::i;:::-;7251:119;7437:1;7426:9;7422:17;7409:31;7467:18;7459:6;7456:30;7453:117;;;7489:79;;:::i;:::-;7453:117;7594:78;7664:7;7655:6;7644:9;7640:22;7594:78;:::i;:::-;7584:88;;7380:302;7150:539;;;;:::o;7695:329::-;7754:6;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;7695:329;;;;:::o;8030:118::-;8117:24;8135:5;8117:24;:::i;:::-;8112:3;8105:37;8030:118;;:::o;8154:222::-;8247:4;8285:2;8274:9;8270:18;8262:26;;8298:71;8366:1;8355:9;8351:17;8342:6;8298:71;:::i;:::-;8154:222;;;;:::o;8382:474::-;8450:6;8458;8507:2;8495:9;8486:7;8482:23;8478:32;8475:119;;;8513:79;;:::i;:::-;8475:119;8633:1;8658:53;8703:7;8694:6;8683:9;8679:22;8658:53;:::i;:::-;8648:63;;8604:117;8760:2;8786:53;8831:7;8822:6;8811:9;8807:22;8786:53;:::i;:::-;8776:63;;8731:118;8382:474;;;;;:::o;8862:329::-;8921:6;8970:2;8958:9;8949:7;8945:23;8941:32;8938:119;;;8976:79;;:::i;:::-;8938:119;9096:1;9121:53;9166:7;9157:6;9146:9;9142:22;9121:53;:::i;:::-;9111:63;;9067:117;8862:329;;;;:::o;9197:104::-;9242:7;9271:24;9289:5;9271:24;:::i;:::-;9260:35;;9197:104;;;:::o;9307:138::-;9388:32;9414:5;9388:32;:::i;:::-;9381:5;9378:43;9368:71;;9435:1;9432;9425:12;9368:71;9307:138;:::o;9451:155::-;9505:5;9543:6;9530:20;9521:29;;9559:41;9594:5;9559:41;:::i;:::-;9451:155;;;;:::o;9612:345::-;9679:6;9728:2;9716:9;9707:7;9703:23;9699:32;9696:119;;;9734:79;;:::i;:::-;9696:119;9854:1;9879:61;9932:7;9923:6;9912:9;9908:22;9879:61;:::i;:::-;9869:71;;9825:125;9612:345;;;;:::o;9963:180::-;10011:77;10008:1;10001:88;10108:4;10105:1;10098:15;10132:4;10129:1;10122:15;10149:102;10191:8;10238:5;10235:1;10231:13;10210:34;;10149:102;;;:::o;10257:848::-;10318:5;10325:4;10349:6;10340:15;;10373:5;10364:14;;10387:712;10408:1;10398:8;10395:15;10387:712;;;10503:4;10498:3;10494:14;10488:4;10485:24;10482:50;;;10512:18;;:::i;:::-;10482:50;10562:1;10552:8;10548:16;10545:451;;;10977:4;10970:5;10966:16;10957:25;;10545:451;11027:4;11021;11017:15;11009:23;;11057:32;11080:8;11057:32;:::i;:::-;11045:44;;10387:712;;;10257:848;;;;;;;:::o;11111:1073::-;11165:5;11356:8;11346:40;;11377:1;11368:10;;11379:5;;11346:40;11405:4;11395:36;;11422:1;11413:10;;11424:5;;11395:36;11491:4;11539:1;11534:27;;;;11575:1;11570:191;;;;11484:277;;11534:27;11552:1;11543:10;;11554:5;;;11570:191;11615:3;11605:8;11602:17;11599:43;;;11622:18;;:::i;:::-;11599:43;11671:8;11668:1;11664:16;11655:25;;11706:3;11699:5;11696:14;11693:40;;;11713:18;;:::i;:::-;11693:40;11746:5;;;11484:277;;11870:2;11860:8;11857:16;11851:3;11845:4;11842:13;11838:36;11820:2;11810:8;11807:16;11802:2;11796:4;11793:12;11789:35;11773:111;11770:246;;;11926:8;11920:4;11916:19;11907:28;;11961:3;11954:5;11951:14;11948:40;;;11968:18;;:::i;:::-;11948:40;12001:5;;11770:246;12041:42;12079:3;12069:8;12063:4;12060:1;12041:42;:::i;:::-;12026:57;;;;12115:4;12110:3;12106:14;12099:5;12096:25;12093:51;;;12124:18;;:::i;:::-;12093:51;12173:4;12166:5;12162:16;12153:25;;11111:1073;;;;;;:::o;12190:281::-;12248:5;12272:23;12290:4;12272:23;:::i;:::-;12264:31;;12316:25;12332:8;12316:25;:::i;:::-;12304:37;;12360:104;12397:66;12387:8;12381:4;12360:104;:::i;:::-;12351:113;;12190:281;;;;:::o;12477:410::-;12517:7;12540:20;12558:1;12540:20;:::i;:::-;12535:25;;12574:20;12592:1;12574:20;:::i;:::-;12569:25;;12629:1;12626;12622:9;12651:30;12669:11;12651:30;:::i;:::-;12640:41;;12830:1;12821:7;12817:15;12814:1;12811:22;12791:1;12784:9;12764:83;12741:139;;12860:18;;:::i;:::-;12741:139;12525:362;12477:410;;;;:::o;12893:182::-;13033:34;13029:1;13021:6;13017:14;13010:58;12893:182;:::o;13081:366::-;13223:3;13244:67;13308:2;13303:3;13244:67;:::i;:::-;13237:74;;13320:93;13409:3;13320:93;:::i;:::-;13438:2;13433:3;13429:12;13422:19;;13081:366;;;:::o;13453:419::-;13619:4;13657:2;13646:9;13642:18;13634:26;;13706:9;13700:4;13696:20;13692:1;13681:9;13677:17;13670:47;13734:131;13860:4;13734:131;:::i;:::-;13726:139;;13453:419;;;:::o;13878:180::-;13926:77;13923:1;13916:88;14023:4;14020:1;14013:15;14047:4;14044:1;14037:15;14064:233;14103:3;14126:24;14144:5;14126:24;:::i;:::-;14117:33;;14172:66;14165:5;14162:77;14159:103;;14242:18;;:::i;:::-;14159:103;14289:1;14282:5;14278:13;14271:20;;14064:233;;;:::o;14303:173::-;14443:25;14439:1;14431:6;14427:14;14420:49;14303:173;:::o;14482:366::-;14624:3;14645:67;14709:2;14704:3;14645:67;:::i;:::-;14638:74;;14721:93;14810:3;14721:93;:::i;:::-;14839:2;14834:3;14830:12;14823:19;;14482:366;;;:::o;14854:419::-;15020:4;15058:2;15047:9;15043:18;15035:26;;15107:9;15101:4;15097:20;15093:1;15082:9;15078:17;15071:47;15135:131;15261:4;15135:131;:::i;:::-;15127:139;;14854:419;;;:::o;15279:143::-;15336:5;15367:6;15361:13;15352:22;;15383:33;15410:5;15383:33;:::i;:::-;15279:143;;;;:::o;15428:351::-;15498:6;15547:2;15535:9;15526:7;15522:23;15518:32;15515:119;;;15553:79;;:::i;:::-;15515:119;15673:1;15698:64;15754:7;15745:6;15734:9;15730:22;15698:64;:::i;:::-;15688:74;;15644:128;15428:351;;;;:::o;15785:332::-;15906:4;15944:2;15933:9;15929:18;15921:26;;15957:71;16025:1;16014:9;16010:17;16001:6;15957:71;:::i;:::-;16038:72;16106:2;16095:9;16091:18;16082:6;16038:72;:::i;:::-;15785:332;;;;;:::o;16123:85::-;16168:7;16197:5;16186:16;;16123:85;;;:::o;16214:60::-;16242:3;16263:5;16256:12;;16214:60;;;:::o;16280:158::-;16338:9;16371:61;16389:42;16398:32;16424:5;16398:32;:::i;:::-;16389:42;:::i;:::-;16371:61;:::i;:::-;16358:74;;16280:158;;;:::o;16444:147::-;16539:45;16578:5;16539:45;:::i;:::-;16534:3;16527:58;16444:147;;:::o;16597:807::-;16846:4;16884:3;16873:9;16869:19;16861:27;;16898:71;16966:1;16955:9;16951:17;16942:6;16898:71;:::i;:::-;16979:72;17047:2;17036:9;17032:18;17023:6;16979:72;:::i;:::-;17061:80;17137:2;17126:9;17122:18;17113:6;17061:80;:::i;:::-;17151;17227:2;17216:9;17212:18;17203:6;17151:80;:::i;:::-;17241:73;17309:3;17298:9;17294:19;17285:6;17241:73;:::i;:::-;17324;17392:3;17381:9;17377:19;17368:6;17324:73;:::i;:::-;16597:807;;;;;;;;;:::o;17410:143::-;17467:5;17498:6;17492:13;17483:22;;17514:33;17541:5;17514:33;:::i;:::-;17410:143;;;;:::o;17559:663::-;17647:6;17655;17663;17712:2;17700:9;17691:7;17687:23;17683:32;17680:119;;;17718:79;;:::i;:::-;17680:119;17838:1;17863:64;17919:7;17910:6;17899:9;17895:22;17863:64;:::i;:::-;17853:74;;17809:128;17976:2;18002:64;18058:7;18049:6;18038:9;18034:22;18002:64;:::i;:::-;17992:74;;17947:129;18115:2;18141:64;18197:7;18188:6;18177:9;18173:22;18141:64;:::i;:::-;18131:74;;18086:129;17559:663;;;;;:::o;18228:332::-;18349:4;18387:2;18376:9;18372:18;18364:26;;18400:71;18468:1;18457:9;18453:17;18444:6;18400:71;:::i;:::-;18481:72;18549:2;18538:9;18534:18;18525:6;18481:72;:::i;:::-;18228:332;;;;;:::o;18566:116::-;18636:21;18651:5;18636:21;:::i;:::-;18629:5;18626:32;18616:60;;18672:1;18669;18662:12;18616:60;18566:116;:::o;18688:137::-;18742:5;18773:6;18767:13;18758:22;;18789:30;18813:5;18789:30;:::i;:::-;18688:137;;;;:::o;18831:345::-;18898:6;18947:2;18935:9;18926:7;18922:23;18918:32;18915:119;;;18953:79;;:::i;:::-;18915:119;19073:1;19098:61;19151:7;19142:6;19131:9;19127:22;19098:61;:::i;:::-;19088:71;;19044:125;18831:345;;;;:::o;19182:223::-;19322:34;19318:1;19310:6;19306:14;19299:58;19391:6;19386:2;19378:6;19374:15;19367:31;19182:223;:::o;19411:366::-;19553:3;19574:67;19638:2;19633:3;19574:67;:::i;:::-;19567:74;;19650:93;19739:3;19650:93;:::i;:::-;19768:2;19763:3;19759:12;19752:19;;19411:366;;;:::o;19783:419::-;19949:4;19987:2;19976:9;19972:18;19964:26;;20036:9;20030:4;20026:20;20022:1;20011:9;20007:17;20000:47;20064:131;20190:4;20064:131;:::i;:::-;20056:139;;19783:419;;;:::o;20208:221::-;20348:34;20344:1;20336:6;20332:14;20325:58;20417:4;20412:2;20404:6;20400:15;20393:29;20208:221;:::o;20435:366::-;20577:3;20598:67;20662:2;20657:3;20598:67;:::i;:::-;20591:74;;20674:93;20763:3;20674:93;:::i;:::-;20792:2;20787:3;20783:12;20776:19;;20435:366;;;:::o;20807:419::-;20973:4;21011:2;21000:9;20996:18;20988:26;;21060:9;21054:4;21050:20;21046:1;21035:9;21031:17;21024:47;21088:131;21214:4;21088:131;:::i;:::-;21080:139;;20807:419;;;:::o;21232:224::-;21372:34;21368:1;21360:6;21356:14;21349:58;21441:7;21436:2;21428:6;21424:15;21417:32;21232:224;:::o;21462:366::-;21604:3;21625:67;21689:2;21684:3;21625:67;:::i;:::-;21618:74;;21701:93;21790:3;21701:93;:::i;:::-;21819:2;21814:3;21810:12;21803:19;;21462:366;;;:::o;21834:419::-;22000:4;22038:2;22027:9;22023:18;22015:26;;22087:9;22081:4;22077:20;22073:1;22062:9;22058:17;22051:47;22115:131;22241:4;22115:131;:::i;:::-;22107:139;;21834:419;;;:::o;22259:222::-;22399:34;22395:1;22387:6;22383:14;22376:58;22468:5;22463:2;22455:6;22451:15;22444:30;22259:222;:::o;22487:366::-;22629:3;22650:67;22714:2;22709:3;22650:67;:::i;:::-;22643:74;;22726:93;22815:3;22726:93;:::i;:::-;22844:2;22839:3;22835:12;22828:19;;22487:366;;;:::o;22859:419::-;23025:4;23063:2;23052:9;23048:18;23040:26;;23112:9;23106:4;23102:20;23098:1;23087:9;23083:17;23076:47;23140:131;23266:4;23140:131;:::i;:::-;23132:139;;22859:419;;;:::o;23284:228::-;23424:34;23420:1;23412:6;23408:14;23401:58;23493:11;23488:2;23480:6;23476:15;23469:36;23284:228;:::o;23518:366::-;23660:3;23681:67;23745:2;23740:3;23681:67;:::i;:::-;23674:74;;23757:93;23846:3;23757:93;:::i;:::-;23875:2;23870:3;23866:12;23859:19;;23518:366;;;:::o;23890:419::-;24056:4;24094:2;24083:9;24079:18;24071:26;;24143:9;24137:4;24133:20;24129:1;24118:9;24114:17;24107:47;24171:131;24297:4;24171:131;:::i;:::-;24163:139;;23890:419;;;:::o;24315:297::-;24455:34;24451:1;24443:6;24439:14;24432:58;24524:34;24519:2;24511:6;24507:15;24500:59;24593:11;24588:2;24580:6;24576:15;24569:36;24315:297;:::o;24618:366::-;24760:3;24781:67;24845:2;24840:3;24781:67;:::i;:::-;24774:74;;24857:93;24946:3;24857:93;:::i;:::-;24975:2;24970:3;24966:12;24959:19;;24618:366;;;:::o;24990:419::-;25156:4;25194:2;25183:9;25179:18;25171:26;;25243:9;25237:4;25233:20;25229:1;25218:9;25214:17;25207:47;25271:131;25397:4;25271:131;:::i;:::-;25263:139;;24990:419;;;:::o;25415:175::-;25555:27;25551:1;25543:6;25539:14;25532:51;25415:175;:::o;25596:366::-;25738:3;25759:67;25823:2;25818:3;25759:67;:::i;:::-;25752:74;;25835:93;25924:3;25835:93;:::i;:::-;25953:2;25948:3;25944:12;25937:19;;25596:366;;;:::o;25968:419::-;26134:4;26172:2;26161:9;26157:18;26149:26;;26221:9;26215:4;26211:20;26207:1;26196:9;26192:17;26185:47;26249:131;26375:4;26249:131;:::i;:::-;26241:139;;25968:419;;;:::o;26393:191::-;26433:3;26452:20;26470:1;26452:20;:::i;:::-;26447:25;;26486:20;26504:1;26486:20;:::i;:::-;26481:25;;26529:1;26526;26522:9;26515:16;;26550:3;26547:1;26544:10;26541:36;;;26557:18;;:::i;:::-;26541:36;26393:191;;;;:::o;26590:176::-;26730:28;26726:1;26718:6;26714:14;26707:52;26590:176;:::o;26772:366::-;26914:3;26935:67;26999:2;26994:3;26935:67;:::i;:::-;26928:74;;27011:93;27100:3;27011:93;:::i;:::-;27129:2;27124:3;27120:12;27113:19;;26772:366;;;:::o;27144:419::-;27310:4;27348:2;27337:9;27333:18;27325:26;;27397:9;27391:4;27387:20;27383:1;27372:9;27368:17;27361:47;27425:131;27551:4;27425:131;:::i;:::-;27417:139;;27144:419;;;:::o;27569:194::-;27609:4;27629:20;27647:1;27629:20;:::i;:::-;27624:25;;27663:20;27681:1;27663:20;:::i;:::-;27658:25;;27707:1;27704;27700:9;27692:17;;27731:1;27725:4;27722:11;27719:37;;;27736:18;;:::i;:::-;27719:37;27569:194;;;;:::o;27769:114::-;27836:6;27870:5;27864:12;27854:22;;27769:114;;;:::o;27889:184::-;27988:11;28022:6;28017:3;28010:19;28062:4;28057:3;28053:14;28038:29;;27889:184;;;;:::o;28079:132::-;28146:4;28169:3;28161:11;;28199:4;28194:3;28190:14;28182:22;;28079:132;;;:::o;28217:108::-;28294:24;28312:5;28294:24;:::i;:::-;28289:3;28282:37;28217:108;;:::o;28331:179::-;28400:10;28421:46;28463:3;28455:6;28421:46;:::i;:::-;28499:4;28494:3;28490:14;28476:28;;28331:179;;;;:::o;28516:113::-;28586:4;28618;28613:3;28609:14;28601:22;;28516:113;;;:::o;28665:732::-;28784:3;28813:54;28861:5;28813:54;:::i;:::-;28883:86;28962:6;28957:3;28883:86;:::i;:::-;28876:93;;28993:56;29043:5;28993:56;:::i;:::-;29072:7;29103:1;29088:284;29113:6;29110:1;29107:13;29088:284;;;29189:6;29183:13;29216:63;29275:3;29260:13;29216:63;:::i;:::-;29209:70;;29302:60;29355:6;29302:60;:::i;:::-;29292:70;;29148:224;29135:1;29132;29128:9;29123:14;;29088:284;;;29092:14;29388:3;29381:10;;28789:608;;;28665:732;;;;:::o;29403:831::-;29666:4;29704:3;29693:9;29689:19;29681:27;;29718:71;29786:1;29775:9;29771:17;29762:6;29718:71;:::i;:::-;29799:80;29875:2;29864:9;29860:18;29851:6;29799:80;:::i;:::-;29926:9;29920:4;29916:20;29911:2;29900:9;29896:18;29889:48;29954:108;30057:4;30048:6;29954:108;:::i;:::-;29946:116;;30072:72;30140:2;30129:9;30125:18;30116:6;30072:72;:::i;:::-;30154:73;30222:3;30211:9;30207:19;30198:6;30154:73;:::i;:::-;29403:831;;;;;;;;:::o;30240:180::-;30288:77;30285:1;30278:88;30385:4;30382:1;30375:15;30409:4;30406:1;30399:15;30426:185;30466:1;30483:20;30501:1;30483:20;:::i;:::-;30478:25;;30517:20;30535:1;30517:20;:::i;:::-;30512:25;;30556:1;30546:35;;30561:18;;:::i;:::-;30546:35;30603:1;30600;30596:9;30591:14;;30426:185;;;;:::o;30617:220::-;30757:34;30753:1;30745:6;30741:14;30734:58;30826:3;30821:2;30813:6;30809:15;30802:28;30617:220;:::o;30843:366::-;30985:3;31006:67;31070:2;31065:3;31006:67;:::i;:::-;30999:74;;31082:93;31171:3;31082:93;:::i;:::-;31200:2;31195:3;31191:12;31184:19;;30843:366;;;:::o;31215:419::-;31381:4;31419:2;31408:9;31404:18;31396:26;;31468:9;31462:4;31458:20;31454:1;31443:9;31439:17;31432:47;31496:131;31622:4;31496:131;:::i;:::-;31488:139;;31215:419;;;:::o;31640:177::-;31780:29;31776:1;31768:6;31764:14;31757:53;31640:177;:::o;31823:366::-;31965:3;31986:67;32050:2;32045:3;31986:67;:::i;:::-;31979:74;;32062:93;32151:3;32062:93;:::i;:::-;32180:2;32175:3;32171:12;32164:19;;31823:366;;;:::o;32195:419::-;32361:4;32399:2;32388:9;32384:18;32376:26;;32448:9;32442:4;32438:20;32434:1;32423:9;32419:17;32412:47;32476:131;32602:4;32476:131;:::i;:::-;32468:139;;32195:419;;;:::o

Swarm Source

ipfs://eed611e264da58efba700f1abd503c3f0b885d17c3f5129d2054f507a9f09e60
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.