ERC-20
Gaming
Overview
Max Total Supply
1,000,000 TETRUM
Holders
62 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
TETRUM
Compiler Version
v0.8.5+commit.a4f2e591
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-07 */ /* $TETRUM is an iconic classic that has stood the test of time and remains a favorite among gamers of all ages, for running on the Shibarium Chain with the aim of reminiscing with classic puzzle games in P2e mode. In $TETRUM, players must use their wits and quick reflexes to combine the falling blocks into complete lines. As the game progresses, the falling blocks accelerate, making it even more challenging to keep up. The player must rotate and place blocks strategically to make as many lines as possible and get a high score. Tetris is known for its simple yet addictive gameplay, stunning visuals and iconic music. It's a game that has been enjoyed by millions around the world for decades, making it a timeless classic that's sure to appeal to a wide audience. Our company can capitalize on the popularity of Tetris to attract new players and keep audiences engaged. We may also explore new ways to improve the game, such as incorporating new graphics or game modes, to make it more appealing to today's gamers. We are excited about the possibilities and look forward to introducing $TETRUMto our gaming community. Official Telegram : https://t.me/TetrumAnnouncement Official Website : https://www.tetrum.games/ */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.5; 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; } } interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } abstract contract Ownable { address internal owner; constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function renounceOwnership() public onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract TETRUM is ERC20, Ownable { using SafeMath for uint256; address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address DEAD = 0x000000000000000000000000000000000000dEaD; string constant _name = "Tetrum Token"; string constant _symbol = "TETRUM"; uint8 constant _decimals = 9; uint256 public _totalSupply = 1_000_000 * (10 ** _decimals); uint256 public _maxWalletAmount = (_totalSupply * 4) / 100; uint256 public _maxTxAmount = _totalSupply.mul(3).div(100); //3% mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; uint256 liquidityFee = 0; uint256 marketingFee = 20; uint256 totalFee = liquidityFee + marketingFee; uint256 feeDenominator = 100; address public marketingFeeReceiver = 0x946431fdda1fDC24008EFb415f7dA7667024195d; IDEXRouter public router; address public pair; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 1000 * 5; // 0.5% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Ownable(msg.sender) { router = IDEXRouter(routerAdress); pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this)); _allowances[address(this)][address(router)] = type(uint256).max; address _owner = owner; isFeeExempt[0x946431fdda1fDC24008EFb415f7dA7667024195d] = true; isTxLimitExempt[_owner] = true; isTxLimitExempt[0x946431fdda1fDC24008EFb415f7dA7667024195d] = true; isTxLimitExempt[DEAD] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if (recipient != pair && recipient != DEAD) { require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size."); } if(shouldSwapBack()){ swapBack(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function takeFee(address sender, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount.mul(totalFee).div(feeDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { uint256 contractTokenBalance = swapThreshold; uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2); uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee.sub(liquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2); uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee); (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}(""); require(MarketingSuccess, "receiver rejected ETH transfer"); if(amountToLiquify > 0){ router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, 0x946431fdda1fDC24008EFb415f7dA7667024195d, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } function buyTokens(uint256 amount, address to) internal swapping { address[] memory path = new address[](2); path[0] = router.WETH(); path[1] = address(this); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}( 0, path, to, block.timestamp ); } function clearStuckBalance() external { payable(marketingFeeReceiver).transfer(address(this).balance); } function setWalletLimit(uint256 amountPercent) external onlyOwner { _maxWalletAmount = (_totalSupply * amountPercent ) / 1000; } function maxTxAmount(uint256 amountPercent) external onlyOwner { _maxTxAmount = (_totalSupply * amountPercent ) / 1000; } function setFee(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner { liquidityFee = _liquidityFee; marketingFee = _marketingFee; totalFee = liquidityFee + marketingFee; } event AutoLiquify(uint256 amountETH, uint256 amountBOG); }
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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"maxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac919062000b94565b620f4240620000bc919062000cd1565b60035560646004600354620000d2919062000cd1565b620000de919062000b01565b6004556200011760646200010360038054620007e760201b62000e251790919060201c565b6200086b60201b62000ea01790919060201c565b6005556000600a556014600b55600b54600a5462000136919062000aa4565b600c556064600d5573946431fdda1fdc24008efb415f7da7667024195d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601060146101000a81548160ff02191690831515021790555060056103e8600354620001c2919062000b01565b620001ce919062000cd1565b601155348015620001de57600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002ed57600080fd5b505afa15801562000302573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032891906200093c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003ac57600080fd5b505afa158015620003c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e791906200093c565b306040518363ffffffff1660e01b815260040162000407929190620009f8565b602060405180830381600087803b1580156200042257600080fd5b505af115801562000437573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200045d91906200093c565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060016008600073946431fdda1fdc24008efb415f7da7667024195d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016009600073946431fdda1fdc24008efb415f7da7667024195d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620007d8919062000a6b565b60405180910390a35062000e9d565b600080831415620007fc576000905062000865565b600082846200080c919062000cd1565b90508284826200081d919062000b01565b1462000860576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008579062000a49565b60405180910390fd5b809150505b92915050565b6000620008b583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620008bd60201b60201c565b905092915050565b6000808311829062000907576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008fe919062000a25565b60405180910390fd5b506000838562000918919062000b01565b9050809150509392505050565b600081519050620009368162000e83565b92915050565b60006020828403121562000955576200095462000e11565b5b6000620009658482850162000925565b91505092915050565b620009798162000d32565b82525050565b60006200098c8262000a88565b62000998818562000a93565b9350620009aa81856020860162000d7d565b620009b58162000e16565b840191505092915050565b6000620009cf60218362000a93565b9150620009dc8262000e34565b604082019050919050565b620009f28162000d66565b82525050565b600060408201905062000a0f60008301856200096e565b62000a1e60208301846200096e565b9392505050565b6000602082019050818103600083015262000a4181846200097f565b905092915050565b6000602082019050818103600083015262000a6481620009c0565b9050919050565b600060208201905062000a826000830184620009e7565b92915050565b600081519050919050565b600082825260208201905092915050565b600062000ab18262000d66565b915062000abe8362000d66565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000af65762000af562000db3565b5b828201905092915050565b600062000b0e8262000d66565b915062000b1b8362000d66565b92508262000b2e5762000b2d62000de2565b5b828204905092915050565b6000808291508390505b600185111562000b8b5780860481111562000b635762000b6262000db3565b5b600185161562000b735780820291505b808102905062000b838562000e27565b945062000b43565b94509492505050565b600062000ba18262000d66565b915062000bae8362000d70565b925062000bdd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000be5565b905092915050565b60008262000bf7576001905062000cca565b8162000c07576000905062000cca565b816001811462000c20576002811462000c2b5762000c61565b600191505062000cca565b60ff84111562000c405762000c3f62000db3565b5b8360020a91508482111562000c5a5762000c5962000db3565b5b5062000cca565b5060208310610133831016604e8410600b841016171562000c9b5782820a90508381111562000c955762000c9462000db3565b5b62000cca565b62000caa848484600162000b39565b9250905081840481111562000cc45762000cc362000db3565b5b81810290505b9392505050565b600062000cde8262000d66565b915062000ceb8362000d66565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000d275762000d2662000db3565b5b828202905092915050565b600062000d3f8262000d46565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101562000d9d57808201518184015260208101905062000d80565b8381111562000dad576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b62000e8e8162000d32565b811462000e9a57600080fd5b50565b6128b38062000ead6000396000f3fe60806040526004361061016a5760003560e01c80636c0a24eb116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e1461053d578063e96fada21461057a578063f1d5f517146105a5578063f887ea40146105ce57610171565b806395d89b41146104aa578063a8aa1b31146104d5578063a9059cbb1461050057610171565b80636c0a24eb146103aa5780636ddd1713146103d557806370a0823114610400578063715018a61461043d5780637d1db4a514610454578063893d20e81461047f57610171565b80632f54bf6e116101235780632f54bf6e1461029a578063313ce567146102d7578063364333f4146103025780633eaaf86b1461031957806352f7c98814610344578063571ac8b01461036d57610171565b80630445b6671461017657806306fdde03146101a1578063095ea7b3146101cc57806318160ddd1461020957806323758e6a1461023457806323b872dd1461025d57610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105f9565b6040516101989190612375565b60405180910390f35b3480156101ad57600080fd5b506101b66105ff565b6040516101c391906122b3565b60405180910390f35b3480156101d857600080fd5b506101f360048036038101906101ee9190611f02565b61063c565b604051610200919061227d565b60405180910390f35b34801561021557600080fd5b5061021e61072e565b60405161022b9190612375565b60405180910390f35b34801561024057600080fd5b5061025b60048036038101906102569190611f42565b610738565b005b34801561026957600080fd5b50610284600480360381019061027f9190611eaf565b6107a4565b604051610291919061227d565b60405180910390f35b3480156102a657600080fd5b506102c160048036038101906102bc9190611e15565b6109a4565b6040516102ce919061227d565b60405180910390f35b3480156102e357600080fd5b506102ec6109fd565b6040516102f99190612413565b60405180910390f35b34801561030e57600080fd5b50610317610a06565b005b34801561032557600080fd5b5061032e610a71565b60405161033b9190612375565b60405180910390f35b34801561035057600080fd5b5061036b60048036038101906103669190611f6f565b610a77565b005b34801561037957600080fd5b50610394600480360381019061038f9190611e15565b610ae7565b6040516103a1919061227d565b60405180910390f35b3480156103b657600080fd5b506103bf610b1a565b6040516103cc9190612375565b60405180910390f35b3480156103e157600080fd5b506103ea610b20565b6040516103f7919061227d565b60405180910390f35b34801561040c57600080fd5b5061042760048036038101906104229190611e15565b610b33565b6040516104349190612375565b60405180910390f35b34801561044957600080fd5b50610452610b7c565b005b34801561046057600080fd5b50610469610c3f565b6040516104769190612375565b60405180910390f35b34801561048b57600080fd5b50610494610c45565b6040516104a19190612201565b60405180910390f35b3480156104b657600080fd5b506104bf610c6e565b6040516104cc91906122b3565b60405180910390f35b3480156104e157600080fd5b506104ea610cab565b6040516104f79190612201565b60405180910390f35b34801561050c57600080fd5b5061052760048036038101906105229190611f02565b610cd1565b604051610534919061227d565b60405180910390f35b34801561054957600080fd5b50610564600480360381019061055f9190611e6f565b610ce6565b6040516105719190612375565b60405180910390f35b34801561058657600080fd5b5061058f610d6d565b60405161059c9190612201565b60405180910390f35b3480156105b157600080fd5b506105cc60048036038101906105c79190611f42565b610d93565b005b3480156105da57600080fd5b506105e3610dff565b6040516105f09190612298565b60405180910390f35b60115481565b60606040518060400160405280600c81526020017f54657472756d20546f6b656e0000000000000000000000000000000000000000815250905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161071c9190612375565b60405180910390a36001905092915050565b6000600354905090565b610741336109a4565b610780576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077790612355565b60405180910390fd5b6103e8816003546107919190612515565b61079b91906124e4565b60058190555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146109905761090f826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610eea9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61099b848484610f4e565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610a6e573d6000803e3d6000fd5b50565b60035481565b610a80336109a4565b610abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab690612355565b60405180910390fd5b81600a8190555080600b81905550600b54600a54610add919061248e565b600c819055505050565b6000610b13827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61063c565b9050919050565b60045481565b601060149054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b85336109a4565b610bc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbb90612355565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610c359190612201565b60405180910390a1565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f54455452554d0000000000000000000000000000000000000000000000000000815250905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610cde338484610f4e565b905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d9c336109a4565b610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290612355565b60405180910390fd5b6103e881600354610dec9190612515565b610df691906124e4565b60048190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080831415610e385760009050610e9a565b60008284610e469190612515565b9050828482610e5591906124e4565b14610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8c90612335565b60405180910390fd5b809150505b92915050565b6000610ee283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611317565b905092915050565b6000838311158290610f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2991906122b3565b60405180910390fd5b5060008385610f41919061256f565b9050809150509392505050565b6000601260009054906101000a900460ff1615610f7757610f7084848461137a565b9050611310565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110235750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561110c57600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806110cc575060045482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c9919061248e565b11155b61110b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611102906122d5565b60405180910390fd5b5b61111461154d565b1561112257611121611624565b5b6111ab826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610eea9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006111f985611b7e565b611203578261120e565b61120d8584611bd5565b5b905061126281600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1990919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113029190612375565b60405180910390a360019150505b9392505050565b6000808311829061135e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135591906122b3565b60405180910390fd5b506000838561136d91906124e4565b9050809150509392505050565b6000611405826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610eea9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061149a82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1990919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161153a9190612375565b60405180910390a3600190509392505050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156115ba5750601260009054906101000a900460ff16155b80156115d25750601060149054906101000a900460ff165b801561161f5750601154600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601260006101000a81548160ff0219169083151502179055506000601154905060006116846002611676600c54611668600a5487610e2590919063ffffffff16565b610ea090919063ffffffff16565b610ea090919063ffffffff16565b9050600061169b8284611d7790919063ffffffff16565b90506000600267ffffffffffffffff8111156116ba576116b96126ee565b5b6040519080825280602002602001820160405280156116e85781602001602082028036833780820191505090505b5090503081600081518110611700576116ff6126bf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a257600080fd5b505afa1580156117b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117da9190611e42565b816001815181106117ee576117ed6126bf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b8152600401611891959493929190612390565b600060405180830381600087803b1580156118ab57600080fd5b505af11580156118bf573d6000803e3d6000fd5b5050505060006118d88247611d7790919063ffffffff16565b905060006119066118f56002600a54610ea090919063ffffffff16565b600c54611d7790919063ffffffff16565b90506000611944600261193684611928600a5488610e2590919063ffffffff16565b610ea090919063ffffffff16565b610ea090919063ffffffff16565b9050600061196f83611961600b5487610e2590919063ffffffff16565b610ea090919063ffffffff16565b90506000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516119bd906121ec565b600060405180830381858888f193505050503d80600081146119fb576040519150601f19603f3d011682016040523d82523d6000602084013e611a00565b606091505b5050905080611a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3b90612315565b60405180910390fd5b6000891115611b5757600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c60008073946431fdda1fdc24008efb415f7da7667024195d426040518863ffffffff1660e01b8152600401611ac89695949392919061221c565b6060604051808303818588803b158015611ae157600080fd5b505af1158015611af5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b1a9190611faf565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a604051611b4e9291906123ea565b60405180910390a15b505050505050505050506000601260006101000a81548160ff021916908315150217905550565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080611c01600d54611bf3600c5486610e2590919063ffffffff16565b610ea090919063ffffffff16565b9050611c5581600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1990919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cf59190612375565b60405180910390a3611d108184611d7790919063ffffffff16565b91505092915050565b6000808284611d28919061248e565b905083811015611d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d64906122f5565b60405180910390fd5b8091505092915050565b6000611db983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610eea565b905092915050565b600081359050611dd08161284f565b92915050565b600081519050611de58161284f565b92915050565b600081359050611dfa81612866565b92915050565b600081519050611e0f81612866565b92915050565b600060208284031215611e2b57611e2a61271d565b5b6000611e3984828501611dc1565b91505092915050565b600060208284031215611e5857611e5761271d565b5b6000611e6684828501611dd6565b91505092915050565b60008060408385031215611e8657611e8561271d565b5b6000611e9485828601611dc1565b9250506020611ea585828601611dc1565b9150509250929050565b600080600060608486031215611ec857611ec761271d565b5b6000611ed686828701611dc1565b9350506020611ee786828701611dc1565b9250506040611ef886828701611deb565b9150509250925092565b60008060408385031215611f1957611f1861271d565b5b6000611f2785828601611dc1565b9250506020611f3885828601611deb565b9150509250929050565b600060208284031215611f5857611f5761271d565b5b6000611f6684828501611deb565b91505092915050565b60008060408385031215611f8657611f8561271d565b5b6000611f9485828601611deb565b9250506020611fa585828601611deb565b9150509250929050565b600080600060608486031215611fc857611fc761271d565b5b6000611fd686828701611e00565b9350506020611fe786828701611e00565b9250506040611ff886828701611e00565b9150509250925092565b600061200e838361201a565b60208301905092915050565b612023816125a3565b82525050565b612032816125a3565b82525050565b60006120438261243e565b61204d8185612461565b93506120588361242e565b8060005b838110156120895781516120708882612002565b975061207b83612454565b92505060018101905061205c565b5085935050505092915050565b61209f816125b5565b82525050565b6120ae816125f8565b82525050565b6120bd8161261c565b82525050565b60006120ce82612449565b6120d8818561247d565b93506120e881856020860161262e565b6120f181612722565b840191505092915050565b600061210960258361247d565b915061211482612733565b604082019050919050565b600061212c601b8361247d565b915061213782612782565b602082019050919050565b600061214f601e8361247d565b915061215a826127ab565b602082019050919050565b600061217260218361247d565b915061217d826127d4565b604082019050919050565b600061219560068361247d565b91506121a082612823565b602082019050919050565b60006121b8600083612472565b91506121c38261284c565b600082019050919050565b6121d7816125e1565b82525050565b6121e6816125eb565b82525050565b60006121f7826121ab565b9150819050919050565b60006020820190506122166000830184612029565b92915050565b600060c0820190506122316000830189612029565b61223e60208301886121ce565b61224b60408301876120b4565b61225860608301866120b4565b6122656080830185612029565b61227260a08301846121ce565b979650505050505050565b60006020820190506122926000830184612096565b92915050565b60006020820190506122ad60008301846120a5565b92915050565b600060208201905081810360008301526122cd81846120c3565b905092915050565b600060208201905081810360008301526122ee816120fc565b9050919050565b6000602082019050818103600083015261230e8161211f565b9050919050565b6000602082019050818103600083015261232e81612142565b9050919050565b6000602082019050818103600083015261234e81612165565b9050919050565b6000602082019050818103600083015261236e81612188565b9050919050565b600060208201905061238a60008301846121ce565b92915050565b600060a0820190506123a560008301886121ce565b6123b260208301876120b4565b81810360408301526123c48186612038565b90506123d36060830185612029565b6123e060808301846121ce565b9695505050505050565b60006040820190506123ff60008301856121ce565b61240c60208301846121ce565b9392505050565b600060208201905061242860008301846121dd565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612499826125e1565b91506124a4836125e1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124d9576124d8612661565b5b828201905092915050565b60006124ef826125e1565b91506124fa836125e1565b92508261250a57612509612690565b5b828204905092915050565b6000612520826125e1565b915061252b836125e1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561256457612563612661565b5b828202905092915050565b600061257a826125e1565b9150612585836125e1565b92508282101561259857612597612661565b5b828203905092915050565b60006125ae826125c1565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126038261260a565b9050919050565b6000612615826125c1565b9050919050565b6000612627826125e1565b9050919050565b60005b8381101561264c578082015181840152602081019050612631565b8381111561265b576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b612858816125a3565b811461286357600080fd5b50565b61286f816125e1565b811461287a57600080fd5b5056fea264697066735822122054bd81c9e1e9fd81ad55ed4cae12f1b73f21923102c9f033e2de13facf90eb7764736f6c63430008050033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c80636c0a24eb116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e1461053d578063e96fada21461057a578063f1d5f517146105a5578063f887ea40146105ce57610171565b806395d89b41146104aa578063a8aa1b31146104d5578063a9059cbb1461050057610171565b80636c0a24eb146103aa5780636ddd1713146103d557806370a0823114610400578063715018a61461043d5780637d1db4a514610454578063893d20e81461047f57610171565b80632f54bf6e116101235780632f54bf6e1461029a578063313ce567146102d7578063364333f4146103025780633eaaf86b1461031957806352f7c98814610344578063571ac8b01461036d57610171565b80630445b6671461017657806306fdde03146101a1578063095ea7b3146101cc57806318160ddd1461020957806323758e6a1461023457806323b872dd1461025d57610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105f9565b6040516101989190612375565b60405180910390f35b3480156101ad57600080fd5b506101b66105ff565b6040516101c391906122b3565b60405180910390f35b3480156101d857600080fd5b506101f360048036038101906101ee9190611f02565b61063c565b604051610200919061227d565b60405180910390f35b34801561021557600080fd5b5061021e61072e565b60405161022b9190612375565b60405180910390f35b34801561024057600080fd5b5061025b60048036038101906102569190611f42565b610738565b005b34801561026957600080fd5b50610284600480360381019061027f9190611eaf565b6107a4565b604051610291919061227d565b60405180910390f35b3480156102a657600080fd5b506102c160048036038101906102bc9190611e15565b6109a4565b6040516102ce919061227d565b60405180910390f35b3480156102e357600080fd5b506102ec6109fd565b6040516102f99190612413565b60405180910390f35b34801561030e57600080fd5b50610317610a06565b005b34801561032557600080fd5b5061032e610a71565b60405161033b9190612375565b60405180910390f35b34801561035057600080fd5b5061036b60048036038101906103669190611f6f565b610a77565b005b34801561037957600080fd5b50610394600480360381019061038f9190611e15565b610ae7565b6040516103a1919061227d565b60405180910390f35b3480156103b657600080fd5b506103bf610b1a565b6040516103cc9190612375565b60405180910390f35b3480156103e157600080fd5b506103ea610b20565b6040516103f7919061227d565b60405180910390f35b34801561040c57600080fd5b5061042760048036038101906104229190611e15565b610b33565b6040516104349190612375565b60405180910390f35b34801561044957600080fd5b50610452610b7c565b005b34801561046057600080fd5b50610469610c3f565b6040516104769190612375565b60405180910390f35b34801561048b57600080fd5b50610494610c45565b6040516104a19190612201565b60405180910390f35b3480156104b657600080fd5b506104bf610c6e565b6040516104cc91906122b3565b60405180910390f35b3480156104e157600080fd5b506104ea610cab565b6040516104f79190612201565b60405180910390f35b34801561050c57600080fd5b5061052760048036038101906105229190611f02565b610cd1565b604051610534919061227d565b60405180910390f35b34801561054957600080fd5b50610564600480360381019061055f9190611e6f565b610ce6565b6040516105719190612375565b60405180910390f35b34801561058657600080fd5b5061058f610d6d565b60405161059c9190612201565b60405180910390f35b3480156105b157600080fd5b506105cc60048036038101906105c79190611f42565b610d93565b005b3480156105da57600080fd5b506105e3610dff565b6040516105f09190612298565b60405180910390f35b60115481565b60606040518060400160405280600c81526020017f54657472756d20546f6b656e0000000000000000000000000000000000000000815250905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161071c9190612375565b60405180910390a36001905092915050565b6000600354905090565b610741336109a4565b610780576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077790612355565b60405180910390fd5b6103e8816003546107919190612515565b61079b91906124e4565b60058190555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146109905761090f826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610eea9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61099b848484610f4e565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610a6e573d6000803e3d6000fd5b50565b60035481565b610a80336109a4565b610abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab690612355565b60405180910390fd5b81600a8190555080600b81905550600b54600a54610add919061248e565b600c819055505050565b6000610b13827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61063c565b9050919050565b60045481565b601060149054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b85336109a4565b610bc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbb90612355565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610c359190612201565b60405180910390a1565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f54455452554d0000000000000000000000000000000000000000000000000000815250905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610cde338484610f4e565b905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d9c336109a4565b610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290612355565b60405180910390fd5b6103e881600354610dec9190612515565b610df691906124e4565b60048190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080831415610e385760009050610e9a565b60008284610e469190612515565b9050828482610e5591906124e4565b14610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8c90612335565b60405180910390fd5b809150505b92915050565b6000610ee283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611317565b905092915050565b6000838311158290610f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2991906122b3565b60405180910390fd5b5060008385610f41919061256f565b9050809150509392505050565b6000601260009054906101000a900460ff1615610f7757610f7084848461137a565b9050611310565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110235750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561110c57600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806110cc575060045482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c9919061248e565b11155b61110b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611102906122d5565b60405180910390fd5b5b61111461154d565b1561112257611121611624565b5b6111ab826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610eea9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006111f985611b7e565b611203578261120e565b61120d8584611bd5565b5b905061126281600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1990919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113029190612375565b60405180910390a360019150505b9392505050565b6000808311829061135e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135591906122b3565b60405180910390fd5b506000838561136d91906124e4565b9050809150509392505050565b6000611405826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610eea9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061149a82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1990919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161153a9190612375565b60405180910390a3600190509392505050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156115ba5750601260009054906101000a900460ff16155b80156115d25750601060149054906101000a900460ff165b801561161f5750601154600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601260006101000a81548160ff0219169083151502179055506000601154905060006116846002611676600c54611668600a5487610e2590919063ffffffff16565b610ea090919063ffffffff16565b610ea090919063ffffffff16565b9050600061169b8284611d7790919063ffffffff16565b90506000600267ffffffffffffffff8111156116ba576116b96126ee565b5b6040519080825280602002602001820160405280156116e85781602001602082028036833780820191505090505b5090503081600081518110611700576116ff6126bf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a257600080fd5b505afa1580156117b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117da9190611e42565b816001815181106117ee576117ed6126bf565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b8152600401611891959493929190612390565b600060405180830381600087803b1580156118ab57600080fd5b505af11580156118bf573d6000803e3d6000fd5b5050505060006118d88247611d7790919063ffffffff16565b905060006119066118f56002600a54610ea090919063ffffffff16565b600c54611d7790919063ffffffff16565b90506000611944600261193684611928600a5488610e2590919063ffffffff16565b610ea090919063ffffffff16565b610ea090919063ffffffff16565b9050600061196f83611961600b5487610e2590919063ffffffff16565b610ea090919063ffffffff16565b90506000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516119bd906121ec565b600060405180830381858888f193505050503d80600081146119fb576040519150601f19603f3d011682016040523d82523d6000602084013e611a00565b606091505b5050905080611a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3b90612315565b60405180910390fd5b6000891115611b5757600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c60008073946431fdda1fdc24008efb415f7da7667024195d426040518863ffffffff1660e01b8152600401611ac89695949392919061221c565b6060604051808303818588803b158015611ae157600080fd5b505af1158015611af5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b1a9190611faf565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a604051611b4e9291906123ea565b60405180910390a15b505050505050505050506000601260006101000a81548160ff021916908315150217905550565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080611c01600d54611bf3600c5486610e2590919063ffffffff16565b610ea090919063ffffffff16565b9050611c5581600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d1990919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cf59190612375565b60405180910390a3611d108184611d7790919063ffffffff16565b91505092915050565b6000808284611d28919061248e565b905083811015611d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d64906122f5565b60405180910390fd5b8091505092915050565b6000611db983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610eea565b905092915050565b600081359050611dd08161284f565b92915050565b600081519050611de58161284f565b92915050565b600081359050611dfa81612866565b92915050565b600081519050611e0f81612866565b92915050565b600060208284031215611e2b57611e2a61271d565b5b6000611e3984828501611dc1565b91505092915050565b600060208284031215611e5857611e5761271d565b5b6000611e6684828501611dd6565b91505092915050565b60008060408385031215611e8657611e8561271d565b5b6000611e9485828601611dc1565b9250506020611ea585828601611dc1565b9150509250929050565b600080600060608486031215611ec857611ec761271d565b5b6000611ed686828701611dc1565b9350506020611ee786828701611dc1565b9250506040611ef886828701611deb565b9150509250925092565b60008060408385031215611f1957611f1861271d565b5b6000611f2785828601611dc1565b9250506020611f3885828601611deb565b9150509250929050565b600060208284031215611f5857611f5761271d565b5b6000611f6684828501611deb565b91505092915050565b60008060408385031215611f8657611f8561271d565b5b6000611f9485828601611deb565b9250506020611fa585828601611deb565b9150509250929050565b600080600060608486031215611fc857611fc761271d565b5b6000611fd686828701611e00565b9350506020611fe786828701611e00565b9250506040611ff886828701611e00565b9150509250925092565b600061200e838361201a565b60208301905092915050565b612023816125a3565b82525050565b612032816125a3565b82525050565b60006120438261243e565b61204d8185612461565b93506120588361242e565b8060005b838110156120895781516120708882612002565b975061207b83612454565b92505060018101905061205c565b5085935050505092915050565b61209f816125b5565b82525050565b6120ae816125f8565b82525050565b6120bd8161261c565b82525050565b60006120ce82612449565b6120d8818561247d565b93506120e881856020860161262e565b6120f181612722565b840191505092915050565b600061210960258361247d565b915061211482612733565b604082019050919050565b600061212c601b8361247d565b915061213782612782565b602082019050919050565b600061214f601e8361247d565b915061215a826127ab565b602082019050919050565b600061217260218361247d565b915061217d826127d4565b604082019050919050565b600061219560068361247d565b91506121a082612823565b602082019050919050565b60006121b8600083612472565b91506121c38261284c565b600082019050919050565b6121d7816125e1565b82525050565b6121e6816125eb565b82525050565b60006121f7826121ab565b9150819050919050565b60006020820190506122166000830184612029565b92915050565b600060c0820190506122316000830189612029565b61223e60208301886121ce565b61224b60408301876120b4565b61225860608301866120b4565b6122656080830185612029565b61227260a08301846121ce565b979650505050505050565b60006020820190506122926000830184612096565b92915050565b60006020820190506122ad60008301846120a5565b92915050565b600060208201905081810360008301526122cd81846120c3565b905092915050565b600060208201905081810360008301526122ee816120fc565b9050919050565b6000602082019050818103600083015261230e8161211f565b9050919050565b6000602082019050818103600083015261232e81612142565b9050919050565b6000602082019050818103600083015261234e81612165565b9050919050565b6000602082019050818103600083015261236e81612188565b9050919050565b600060208201905061238a60008301846121ce565b92915050565b600060a0820190506123a560008301886121ce565b6123b260208301876120b4565b81810360408301526123c48186612038565b90506123d36060830185612029565b6123e060808301846121ce565b9695505050505050565b60006040820190506123ff60008301856121ce565b61240c60208301846121ce565b9392505050565b600060208201905061242860008301846121dd565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612499826125e1565b91506124a4836125e1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124d9576124d8612661565b5b828201905092915050565b60006124ef826125e1565b91506124fa836125e1565b92508261250a57612509612690565b5b828204905092915050565b6000612520826125e1565b915061252b836125e1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561256457612563612661565b5b828202905092915050565b600061257a826125e1565b9150612585836125e1565b92508282101561259857612597612661565b5b828203905092915050565b60006125ae826125c1565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126038261260a565b9050919050565b6000612615826125c1565b9050919050565b6000612627826125e1565b9050919050565b60005b8381101561264c578082015181840152602081019050612631565b8381111561265b576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b612858816125a3565b811461286357600080fd5b50565b61286f816125e1565b811461287a57600080fd5b5056fea264697066735822122054bd81c9e1e9fd81ad55ed4cae12f1b73f21923102c9f033e2de13facf90eb7764736f6c63430008050033
Deployed Bytecode Sourcemap
5339:7973:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6425:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7510:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7932:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7240:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12875:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8450:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3577:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7334:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12592:118;;;;;;;;;;;;;:::i;:::-;;5674:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13017:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8156:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5740:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6388:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7680:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3686:131;;;;;;;;;;;;;:::i;:::-;;5805:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7596:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7420:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6360:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8286:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7791:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6240:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12718:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6329:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6425:54;;;;:::o;7510:80::-;7558:13;7582:5;;;;;;;;;;;;;;;;;7575:12;;7510:80;:::o;7932:216::-;8007:4;8059:6;8024:11;:23;8036:10;8024:23;;;;;;;;;;;;;;;:32;8048:7;8024:32;;;;;;;;;;;;;;;:41;;;;8102:7;8081:37;;8090:10;8081:37;;;8111:6;8081:37;;;;;;:::i;:::-;;;;;;;;8136:4;8129:11;;7932:216;;;;:::o;7240:88::-;7295:7;7313:12;;7306:19;;7240:88;:::o;12875:134::-;3530:19;3538:10;3530:7;:19::i;:::-;3522:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12997:4:::1;12979:13;12964:12;;:28;;;;:::i;:::-;12963:38;;;;:::i;:::-;12948:12;:53;;;;12875:134:::0;:::o;8450:370::-;8550:4;8605:17;8570:11;:19;8582:6;8570:19;;;;;;;;;;;;;;;:31;8590:10;8570:31;;;;;;;;;;;;;;;;:52;8567:186;;8672:69;8708:6;8672:69;;;;;;;;;;;;;;;;;:11;:19;8684:6;8672:19;;;;;;;;;;;;;;;:31;8692:10;8672:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;8638:11;:19;8650:6;8638:19;;;;;;;;;;;;;;;:31;8658:10;8638:31;;;;;;;;;;;;;;;:103;;;;8567:186;8772:40;8786:6;8794:9;8805:6;8772:13;:40::i;:::-;8765:47;;8450:370;;;;;:::o;3577:103::-;3632:4;3667:5;;;;;;;;;;;3656:16;;:7;:16;;;3649:23;;3577:103;;;:::o;7334:80::-;7386:5;5664:1;7395:16;;7334:80;:::o;12592:118::-;12649:20;;;;;;;;;;;12641:38;;:61;12680:21;12641:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12592:118::o;5674:59::-;;;;:::o;13017:220::-;3530:19;3538:10;3530:7;:19::i;:::-;3522:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13125:13:::1;13110:12;:28;;;;13166:13;13151:12;:28;;;;13217:12;;13202;;:27;;;;:::i;:::-;13191:8;:38;;;;13017:220:::0;;:::o;8156:122::-;8211:4;8235:35;8243:7;8252:17;8235:7;:35::i;:::-;8228:42;;8156:122;;;:::o;5740:58::-;;;;:::o;6388:30::-;;;;;;;;;;;;;:::o;7680:105::-;7746:7;7764:9;:18;7774:7;7764:18;;;;;;;;;;;;;;;;7757:25;;7680:105;;;:::o;3686:131::-;3530:19;3538:10;3530:7;:19::i;:::-;3522:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3759:1:::1;3743:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;3777:32;3806:1;3777:32;;;;;;:::i;:::-;;;;;;;;3686:131::o:0;5805:58::-;;;;:::o;7596:78::-;7648:7;7666:5;;;;;;;;;;;7659:12;;7596:78;:::o;7420:84::-;7470:13;7494:7;;;;;;;;;;;;;;;;;7487:14;;7420:84;:::o;6360:19::-;;;;;;;;;;;;;:::o;8286:156::-;8366:4;8390:44;8404:10;8416:9;8427:6;8390:13;:44::i;:::-;8383:51;;8286:156;;;;:::o;7791:133::-;7875:7;7893:11;:19;7905:6;7893:19;;;;;;;;;;;;;;;:28;7913:7;7893:28;;;;;;;;;;;;;;;;7886:35;;7791:133;;;;:::o;6240:80::-;;;;;;;;;;;;;:::o;12718:142::-;3530:19;3538:10;3530:7;:19::i;:::-;3522:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12848:4:::1;12830:13;12815:12;;:28;;;;:::i;:::-;12814:38;;;;:::i;:::-;12795:16;:57;;;;12718:142:::0;:::o;6329:24::-;;;;;;;;;;;;;:::o;1856:246::-;1914:7;1943:1;1938;:6;1934:47;;;1968:1;1961:8;;;;1934:47;1991:9;2007:1;2003;:5;;;;:::i;:::-;1991:17;;2036:1;2031;2027;:5;;;;:::i;:::-;:10;2019:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2093:1;2086:8;;;1856:246;;;;;:::o;2108:132::-;2166:7;2193:39;2197:1;2200;2193:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2186:46;;2108:132;;;;:::o;1660:190::-;1746:7;1779:1;1774;:6;;1782:12;1766:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1806:9;1822:1;1818;:5;;;;:::i;:::-;1806:17;;1841:1;1834:8;;;1660:190;;;;;:::o;8828:792::-;8920:4;8940:6;;;;;;;;;;;8937:63;;;8956:41;8971:6;8979:9;8990:6;8956:14;:41::i;:::-;8949:48;;;;8937:63;9037:4;;;;;;;;;;;9024:17;;:9;:17;;;;:38;;;;;9058:4;;;;;;;;;;;9045:17;;:9;:17;;;;9024:38;9020:200;;;9087:15;:26;9103:9;9087:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;9150:16;;9140:6;9117:9;:20;9127:9;9117:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;9087:79;9079:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;9020:200;9243:16;:14;:16::i;:::-;9240:35;;;9262:10;:8;:10::i;:::-;9240:35;9308:53;9330:6;9308:53;;;;;;;;;;;;;;;;;:9;:17;9318:6;9308:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9288:9;:17;9298:6;9288:17;;;;;;;;;;;;;;;:73;;;;9374:22;9399:21;9413:6;9399:13;:21::i;:::-;:56;;9449:6;9399:56;;;9423:23;9431:6;9439;9423:7;:23::i;:::-;9399:56;9374:81;;9489:40;9514:14;9489:9;:20;9499:9;9489:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;9466:9;:20;9476:9;9466:20;;;;;;;;;;;;;;;:63;;;;9564:9;9547:43;;9556:6;9547:43;;;9575:14;9547:43;;;;;;:::i;:::-;;;;;;;;9608:4;9601:11;;;8828:792;;;;;;:::o;2246:189::-;2332:7;2364:1;2360;:5;2367:12;2352:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2391:9;2407:1;2403;:5;;;;:::i;:::-;2391:17;;2426:1;2419:8;;;2246:189;;;;;:::o;9632:330::-;9725:4;9762:53;9784:6;9762:53;;;;;;;;;;;;;;;;;:9;:17;9772:6;9762:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9742:9;:17;9752:6;9742:17;;;;;;;;;;;;;;;:73;;;;9849:32;9874:6;9849:9;:20;9859:9;9849:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9826:9;:20;9836:9;9826:20;;;;;;;;;;;;;;;:55;;;;9914:9;9897:35;;9906:6;9897:35;;;9925:6;9897:35;;;;;;:::i;:::-;;;;;;;;9950:4;9943:11;;9632:330;;;;;:::o;10429:197::-;10478:4;10516;;;;;;;;;;;10502:18;;:10;:18;;;;:38;;;;;10534:6;;;;;;;;;;;10533:7;10502:38;:62;;;;;10553:11;;;;;;;;;;;10502:62;:116;;;;;10605:13;;10577:9;:24;10595:4;10577:24;;;;;;;;;;;;;;;;:41;;10502:116;10495:123;;10429:197;:::o;10634:1572::-;6543:4;6534:6;;:13;;;;;;;;;;;;;;;;;;10683:28:::1;10714:13;;10683:44;;10738:23;10764:59;10821:1;10764:52;10807:8;;10764:38;10789:12;;10764:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;10738:85;;10834:20;10857:41;10882:15;10857:20;:24;;:41;;;;:::i;:::-;10834:64;;10911:21;10949:1;10935:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10911:40;;10980:4;10962;10967:1;10962:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11006:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10996:4;11001:1;10996:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11032:21;11056;11032:45;;11090:6;;;;;;;;;;;:57;;;11162:12;11189:1;11205:4;11232;11252:15;11090:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11289:17;11309:40;11335:13;11309:21;:25;;:40;;;;:::i;:::-;11289:60;;11360:19;11382:33;11395:19;11412:1;11395:12;;:16;;:19;;;;:::i;:::-;11382:8;;:12;;:33;;;;:::i;:::-;11360:55;;11426:26;11455:51;11504:1;11455:44;11487:11;11455:27;11469:12;;11455:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;11426:80;;11517:26;11546:44;11578:11;11546:27;11560:12;;11546:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;11517:73;;11606:21;11664:20;;;;;;;;;;;11656:34;;11698:18;11723:5;11656:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11605:128;;;11752:16;11744:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;11837:1;11819:15;:19;11816:383;;;11854:6;;;;;;;;;;;:22;;;11884:18;11930:4;11954:15;11988:1;12008::::0;12028:42:::1;12089:15;11854:265;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12139:48;12151:18;12171:15;12139:48;;;;;;;:::i;:::-;;;;;;;;11816:383;10672:1534;;;;;;;;;;6561:5:::0;6552:6;;:14;;;;;;;;;;;;;;;;;;10634:1572::o;9970:114::-;10032:4;10057:11;:19;10069:6;10057:19;;;;;;;;;;;;;;;;;;;;;;;;;10056:20;10049:27;;9970:114;;;:::o;10092:329::-;10159:7;10179:17;10199:40;10224:14;;10199:20;10210:8;;10199:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;10179:60;;10277:39;10306:9;10277;:24;10295:4;10277:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10250:9;:24;10268:4;10250:24;;;;;;;;;;;;;;;:66;;;;10357:4;10332:42;;10341:6;10332:42;;;10364:9;10332:42;;;;;;:::i;:::-;;;;;;;;10392:21;10403:9;10392:6;:10;;:21;;;;:::i;:::-;10385:28;;;10092:329;;;;:::o;1333:179::-;1391:7;1411:9;1427:1;1423;:5;;;;:::i;:::-;1411:17;;1452:1;1447;:6;;1439:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1503:1;1496:8;;;1333:179;;;;:::o;1518:136::-;1576:7;1603:43;1607:1;1610;1603:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1596:50;;1518:136;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;353:87;;;;:::o;446:143::-;503:5;534:6;528:13;519:22;;550:33;577:5;550:33;:::i;:::-;509:80;;;;:::o;595:329::-;654:6;703:2;691:9;682:7;678:23;674:32;671:2;;;709:79;;:::i;:::-;671:2;829:1;854:53;899:7;890:6;879:9;875:22;854:53;:::i;:::-;844:63;;800:117;661:263;;;;:::o;930:351::-;1000:6;1049:2;1037:9;1028:7;1024:23;1020:32;1017:2;;;1055:79;;:::i;:::-;1017:2;1175:1;1200:64;1256:7;1247:6;1236:9;1232:22;1200:64;:::i;:::-;1190:74;;1146:128;1007:274;;;;:::o;1287:474::-;1355:6;1363;1412:2;1400:9;1391:7;1387:23;1383:32;1380:2;;;1418:79;;:::i;:::-;1380:2;1538:1;1563:53;1608:7;1599:6;1588:9;1584:22;1563:53;:::i;:::-;1553:63;;1509:117;1665:2;1691:53;1736:7;1727:6;1716:9;1712:22;1691:53;:::i;:::-;1681:63;;1636:118;1370:391;;;;;:::o;1767:619::-;1844:6;1852;1860;1909:2;1897:9;1888:7;1884:23;1880:32;1877:2;;;1915:79;;:::i;:::-;1877:2;2035:1;2060:53;2105:7;2096:6;2085:9;2081:22;2060:53;:::i;:::-;2050:63;;2006:117;2162:2;2188:53;2233:7;2224:6;2213:9;2209:22;2188:53;:::i;:::-;2178:63;;2133:118;2290:2;2316:53;2361:7;2352:6;2341:9;2337:22;2316:53;:::i;:::-;2306:63;;2261:118;1867:519;;;;;:::o;2392:474::-;2460:6;2468;2517:2;2505:9;2496:7;2492:23;2488:32;2485:2;;;2523:79;;:::i;:::-;2485:2;2643:1;2668:53;2713:7;2704:6;2693:9;2689:22;2668:53;:::i;:::-;2658:63;;2614:117;2770:2;2796:53;2841:7;2832:6;2821:9;2817:22;2796:53;:::i;:::-;2786:63;;2741:118;2475:391;;;;;:::o;2872:329::-;2931:6;2980:2;2968:9;2959:7;2955:23;2951:32;2948:2;;;2986:79;;:::i;:::-;2948:2;3106:1;3131:53;3176:7;3167:6;3156:9;3152:22;3131:53;:::i;:::-;3121:63;;3077:117;2938:263;;;;:::o;3207:474::-;3275:6;3283;3332:2;3320:9;3311:7;3307:23;3303:32;3300:2;;;3338:79;;:::i;:::-;3300:2;3458:1;3483:53;3528:7;3519:6;3508:9;3504:22;3483:53;:::i;:::-;3473:63;;3429:117;3585:2;3611:53;3656:7;3647:6;3636:9;3632:22;3611:53;:::i;:::-;3601:63;;3556:118;3290:391;;;;;:::o;3687:663::-;3775:6;3783;3791;3840:2;3828:9;3819:7;3815:23;3811:32;3808:2;;;3846:79;;:::i;:::-;3808:2;3966:1;3991:64;4047:7;4038:6;4027:9;4023:22;3991:64;:::i;:::-;3981:74;;3937:128;4104:2;4130:64;4186:7;4177:6;4166:9;4162:22;4130:64;:::i;:::-;4120:74;;4075:129;4243:2;4269:64;4325:7;4316:6;4305:9;4301:22;4269:64;:::i;:::-;4259:74;;4214:129;3798:552;;;;;:::o;4356:179::-;4425:10;4446:46;4488:3;4480:6;4446:46;:::i;:::-;4524:4;4519:3;4515:14;4501:28;;4436:99;;;;:::o;4541:108::-;4618:24;4636:5;4618:24;:::i;:::-;4613:3;4606:37;4596:53;;:::o;4655:118::-;4742:24;4760:5;4742:24;:::i;:::-;4737:3;4730:37;4720:53;;:::o;4809:732::-;4928:3;4957:54;5005:5;4957:54;:::i;:::-;5027:86;5106:6;5101:3;5027:86;:::i;:::-;5020:93;;5137:56;5187:5;5137:56;:::i;:::-;5216:7;5247:1;5232:284;5257:6;5254:1;5251:13;5232:284;;;5333:6;5327:13;5360:63;5419:3;5404:13;5360:63;:::i;:::-;5353:70;;5446:60;5499:6;5446:60;:::i;:::-;5436:70;;5292:224;5279:1;5276;5272:9;5267:14;;5232:284;;;5236:14;5532:3;5525:10;;4933:608;;;;;;;:::o;5547:109::-;5628:21;5643:5;5628:21;:::i;:::-;5623:3;5616:34;5606:50;;:::o;5662:167::-;5767:55;5816:5;5767:55;:::i;:::-;5762:3;5755:68;5745:84;;:::o;5835:147::-;5930:45;5969:5;5930:45;:::i;:::-;5925:3;5918:58;5908:74;;:::o;5988:364::-;6076:3;6104:39;6137:5;6104:39;:::i;:::-;6159:71;6223:6;6218:3;6159:71;:::i;:::-;6152:78;;6239:52;6284:6;6279:3;6272:4;6265:5;6261:16;6239:52;:::i;:::-;6316:29;6338:6;6316:29;:::i;:::-;6311:3;6307:39;6300:46;;6080:272;;;;;:::o;6358:366::-;6500:3;6521:67;6585:2;6580:3;6521:67;:::i;:::-;6514:74;;6597:93;6686:3;6597:93;:::i;:::-;6715:2;6710:3;6706:12;6699:19;;6504:220;;;:::o;6730:366::-;6872:3;6893:67;6957:2;6952:3;6893:67;:::i;:::-;6886:74;;6969:93;7058:3;6969:93;:::i;:::-;7087:2;7082:3;7078:12;7071:19;;6876:220;;;:::o;7102:366::-;7244:3;7265:67;7329:2;7324:3;7265:67;:::i;:::-;7258:74;;7341:93;7430:3;7341:93;:::i;:::-;7459:2;7454:3;7450:12;7443:19;;7248:220;;;:::o;7474:366::-;7616:3;7637:67;7701:2;7696:3;7637:67;:::i;:::-;7630:74;;7713:93;7802:3;7713:93;:::i;:::-;7831:2;7826:3;7822:12;7815:19;;7620:220;;;:::o;7846:365::-;7988:3;8009:66;8073:1;8068:3;8009:66;:::i;:::-;8002:73;;8084:93;8173:3;8084:93;:::i;:::-;8202:2;8197:3;8193:12;8186:19;;7992:219;;;:::o;8217:398::-;8376:3;8397:83;8478:1;8473:3;8397:83;:::i;:::-;8390:90;;8489:93;8578:3;8489:93;:::i;:::-;8607:1;8602:3;8598:11;8591:18;;8380:235;;;:::o;8621:118::-;8708:24;8726:5;8708:24;:::i;:::-;8703:3;8696:37;8686:53;;:::o;8745:112::-;8828:22;8844:5;8828:22;:::i;:::-;8823:3;8816:35;8806:51;;:::o;8863:379::-;9047:3;9069:147;9212:3;9069:147;:::i;:::-;9062:154;;9233:3;9226:10;;9051:191;;;:::o;9248:222::-;9341:4;9379:2;9368:9;9364:18;9356:26;;9392:71;9460:1;9449:9;9445:17;9436:6;9392:71;:::i;:::-;9346:124;;;;:::o;9476:807::-;9725:4;9763:3;9752:9;9748:19;9740:27;;9777:71;9845:1;9834:9;9830:17;9821:6;9777:71;:::i;:::-;9858:72;9926:2;9915:9;9911:18;9902:6;9858:72;:::i;:::-;9940:80;10016:2;10005:9;10001:18;9992:6;9940:80;:::i;:::-;10030;10106:2;10095:9;10091:18;10082:6;10030:80;:::i;:::-;10120:73;10188:3;10177:9;10173:19;10164:6;10120:73;:::i;:::-;10203;10271:3;10260:9;10256:19;10247:6;10203:73;:::i;:::-;9730:553;;;;;;;;;:::o;10289:210::-;10376:4;10414:2;10403:9;10399:18;10391:26;;10427:65;10489:1;10478:9;10474:17;10465:6;10427:65;:::i;:::-;10381:118;;;;:::o;10505:258::-;10616:4;10654:2;10643:9;10639:18;10631:26;;10667:89;10753:1;10742:9;10738:17;10729:6;10667:89;:::i;:::-;10621:142;;;;:::o;10769:313::-;10882:4;10920:2;10909:9;10905:18;10897:26;;10969:9;10963:4;10959:20;10955:1;10944:9;10940:17;10933:47;10997:78;11070:4;11061:6;10997:78;:::i;:::-;10989:86;;10887:195;;;;:::o;11088:419::-;11254:4;11292:2;11281:9;11277:18;11269:26;;11341:9;11335:4;11331:20;11327:1;11316:9;11312:17;11305:47;11369:131;11495:4;11369:131;:::i;:::-;11361:139;;11259:248;;;:::o;11513:419::-;11679:4;11717:2;11706:9;11702:18;11694:26;;11766:9;11760:4;11756:20;11752:1;11741:9;11737:17;11730:47;11794:131;11920:4;11794:131;:::i;:::-;11786:139;;11684:248;;;:::o;11938:419::-;12104:4;12142:2;12131:9;12127:18;12119:26;;12191:9;12185:4;12181:20;12177:1;12166:9;12162:17;12155:47;12219:131;12345:4;12219:131;:::i;:::-;12211:139;;12109:248;;;:::o;12363:419::-;12529:4;12567:2;12556:9;12552:18;12544:26;;12616:9;12610:4;12606:20;12602:1;12591:9;12587:17;12580:47;12644:131;12770:4;12644:131;:::i;:::-;12636:139;;12534:248;;;:::o;12788:419::-;12954:4;12992:2;12981:9;12977:18;12969:26;;13041:9;13035:4;13031:20;13027:1;13016:9;13012:17;13005:47;13069:131;13195:4;13069:131;:::i;:::-;13061:139;;12959:248;;;:::o;13213:222::-;13306:4;13344:2;13333:9;13329:18;13321:26;;13357:71;13425:1;13414:9;13410:17;13401:6;13357:71;:::i;:::-;13311:124;;;;:::o;13441:831::-;13704:4;13742:3;13731:9;13727:19;13719:27;;13756:71;13824:1;13813:9;13809:17;13800:6;13756:71;:::i;:::-;13837:80;13913:2;13902:9;13898:18;13889:6;13837:80;:::i;:::-;13964:9;13958:4;13954:20;13949:2;13938:9;13934:18;13927:48;13992:108;14095:4;14086:6;13992:108;:::i;:::-;13984:116;;14110:72;14178:2;14167:9;14163:18;14154:6;14110:72;:::i;:::-;14192:73;14260:3;14249:9;14245:19;14236:6;14192:73;:::i;:::-;13709:563;;;;;;;;:::o;14278:332::-;14399:4;14437:2;14426:9;14422:18;14414:26;;14450:71;14518:1;14507:9;14503:17;14494:6;14450:71;:::i;:::-;14531:72;14599:2;14588:9;14584:18;14575:6;14531:72;:::i;:::-;14404:206;;;;;:::o;14616:214::-;14705:4;14743:2;14732:9;14728:18;14720:26;;14756:67;14820:1;14809:9;14805:17;14796:6;14756:67;:::i;:::-;14710:120;;;;:::o;14917:132::-;14984:4;15007:3;14999:11;;15037:4;15032:3;15028:14;15020:22;;14989:60;;;:::o;15055:114::-;15122:6;15156:5;15150:12;15140:22;;15129:40;;;:::o;15175:99::-;15227:6;15261:5;15255:12;15245:22;;15234:40;;;:::o;15280:113::-;15350:4;15382;15377:3;15373:14;15365:22;;15355:38;;;:::o;15399:184::-;15498:11;15532:6;15527:3;15520:19;15572:4;15567:3;15563:14;15548:29;;15510:73;;;;:::o;15589:147::-;15690:11;15727:3;15712:18;;15702:34;;;;:::o;15742:169::-;15826:11;15860:6;15855:3;15848:19;15900:4;15895:3;15891:14;15876:29;;15838:73;;;;:::o;15917:305::-;15957:3;15976:20;15994:1;15976:20;:::i;:::-;15971:25;;16010:20;16028:1;16010:20;:::i;:::-;16005:25;;16164:1;16096:66;16092:74;16089:1;16086:81;16083:2;;;16170:18;;:::i;:::-;16083:2;16214:1;16211;16207:9;16200:16;;15961:261;;;;:::o;16228:185::-;16268:1;16285:20;16303:1;16285:20;:::i;:::-;16280:25;;16319:20;16337:1;16319:20;:::i;:::-;16314:25;;16358:1;16348:2;;16363:18;;:::i;:::-;16348:2;16405:1;16402;16398:9;16393:14;;16270:143;;;;:::o;16419:348::-;16459:7;16482:20;16500:1;16482:20;:::i;:::-;16477:25;;16516:20;16534:1;16516:20;:::i;:::-;16511:25;;16704:1;16636:66;16632:74;16629:1;16626:81;16621:1;16614:9;16607:17;16603:105;16600:2;;;16711:18;;:::i;:::-;16600:2;16759:1;16756;16752:9;16741:20;;16467:300;;;;:::o;16773:191::-;16813:4;16833:20;16851:1;16833:20;:::i;:::-;16828:25;;16867:20;16885:1;16867:20;:::i;:::-;16862:25;;16906:1;16903;16900:8;16897:2;;;16911:18;;:::i;:::-;16897:2;16956:1;16953;16949:9;16941:17;;16818:146;;;;:::o;16970:96::-;17007:7;17036:24;17054:5;17036:24;:::i;:::-;17025:35;;17015:51;;;:::o;17072:90::-;17106:7;17149:5;17142:13;17135:21;17124:32;;17114:48;;;:::o;17168:126::-;17205:7;17245:42;17238:5;17234:54;17223:65;;17213:81;;;:::o;17300:77::-;17337:7;17366:5;17355:16;;17345:32;;;:::o;17383:86::-;17418:7;17458:4;17451:5;17447:16;17436:27;;17426:43;;;:::o;17475:162::-;17543:9;17576:55;17625:5;17576:55;:::i;:::-;17563:68;;17553:84;;;:::o;17643:131::-;17711:9;17744:24;17762:5;17744:24;:::i;:::-;17731:37;;17721:53;;;:::o;17780:121::-;17838:9;17871:24;17889:5;17871:24;:::i;:::-;17858:37;;17848:53;;;:::o;17907:307::-;17975:1;17985:113;17999:6;17996:1;17993:13;17985:113;;;18084:1;18079:3;18075:11;18069:18;18065:1;18060:3;18056:11;18049:39;18021:2;18018:1;18014:10;18009:15;;17985:113;;;18116:6;18113:1;18110:13;18107:2;;;18196:1;18187:6;18182:3;18178:16;18171:27;18107:2;17956:258;;;;:::o;18220:180::-;18268:77;18265:1;18258:88;18365:4;18362:1;18355:15;18389:4;18386:1;18379:15;18406:180;18454:77;18451:1;18444:88;18551:4;18548:1;18541:15;18575:4;18572:1;18565:15;18592:180;18640:77;18637:1;18630:88;18737:4;18734:1;18727:15;18761:4;18758:1;18751:15;18778:180;18826:77;18823:1;18816:88;18923:4;18920:1;18913:15;18947:4;18944:1;18937:15;19087:117;19196:1;19193;19186:12;19210:102;19251:6;19302:2;19298:7;19293:2;19286:5;19282:14;19278:28;19268:38;;19258:54;;;:::o;19318:224::-;19458:34;19454:1;19446:6;19442:14;19435:58;19527:7;19522:2;19514:6;19510:15;19503:32;19424:118;:::o;19548:177::-;19688:29;19684:1;19676:6;19672:14;19665:53;19654:71;:::o;19731:180::-;19871:32;19867:1;19859:6;19855:14;19848:56;19837:74;:::o;19917:220::-;20057:34;20053:1;20045:6;20041:14;20034:58;20126:3;20121:2;20113:6;20109:15;20102:28;20023:114;:::o;20143:156::-;20283:8;20279:1;20271:6;20267:14;20260:32;20249:50;:::o;20305:114::-;20411:8;:::o;20425:122::-;20498:24;20516:5;20498:24;:::i;:::-;20491:5;20488:35;20478:2;;20537:1;20534;20527:12;20478:2;20468:79;:::o;20553:122::-;20626:24;20644:5;20626:24;:::i;:::-;20619:5;20616:35;20606:2;;20665:1;20662;20655:12;20606:2;20596:79;:::o
Swarm Source
ipfs://54bd81c9e1e9fd81ad55ed4cae12f1b73f21923102c9f033e2de13facf90eb77
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.