ERC-20
Overview
Max Total Supply
1,000,000,000 Dohan
Holders
161
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
7,677,893.069168483 DohanValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DOHAN
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-25 */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function transferOwnership(address _newOwner) public virtual onlyOwner { emit OwnershipTransferred(_owner, _newOwner); _owner = _newOwner; } 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 swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; 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 DOHAN is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping (address => uint) private cooldown; uint256 private time; uint256 private _tax; uint256 private constant _tTotal = 1 * 10**9 * 10**9; uint256 private fee1=160; uint256 private fee2=460; uint256 private taikaBuyFee=50; string private constant _name = "Yakedo"; string private constant _symbol = "Dohan"; uint256 private _maxTxAmount = _tTotal.div(100); uint256 private _maxWalletAmount = _tTotal.div(50); uint256 private minBalance = _tTotal.div(1000); uint8 private constant _decimals = 9; address payable private _deployer; address payable private _feeWallet; address payable private _feeWallet2; address payable private _feeWallet3; address payable private _feeWallet4; address[3] taikaHolders = [ 0x447c1604043B88aaB28be1479875ff499FCC4075, 0x3cbAE37583B013Bf5917C530321D4c16EfAe57b7, 0x0c1B7cB060705355f67026B3B63DF882abD1C738 ]; address[7] taikaHolders2 = [ 0xADC28A4464a39CbDa8f6f6a1c9499168C8DC6829, 0xb3f24834C5a1BfE30efA51556A468298d95df14A, 0x69b6aBb47c9A9f4a741Bde0E31fEE7E1B3E3c73A, 0x21650f255eca111E52Af5974A053F6f61714e6a9, 0x1d5c2123C9e20821B2eb3D2f1FcC90607C6A5CC4, 0x289Aa48798649b398150A2C5E92Cece34FA75DaF, 0x3C8cbD613857965267bcd4bdEC7b794Dd53969A0 ]; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private taikaBurn = true; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () payable { _deployer = payable(msg.sender); _feeWallet = payable(0x84c18d2E33dA25081949aFD6eDAdaa49A95197f6); _feeWallet2 = payable(0xec55fBf0191e2eEC42d66b6CC5484125567251B7); _feeWallet3 = payable(0xD13d749fAB0Bc3637c4f94bf4E11C2290FC9D4d9); _feeWallet4 = payable(0x9b37b0A06A274Fe8E9e3C0FC0085f33BB344a4cA); _tOwned[address(this)] = _tTotal; _tOwned[address(0x84c18d2E33dA25081949aFD6eDAdaa49A95197f6)] = _tTotal.div(100).mul(7); _tOwned[address(0xAE74b0f09cAFDC770e9a127464c7B8983a57804c)] = _tTotal.div(100).mul(4); _tOwned[address(0x5Dd953d76a3F4688C8B64397bd3aDE8bC05BBc6E)] = _tTotal.div(100).mul(3); _tOwned[address(0xDB6A1E020F85b295dAe895af8f02b0784F3613e6)] = _tTotal.div(100); _tOwned[address(0x0BCDe6e69Fe6B30D253902F20e59055befdb4a07)] = _tTotal.div(100); _tOwned[address(0x4220432E6963cc72Bdb575eC1e86662B55b8BA21)] = _tTotal.div(100); for (uint i=0;i<3;i++) { _tOwned[taikaHolders[i]] = _tTotal.div(100); } for (uint i=0;i<7;i++) { _tOwned[taikaHolders2[i]] = _tTotal.div(200); } _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_deployer] = true; _isExcludedFromFee[uniswapV2Pair] = true; uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); emit Transfer(address(0),address(this),_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 _tOwned[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 taikaSwitch() external { require(_msgSender() == _deployer); taikaBurn = !taikaBurn; } function changeMinBalance(uint256 newMin) external { require(_msgSender() == _deployer); minBalance = newMin; } function editFees(uint256 _fee1, uint256 _fee2, uint256 _liq) external { require(_msgSender() == _deployer); require(_fee1 <= 100 && _fee2 <= 100 && _liq <= 100,"fees cannot be higher than 10%"); fee1 = _fee1; fee2 = _fee2; taikaBuyFee = _liq; } function removeLimits() external { require(_msgSender() == _deployer); _maxTxAmount = _tTotal; _maxWalletAmount = _tTotal; } function excludeFromFees(address target) external { require(_msgSender() == _deployer); _isExcludedFromFee[target] = true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (to != uniswapV2Pair) { require((_tOwned[to] + amount) <= _maxWalletAmount,"too many tokens scumbag"); } _tax = fee1.add(taikaBuyFee); if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && (block.timestamp < time)){ // Cooldown require(amount <= _maxTxAmount); require(cooldown[to] < block.timestamp); cooldown[to] = block.timestamp + (30 seconds); } if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from]) { require(block.timestamp > time,"Sells prohibited for the first 5 minutes"); uint256 contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance > minBalance){ swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { if(taikaBurn) { swapEthForTaikaAndBurn(contractETHBalance); } sendETHToFee(address(this).balance); } } } } if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) { _tax = fee2.add(taikaBuyFee); } _transferStandard(from,to,amount); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function swapEthForTaikaAndBurn(uint256 ethAmount) private { uint256 buyAmount = ethAmount.div(10).mul(2); address [] memory path = new address[](2); path[0] = uniswapV2Router.WETH(); path[1] = address(0x072d419f64e3F5CbdcA897004f0cA8F46Dc7c546); uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: buyAmount}( 0, path, address(0xdead), block.timestamp ); } function addLiquidity(uint256 tokenAmount,uint256 ethAmount,address target) private lockTheSwap{ _approve(address(this),address(uniswapV2Router),tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,target,block.timestamp); } function sendETHToFee(uint256 amount) private { _feeWallet4.transfer(amount.div(4)); _feeWallet.transfer(amount.div(4)); _feeWallet2.transfer(amount.div(4)); _feeWallet3.transfer(amount.div(4)); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); addLiquidity(balanceOf(address(this)),address(this).balance,owner()); swapEnabled = true; tradingOpen = true; time = block.timestamp + (3 minutes); } function setBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBot(address notbot) public onlyOwner { bots[notbot] = false; } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 transferAmount,uint256 tfee) = _getTValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _tOwned[recipient] = _tOwned[recipient].add(transferAmount); _tOwned[address(this)] = _tOwned[address(this)].add(tfee); emit Transfer(sender, recipient, transferAmount); } receive() external payable {} function manualswap() external { require(_msgSender() == _deployer); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _deployer); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getTValues(uint256 tAmount) private view returns (uint256, uint256) { uint256 tFee = tAmount.mul(_tax).div(1000); uint256 tTransferAmount = tAmount.sub(tFee); return (tTransferAmount, tFee); } function recoverTokens(address tokenAddress) external { require(_msgSender() == _deployer); IERC20 recoveryToken = IERC20(tokenAddress); recoveryToken.transfer(_deployer,recoveryToken.balanceOf(address(this))); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee1","type":"uint256"},{"internalType":"uint256","name":"_fee2","type":"uint256"},{"internalType":"uint256","name":"_liq","type":"uint256"}],"name":"editFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taikaSwitch","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260a06009556101cc600a556032600b55620000376064670de0b6b3a764000062000fa260201b620013471790919060201c565b600c556200005d6032670de0b6b3a764000062000fa260201b620013471790919060201c565b600d55620000846103e8670de0b6b3a764000062000fa260201b620013471790919060201c565b600e55604051806060016040528073447c1604043b88aab28be1479875ff499fcc407573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001733cbae37583b013bf5917c530321d4c16efae57b773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001730c1b7cb060705355f67026b3b63df882abd1c73873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525060149060036200017492919062001111565b506040518060e0016040528073adc28a4464a39cbda8f6f6a1c9499168c8dc682973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173b3f24834c5a1bfe30efa51556a468298d95df14a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017369b6abb47c9a9f4a741bde0e31fee7e1b3e3c73a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017321650f255eca111e52af5974a053f6f61714e6a973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001731d5c2123c9e20821b2eb3d2f1fcc90607c6a5cc473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173289aa48798649b398150a2c5e92cece34fa75daf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001733c8cbd613857965267bcd4bdec7b794dd53969a073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525060179060076200037a92919062001193565b506001601f60146101000a81548160ff0219169083151502179055506000601f60166101000a81548160ff0219169083151502179055506000601f60176101000a81548160ff0219169083151502179055506000620003de62000ff460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507384c18d2e33da25081949afd6edadaa49a95197f6601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ec55fbf0191e2eec42d66b6cc5484125567251b7601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d13d749fab0bc3637c4f94bf4e11c2290fc9d4d9601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739b37b0a06a274fe8e9e3c0fc0085f33bb344a4ca601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550670de0b6b3a7640000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200069a6007620006866064670de0b6b3a764000062000fa260201b620013471790919060201c565b62000ffc60201b620013911790919060201c565b600260007384c18d2e33da25081949afd6edadaa49a95197f673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200072e60046200071a6064670de0b6b3a764000062000fa260201b620013471790919060201c565b62000ffc60201b620013911790919060201c565b6002600073ae74b0f09cafdc770e9a127464c7b8983a57804c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620007c26003620007ae6064670de0b6b3a764000062000fa260201b620013471790919060201c565b62000ffc60201b620013911790919060201c565b60026000735dd953d76a3f4688c8b64397bd3ade8bc05bbc6e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200083c6064670de0b6b3a764000062000fa260201b620013471790919060201c565b6002600073db6a1e020f85b295dae895af8f02b0784f3613e673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620008b66064670de0b6b3a764000062000fa260201b620013471790919060201c565b60026000730bcde6e69fe6b30d253902f20e59055befdb4a0773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620009306064670de0b6b3a764000062000fa260201b620013471790919060201c565b60026000734220432e6963cc72bdb575ec1e86662b55b8ba2173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060005b600381101562000a4857620009b76064670de0b6b3a764000062000fa260201b620013471790919060201c565b6002600060148460038110620009d257620009d16200156c565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808062000a3f90620014c0565b9150506200098a565b5060005b600781101562000b0a5762000a7960c8670de0b6b3a764000062000fa260201b620013471790919060201c565b600260006017846007811062000a945762000a936200156c565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808062000b0190620014c0565b91505062000a4c565b5060016004600062000b216200108060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801562000d7c57600080fd5b505afa15801562000d91573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000db791906200124b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801562000e3c57600080fd5b505afa15801562000e51573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e7791906200124b565b6040518363ffffffff1660e01b815260040162000e9692919062001307565b602060405180830381600087803b15801562000eb157600080fd5b505af115801562000ec6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000eec91906200124b565b601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a764000060405162000f9491906200137a565b60405180910390a36200161a565b600062000fec83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620010a960201b60201c565b905092915050565b600033905090565b6000808314156200101157600090506200107a565b60008284620010219190620013eb565b9050828482620010329190620013b3565b1462001075576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200106c9062001358565b60405180910390fd5b809150505b92915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008083118290620010f3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620010ea919062001334565b60405180910390fd5b5060008385620011049190620013b3565b9050809150509392505050565b826003810192821562001180579160200282015b828111156200117f5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062001125565b5b5090506200118f919062001215565b5090565b826007810192821562001202579160200282015b82811115620012015782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190620011a7565b5b50905062001211919062001215565b5090565b5b808211156200123057600081600090555060010162001216565b5090565b600081519050620012458162001600565b92915050565b6000602082840312156200126457620012636200159b565b5b6000620012748482850162001234565b91505092915050565b62001288816200144c565b82525050565b60006200129b8262001397565b620012a78185620013a2565b9350620012b98185602086016200148a565b620012c481620015a0565b840191505092915050565b6000620012de602183620013a2565b9150620012eb82620015b1565b604082019050919050565b620013018162001480565b82525050565b60006040820190506200131e60008301856200127d565b6200132d60208301846200127d565b9392505050565b600060208201905081810360008301526200135081846200128e565b905092915050565b600060208201905081810360008301526200137381620012cf565b9050919050565b6000602082019050620013916000830184620012f6565b92915050565b600081519050919050565b600082825260208201905092915050565b6000620013c08262001480565b9150620013cd8362001480565b925082620013e057620013df6200153d565b5b828204905092915050565b6000620013f88262001480565b9150620014058362001480565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200144157620014406200150e565b5b828202905092915050565b6000620014598262001460565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015620014aa5780820151818401526020810190506200148d565b83811115620014ba576000848401525b50505050565b6000620014cd8262001480565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156200150357620015026200150e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6200160b816200144c565b81146200161757600080fd5b50565b613ac2806200162a6000396000f3fe6080604052600436106101445760003560e01c8063751039fc116100b6578063b515566a1161006f578063b515566a1461041b578063c3c8cd8014610444578063c9567bf91461045b578063dd62ed3e14610472578063e57f14e1146104af578063f2fde38b146104d85761014b565b8063751039fc146103315780638da5cb5b146103485780638ee778a51461037357806395d89b411461038a578063a63748e5146103b5578063a9059cbb146103de5761014b565b8063273123b711610108578063273123b714610249578063313ce567146102725780634ea18fab1461029d5780636fc3eaec146102c657806370a08231146102dd578063715018a61461031a5761014b565b806306fdde0314610150578063095ea7b31461017b57806316114acd146101b857806318160ddd146101e157806323b872dd1461020c5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610501565b6040516101729190613111565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612b93565b61053e565b6040516101af91906130aa565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da9190612aa6565b61055c565b005b3480156101ed57600080fd5b506101f66106fe565b60405161020391906132b3565b60405180910390f35b34801561021857600080fd5b50610233600480360381019061022e9190612b40565b61070e565b60405161024091906130aa565b60405180910390f35b34801561025557600080fd5b50610270600480360381019061026b9190612aa6565b6107e7565b005b34801561027e57600080fd5b506102876108d7565b6040516102949190613328565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf9190612c49565b6108e0565b005b3480156102d257600080fd5b506102db61094b565b005b3480156102e957600080fd5b5061030460048036038101906102ff9190612aa6565b6109bd565b60405161031191906132b3565b60405180910390f35b34801561032657600080fd5b5061032f610a06565b005b34801561033d57600080fd5b50610346610b59565b005b34801561035457600080fd5b5061035d610bda565b60405161036a9190613005565b60405180910390f35b34801561037f57600080fd5b50610388610c03565b005b34801561039657600080fd5b5061039f610c90565b6040516103ac9190613111565b60405180910390f35b3480156103c157600080fd5b506103dc60048036038101906103d79190612ca3565b610ccd565b005b3480156103ea57600080fd5b5061040560048036038101906104009190612b93565b610da6565b60405161041291906130aa565b60405180910390f35b34801561042757600080fd5b50610442600480360381019061043d9190612bd3565b610dc4565b005b34801561045057600080fd5b50610459610eee565b005b34801561046757600080fd5b50610470610f68565b005b34801561047e57600080fd5b5061049960048036038101906104949190612b00565b6110b2565b6040516104a691906132b3565b60405180910390f35b3480156104bb57600080fd5b506104d660048036038101906104d19190612aa6565b611139565b005b3480156104e457600080fd5b506104ff60048036038101906104fa9190612aa6565b6111f5565b005b60606040518060400160405280600681526020017f59616b65646f0000000000000000000000000000000000000000000000000000815250905090565b600061055261054b61140c565b8484611414565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661059d61140c565b73ffffffffffffffffffffffffffffffffffffffff16146105bd57600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161063a9190613005565b60206040518083038186803b15801561065257600080fd5b505afa158015610666573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068a9190612c76565b6040518363ffffffff1660e01b81526004016106a7929190613020565b602060405180830381600087803b1580156106c157600080fd5b505af11580156106d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f99190612c1c565b505050565b6000670de0b6b3a7640000905090565b600061071b8484846115df565b6107dc8461072761140c565b6107d785604051806060016040528060288152602001613a6560289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061078d61140c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9c9092919063ffffffff16565b611414565b600190509392505050565b6107ef61140c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461087c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610873906131f3565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661092161140c565b73ffffffffffffffffffffffffffffffffffffffff161461094157600080fd5b80600e8190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661098c61140c565b73ffffffffffffffffffffffffffffffffffffffff16146109ac57600080fd5b60004790506109ba81611e00565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a0e61140c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a92906131f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b9a61140c565b73ffffffffffffffffffffffffffffffffffffffff1614610bba57600080fd5b670de0b6b3a7640000600c81905550670de0b6b3a7640000600d81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c4461140c565b73ffffffffffffffffffffffffffffffffffffffff1614610c6457600080fd5b601f60149054906101000a900460ff1615601f60146101000a81548160ff021916908315150217905550565b60606040518060400160405280600581526020017f446f68616e000000000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d0e61140c565b73ffffffffffffffffffffffffffffffffffffffff1614610d2e57600080fd5b60648311158015610d40575060648211155b8015610d4d575060648111155b610d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8390613233565b60405180910390fd5b8260098190555081600a8190555080600b81905550505050565b6000610dba610db361140c565b84846115df565b6001905092915050565b610dcc61140c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e50906131f3565b60405180910390fd5b60005b8151811015610eea57600160056000848481518110610e7e57610e7d6136a6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610ee2906135ff565b915050610e5c565b5050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f2f61140c565b73ffffffffffffffffffffffffffffffffffffffff1614610f4f57600080fd5b6000610f5a306109bd565b9050610f6581611ff3565b50565b610f7061140c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ffd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff4906131f3565b60405180910390fd5b601f60159054906101000a900460ff161561104d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104490613293565b60405180910390fd5b611067611059306109bd565b47611062610bda565b61227b565b6001601f60176101000a81548160ff0219169083151502179055506001601f60156101000a81548160ff02191690831515021790555060b4426110aa91906133e9565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661117a61140c565b73ffffffffffffffffffffffffffffffffffffffff161461119a57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6111fd61140c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461128a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611281906131f3565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061138983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061239f565b905092915050565b6000808314156113a45760009050611406565b600082846113b29190613470565b90508284826113c1919061343f565b14611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f8906131d3565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147b90613273565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114eb90613193565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115d291906132b3565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561164f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164690613253565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b690613153565b60405180910390fd5b60008111611702576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f990613213565b60405180910390fd5b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146117e757600d5481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a591906133e9565b11156117e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117dd90613173565b60405180910390fd5b5b6117fe600b5460095461240290919063ffffffff16565b60088190555061180c610bda565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561187a575061184a610bda565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c6857600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119235750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61192c57600080fd5b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119d75750601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a2d5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a3a575060075442105b15611aea57600c54811115611a4e57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a9957600080fd5b601e42611aa691906133e9565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601f60169054906101000a900460ff16158015611b555750601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b6d5750601f60179054906101000a900460ff165b8015611bc35750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c67576007544211611c0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0390613133565b60405180910390fd5b6000611c17306109bd565b9050600e54811115611c6557611c2c81611ff3565b60004790506000811115611c6357601f60149054906101000a900460ff1615611c5957611c5881612460565b5b611c6247611e00565b5b505b505b5b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611d135750601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d695750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d8c57611d85600b54600a5461240290919063ffffffff16565b6008819055505b611d978383836126c6565b505050565b6000838311158290611de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddb9190613111565b60405180910390fd5b5060008385611df391906134ca565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e5060048461134790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e7b573d6000803e3d6000fd5b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ecc60048461134790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ef7573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f4860048461134790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f73573d6000803e3d6000fd5b50601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611fc460048461134790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611fef573d6000803e3d6000fd5b5050565b6001601f60166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561202b5761202a6136d5565b5b6040519080825280602002602001820160405280156120595781602001602082028036833780820191505090505b5090503081600081518110612071576120706136a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561211357600080fd5b505afa158015612127573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061214b9190612ad3565b8160018151811061215f5761215e6136a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121c630601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611414565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161222a9594939291906132ce565b600060405180830381600087803b15801561224457600080fd5b505af1158015612258573d6000803e3d6000fd5b50505050506000601f60166101000a81548160ff02191690831515021790555050565b6001601f60166101000a81548160ff0219169083151502179055506122c330601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611414565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b815260040161232a96959493929190613049565b6060604051808303818588803b15801561234357600080fd5b505af1158015612357573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061237c9190612cf6565b5050506000601f60166101000a81548160ff021916908315150217905550505050565b600080831182906123e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123dd9190613111565b60405180910390fd5b50600083856123f5919061343f565b9050809150509392505050565b600080828461241191906133e9565b905083811015612456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244d906131b3565b60405180910390fd5b8091505092915050565b6000612489600261247b600a8561134790919063ffffffff16565b61139190919063ffffffff16565b90506000600267ffffffffffffffff8111156124a8576124a76136d5565b5b6040519080825280602002602001820160405280156124d65781602001602082028036833780820191505090505b509050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561254157600080fd5b505afa158015612555573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125799190612ad3565b8160008151811061258d5761258c6136a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073072d419f64e3f5cbdca897004f0ca8f46dc7c546816001815181106125f0576125ef6136a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958360008461dead426040518663ffffffff1660e01b815260040161268f94939291906130c5565b6000604051808303818588803b1580156126a857600080fd5b505af11580156126bc573d6000803e3d6000fd5b5050505050505050565b6000806126d283612901565b9150915061272883600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461295590919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127bd82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461240290919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061285281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461240290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128f291906132b3565b60405180910390a35050505050565b600080600061292f6103e86129216008548761139190919063ffffffff16565b61134790919063ffffffff16565b90506000612946828661295590919063ffffffff16565b90508082935093505050915091565b600061299783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d9c565b905092915050565b60006129b26129ad84613368565b613343565b905080838252602082019050828560208602820111156129d5576129d4613709565b5b60005b85811015612a0557816129eb8882612a0f565b8452602084019350602083019250506001810190506129d8565b5050509392505050565b600081359050612a1e81613a1f565b92915050565b600081519050612a3381613a1f565b92915050565b600082601f830112612a4e57612a4d613704565b5b8135612a5e84826020860161299f565b91505092915050565b600081519050612a7681613a36565b92915050565b600081359050612a8b81613a4d565b92915050565b600081519050612aa081613a4d565b92915050565b600060208284031215612abc57612abb613713565b5b6000612aca84828501612a0f565b91505092915050565b600060208284031215612ae957612ae8613713565b5b6000612af784828501612a24565b91505092915050565b60008060408385031215612b1757612b16613713565b5b6000612b2585828601612a0f565b9250506020612b3685828601612a0f565b9150509250929050565b600080600060608486031215612b5957612b58613713565b5b6000612b6786828701612a0f565b9350506020612b7886828701612a0f565b9250506040612b8986828701612a7c565b9150509250925092565b60008060408385031215612baa57612ba9613713565b5b6000612bb885828601612a0f565b9250506020612bc985828601612a7c565b9150509250929050565b600060208284031215612be957612be8613713565b5b600082013567ffffffffffffffff811115612c0757612c0661370e565b5b612c1384828501612a39565b91505092915050565b600060208284031215612c3257612c31613713565b5b6000612c4084828501612a67565b91505092915050565b600060208284031215612c5f57612c5e613713565b5b6000612c6d84828501612a7c565b91505092915050565b600060208284031215612c8c57612c8b613713565b5b6000612c9a84828501612a91565b91505092915050565b600080600060608486031215612cbc57612cbb613713565b5b6000612cca86828701612a7c565b9350506020612cdb86828701612a7c565b9250506040612cec86828701612a7c565b9150509250925092565b600080600060608486031215612d0f57612d0e613713565b5b6000612d1d86828701612a91565b9350506020612d2e86828701612a91565b9250506040612d3f86828701612a91565b9150509250925092565b6000612d558383612d70565b60208301905092915050565b612d6a81613553565b82525050565b612d79816134fe565b82525050565b612d88816134fe565b82525050565b6000612d99826133a4565b612da381856133c7565b9350612dae83613394565b8060005b83811015612ddf578151612dc68882612d49565b9750612dd1836133ba565b925050600181019050612db2565b5085935050505092915050565b612df581613510565b82525050565b612e0481613565565b82525050565b6000612e15826133af565b612e1f81856133d8565b9350612e2f81856020860161359b565b612e3881613718565b840191505092915050565b6000612e506028836133d8565b9150612e5b82613729565b604082019050919050565b6000612e736023836133d8565b9150612e7e82613778565b604082019050919050565b6000612e966017836133d8565b9150612ea1826137c7565b602082019050919050565b6000612eb96022836133d8565b9150612ec4826137f0565b604082019050919050565b6000612edc601b836133d8565b9150612ee78261383f565b602082019050919050565b6000612eff6021836133d8565b9150612f0a82613868565b604082019050919050565b6000612f226020836133d8565b9150612f2d826138b7565b602082019050919050565b6000612f456029836133d8565b9150612f50826138e0565b604082019050919050565b6000612f68601e836133d8565b9150612f738261392f565b602082019050919050565b6000612f8b6025836133d8565b9150612f9682613958565b604082019050919050565b6000612fae6024836133d8565b9150612fb9826139a7565b604082019050919050565b6000612fd16017836133d8565b9150612fdc826139f6565b602082019050919050565b612ff08161353c565b82525050565b612fff81613546565b82525050565b600060208201905061301a6000830184612d7f565b92915050565b60006040820190506130356000830185612d61565b6130426020830184612fe7565b9392505050565b600060c08201905061305e6000830189612d7f565b61306b6020830188612fe7565b6130786040830187612dfb565b6130856060830186612dfb565b6130926080830185612d7f565b61309f60a0830184612fe7565b979650505050505050565b60006020820190506130bf6000830184612dec565b92915050565b60006080820190506130da6000830187612dfb565b81810360208301526130ec8186612d8e565b90506130fb6040830185612d7f565b6131086060830184612fe7565b95945050505050565b6000602082019050818103600083015261312b8184612e0a565b905092915050565b6000602082019050818103600083015261314c81612e43565b9050919050565b6000602082019050818103600083015261316c81612e66565b9050919050565b6000602082019050818103600083015261318c81612e89565b9050919050565b600060208201905081810360008301526131ac81612eac565b9050919050565b600060208201905081810360008301526131cc81612ecf565b9050919050565b600060208201905081810360008301526131ec81612ef2565b9050919050565b6000602082019050818103600083015261320c81612f15565b9050919050565b6000602082019050818103600083015261322c81612f38565b9050919050565b6000602082019050818103600083015261324c81612f5b565b9050919050565b6000602082019050818103600083015261326c81612f7e565b9050919050565b6000602082019050818103600083015261328c81612fa1565b9050919050565b600060208201905081810360008301526132ac81612fc4565b9050919050565b60006020820190506132c86000830184612fe7565b92915050565b600060a0820190506132e36000830188612fe7565b6132f06020830187612dfb565b81810360408301526133028186612d8e565b90506133116060830185612d7f565b61331e6080830184612fe7565b9695505050505050565b600060208201905061333d6000830184612ff6565b92915050565b600061334d61335e565b905061335982826135ce565b919050565b6000604051905090565b600067ffffffffffffffff821115613383576133826136d5565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006133f48261353c565b91506133ff8361353c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561343457613433613648565b5b828201905092915050565b600061344a8261353c565b91506134558361353c565b92508261346557613464613677565b5b828204905092915050565b600061347b8261353c565b91506134868361353c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156134bf576134be613648565b5b828202905092915050565b60006134d58261353c565b91506134e08361353c565b9250828210156134f3576134f2613648565b5b828203905092915050565b60006135098261351c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061355e82613577565b9050919050565b60006135708261353c565b9050919050565b600061358282613589565b9050919050565b60006135948261351c565b9050919050565b60005b838110156135b957808201518184015260208101905061359e565b838111156135c8576000848401525b50505050565b6135d782613718565b810181811067ffffffffffffffff821117156135f6576135f56136d5565b5b80604052505050565b600061360a8261353c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561363d5761363c613648565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f746f6f206d616e7920746f6b656e73207363756d626167000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f666565732063616e6e6f7420626520686967686572207468616e203130250000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b613a28816134fe565b8114613a3357600080fd5b50565b613a3f81613510565b8114613a4a57600080fd5b50565b613a568161353c565b8114613a6157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220434e3c3984b3a2b495a72c0cef5de2a139f648b397c6bc4f9306677a2b27c63b64736f6c63430008070033
Deployed Bytecode
0x6080604052600436106101445760003560e01c8063751039fc116100b6578063b515566a1161006f578063b515566a1461041b578063c3c8cd8014610444578063c9567bf91461045b578063dd62ed3e14610472578063e57f14e1146104af578063f2fde38b146104d85761014b565b8063751039fc146103315780638da5cb5b146103485780638ee778a51461037357806395d89b411461038a578063a63748e5146103b5578063a9059cbb146103de5761014b565b8063273123b711610108578063273123b714610249578063313ce567146102725780634ea18fab1461029d5780636fc3eaec146102c657806370a08231146102dd578063715018a61461031a5761014b565b806306fdde0314610150578063095ea7b31461017b57806316114acd146101b857806318160ddd146101e157806323b872dd1461020c5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610501565b6040516101729190613111565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612b93565b61053e565b6040516101af91906130aa565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da9190612aa6565b61055c565b005b3480156101ed57600080fd5b506101f66106fe565b60405161020391906132b3565b60405180910390f35b34801561021857600080fd5b50610233600480360381019061022e9190612b40565b61070e565b60405161024091906130aa565b60405180910390f35b34801561025557600080fd5b50610270600480360381019061026b9190612aa6565b6107e7565b005b34801561027e57600080fd5b506102876108d7565b6040516102949190613328565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf9190612c49565b6108e0565b005b3480156102d257600080fd5b506102db61094b565b005b3480156102e957600080fd5b5061030460048036038101906102ff9190612aa6565b6109bd565b60405161031191906132b3565b60405180910390f35b34801561032657600080fd5b5061032f610a06565b005b34801561033d57600080fd5b50610346610b59565b005b34801561035457600080fd5b5061035d610bda565b60405161036a9190613005565b60405180910390f35b34801561037f57600080fd5b50610388610c03565b005b34801561039657600080fd5b5061039f610c90565b6040516103ac9190613111565b60405180910390f35b3480156103c157600080fd5b506103dc60048036038101906103d79190612ca3565b610ccd565b005b3480156103ea57600080fd5b5061040560048036038101906104009190612b93565b610da6565b60405161041291906130aa565b60405180910390f35b34801561042757600080fd5b50610442600480360381019061043d9190612bd3565b610dc4565b005b34801561045057600080fd5b50610459610eee565b005b34801561046757600080fd5b50610470610f68565b005b34801561047e57600080fd5b5061049960048036038101906104949190612b00565b6110b2565b6040516104a691906132b3565b60405180910390f35b3480156104bb57600080fd5b506104d660048036038101906104d19190612aa6565b611139565b005b3480156104e457600080fd5b506104ff60048036038101906104fa9190612aa6565b6111f5565b005b60606040518060400160405280600681526020017f59616b65646f0000000000000000000000000000000000000000000000000000815250905090565b600061055261054b61140c565b8484611414565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661059d61140c565b73ffffffffffffffffffffffffffffffffffffffff16146105bd57600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161063a9190613005565b60206040518083038186803b15801561065257600080fd5b505afa158015610666573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068a9190612c76565b6040518363ffffffff1660e01b81526004016106a7929190613020565b602060405180830381600087803b1580156106c157600080fd5b505af11580156106d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f99190612c1c565b505050565b6000670de0b6b3a7640000905090565b600061071b8484846115df565b6107dc8461072761140c565b6107d785604051806060016040528060288152602001613a6560289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061078d61140c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9c9092919063ffffffff16565b611414565b600190509392505050565b6107ef61140c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461087c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610873906131f3565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661092161140c565b73ffffffffffffffffffffffffffffffffffffffff161461094157600080fd5b80600e8190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661098c61140c565b73ffffffffffffffffffffffffffffffffffffffff16146109ac57600080fd5b60004790506109ba81611e00565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a0e61140c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a92906131f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b9a61140c565b73ffffffffffffffffffffffffffffffffffffffff1614610bba57600080fd5b670de0b6b3a7640000600c81905550670de0b6b3a7640000600d81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c4461140c565b73ffffffffffffffffffffffffffffffffffffffff1614610c6457600080fd5b601f60149054906101000a900460ff1615601f60146101000a81548160ff021916908315150217905550565b60606040518060400160405280600581526020017f446f68616e000000000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d0e61140c565b73ffffffffffffffffffffffffffffffffffffffff1614610d2e57600080fd5b60648311158015610d40575060648211155b8015610d4d575060648111155b610d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8390613233565b60405180910390fd5b8260098190555081600a8190555080600b81905550505050565b6000610dba610db361140c565b84846115df565b6001905092915050565b610dcc61140c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e50906131f3565b60405180910390fd5b60005b8151811015610eea57600160056000848481518110610e7e57610e7d6136a6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610ee2906135ff565b915050610e5c565b5050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f2f61140c565b73ffffffffffffffffffffffffffffffffffffffff1614610f4f57600080fd5b6000610f5a306109bd565b9050610f6581611ff3565b50565b610f7061140c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ffd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff4906131f3565b60405180910390fd5b601f60159054906101000a900460ff161561104d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104490613293565b60405180910390fd5b611067611059306109bd565b47611062610bda565b61227b565b6001601f60176101000a81548160ff0219169083151502179055506001601f60156101000a81548160ff02191690831515021790555060b4426110aa91906133e9565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661117a61140c565b73ffffffffffffffffffffffffffffffffffffffff161461119a57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6111fd61140c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461128a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611281906131f3565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061138983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061239f565b905092915050565b6000808314156113a45760009050611406565b600082846113b29190613470565b90508284826113c1919061343f565b14611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f8906131d3565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147b90613273565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114eb90613193565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115d291906132b3565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561164f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164690613253565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b690613153565b60405180910390fd5b60008111611702576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f990613213565b60405180910390fd5b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146117e757600d5481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a591906133e9565b11156117e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117dd90613173565b60405180910390fd5b5b6117fe600b5460095461240290919063ffffffff16565b60088190555061180c610bda565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561187a575061184a610bda565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c6857600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119235750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61192c57600080fd5b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119d75750601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a2d5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a3a575060075442105b15611aea57600c54811115611a4e57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a9957600080fd5b601e42611aa691906133e9565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601f60169054906101000a900460ff16158015611b555750601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b6d5750601f60179054906101000a900460ff165b8015611bc35750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c67576007544211611c0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0390613133565b60405180910390fd5b6000611c17306109bd565b9050600e54811115611c6557611c2c81611ff3565b60004790506000811115611c6357601f60149054906101000a900460ff1615611c5957611c5881612460565b5b611c6247611e00565b5b505b505b5b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611d135750601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d695750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d8c57611d85600b54600a5461240290919063ffffffff16565b6008819055505b611d978383836126c6565b505050565b6000838311158290611de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddb9190613111565b60405180910390fd5b5060008385611df391906134ca565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e5060048461134790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e7b573d6000803e3d6000fd5b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611ecc60048461134790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611ef7573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f4860048461134790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f73573d6000803e3d6000fd5b50601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611fc460048461134790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611fef573d6000803e3d6000fd5b5050565b6001601f60166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561202b5761202a6136d5565b5b6040519080825280602002602001820160405280156120595781602001602082028036833780820191505090505b5090503081600081518110612071576120706136a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561211357600080fd5b505afa158015612127573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061214b9190612ad3565b8160018151811061215f5761215e6136a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121c630601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611414565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161222a9594939291906132ce565b600060405180830381600087803b15801561224457600080fd5b505af1158015612258573d6000803e3d6000fd5b50505050506000601f60166101000a81548160ff02191690831515021790555050565b6001601f60166101000a81548160ff0219169083151502179055506122c330601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611414565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b815260040161232a96959493929190613049565b6060604051808303818588803b15801561234357600080fd5b505af1158015612357573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061237c9190612cf6565b5050506000601f60166101000a81548160ff021916908315150217905550505050565b600080831182906123e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123dd9190613111565b60405180910390fd5b50600083856123f5919061343f565b9050809150509392505050565b600080828461241191906133e9565b905083811015612456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244d906131b3565b60405180910390fd5b8091505092915050565b6000612489600261247b600a8561134790919063ffffffff16565b61139190919063ffffffff16565b90506000600267ffffffffffffffff8111156124a8576124a76136d5565b5b6040519080825280602002602001820160405280156124d65781602001602082028036833780820191505090505b509050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561254157600080fd5b505afa158015612555573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125799190612ad3565b8160008151811061258d5761258c6136a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073072d419f64e3f5cbdca897004f0ca8f46dc7c546816001815181106125f0576125ef6136a6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958360008461dead426040518663ffffffff1660e01b815260040161268f94939291906130c5565b6000604051808303818588803b1580156126a857600080fd5b505af11580156126bc573d6000803e3d6000fd5b5050505050505050565b6000806126d283612901565b9150915061272883600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461295590919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127bd82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461240290919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061285281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461240290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128f291906132b3565b60405180910390a35050505050565b600080600061292f6103e86129216008548761139190919063ffffffff16565b61134790919063ffffffff16565b90506000612946828661295590919063ffffffff16565b90508082935093505050915091565b600061299783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d9c565b905092915050565b60006129b26129ad84613368565b613343565b905080838252602082019050828560208602820111156129d5576129d4613709565b5b60005b85811015612a0557816129eb8882612a0f565b8452602084019350602083019250506001810190506129d8565b5050509392505050565b600081359050612a1e81613a1f565b92915050565b600081519050612a3381613a1f565b92915050565b600082601f830112612a4e57612a4d613704565b5b8135612a5e84826020860161299f565b91505092915050565b600081519050612a7681613a36565b92915050565b600081359050612a8b81613a4d565b92915050565b600081519050612aa081613a4d565b92915050565b600060208284031215612abc57612abb613713565b5b6000612aca84828501612a0f565b91505092915050565b600060208284031215612ae957612ae8613713565b5b6000612af784828501612a24565b91505092915050565b60008060408385031215612b1757612b16613713565b5b6000612b2585828601612a0f565b9250506020612b3685828601612a0f565b9150509250929050565b600080600060608486031215612b5957612b58613713565b5b6000612b6786828701612a0f565b9350506020612b7886828701612a0f565b9250506040612b8986828701612a7c565b9150509250925092565b60008060408385031215612baa57612ba9613713565b5b6000612bb885828601612a0f565b9250506020612bc985828601612a7c565b9150509250929050565b600060208284031215612be957612be8613713565b5b600082013567ffffffffffffffff811115612c0757612c0661370e565b5b612c1384828501612a39565b91505092915050565b600060208284031215612c3257612c31613713565b5b6000612c4084828501612a67565b91505092915050565b600060208284031215612c5f57612c5e613713565b5b6000612c6d84828501612a7c565b91505092915050565b600060208284031215612c8c57612c8b613713565b5b6000612c9a84828501612a91565b91505092915050565b600080600060608486031215612cbc57612cbb613713565b5b6000612cca86828701612a7c565b9350506020612cdb86828701612a7c565b9250506040612cec86828701612a7c565b9150509250925092565b600080600060608486031215612d0f57612d0e613713565b5b6000612d1d86828701612a91565b9350506020612d2e86828701612a91565b9250506040612d3f86828701612a91565b9150509250925092565b6000612d558383612d70565b60208301905092915050565b612d6a81613553565b82525050565b612d79816134fe565b82525050565b612d88816134fe565b82525050565b6000612d99826133a4565b612da381856133c7565b9350612dae83613394565b8060005b83811015612ddf578151612dc68882612d49565b9750612dd1836133ba565b925050600181019050612db2565b5085935050505092915050565b612df581613510565b82525050565b612e0481613565565b82525050565b6000612e15826133af565b612e1f81856133d8565b9350612e2f81856020860161359b565b612e3881613718565b840191505092915050565b6000612e506028836133d8565b9150612e5b82613729565b604082019050919050565b6000612e736023836133d8565b9150612e7e82613778565b604082019050919050565b6000612e966017836133d8565b9150612ea1826137c7565b602082019050919050565b6000612eb96022836133d8565b9150612ec4826137f0565b604082019050919050565b6000612edc601b836133d8565b9150612ee78261383f565b602082019050919050565b6000612eff6021836133d8565b9150612f0a82613868565b604082019050919050565b6000612f226020836133d8565b9150612f2d826138b7565b602082019050919050565b6000612f456029836133d8565b9150612f50826138e0565b604082019050919050565b6000612f68601e836133d8565b9150612f738261392f565b602082019050919050565b6000612f8b6025836133d8565b9150612f9682613958565b604082019050919050565b6000612fae6024836133d8565b9150612fb9826139a7565b604082019050919050565b6000612fd16017836133d8565b9150612fdc826139f6565b602082019050919050565b612ff08161353c565b82525050565b612fff81613546565b82525050565b600060208201905061301a6000830184612d7f565b92915050565b60006040820190506130356000830185612d61565b6130426020830184612fe7565b9392505050565b600060c08201905061305e6000830189612d7f565b61306b6020830188612fe7565b6130786040830187612dfb565b6130856060830186612dfb565b6130926080830185612d7f565b61309f60a0830184612fe7565b979650505050505050565b60006020820190506130bf6000830184612dec565b92915050565b60006080820190506130da6000830187612dfb565b81810360208301526130ec8186612d8e565b90506130fb6040830185612d7f565b6131086060830184612fe7565b95945050505050565b6000602082019050818103600083015261312b8184612e0a565b905092915050565b6000602082019050818103600083015261314c81612e43565b9050919050565b6000602082019050818103600083015261316c81612e66565b9050919050565b6000602082019050818103600083015261318c81612e89565b9050919050565b600060208201905081810360008301526131ac81612eac565b9050919050565b600060208201905081810360008301526131cc81612ecf565b9050919050565b600060208201905081810360008301526131ec81612ef2565b9050919050565b6000602082019050818103600083015261320c81612f15565b9050919050565b6000602082019050818103600083015261322c81612f38565b9050919050565b6000602082019050818103600083015261324c81612f5b565b9050919050565b6000602082019050818103600083015261326c81612f7e565b9050919050565b6000602082019050818103600083015261328c81612fa1565b9050919050565b600060208201905081810360008301526132ac81612fc4565b9050919050565b60006020820190506132c86000830184612fe7565b92915050565b600060a0820190506132e36000830188612fe7565b6132f06020830187612dfb565b81810360408301526133028186612d8e565b90506133116060830185612d7f565b61331e6080830184612fe7565b9695505050505050565b600060208201905061333d6000830184612ff6565b92915050565b600061334d61335e565b905061335982826135ce565b919050565b6000604051905090565b600067ffffffffffffffff821115613383576133826136d5565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006133f48261353c565b91506133ff8361353c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561343457613433613648565b5b828201905092915050565b600061344a8261353c565b91506134558361353c565b92508261346557613464613677565b5b828204905092915050565b600061347b8261353c565b91506134868361353c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156134bf576134be613648565b5b828202905092915050565b60006134d58261353c565b91506134e08361353c565b9250828210156134f3576134f2613648565b5b828203905092915050565b60006135098261351c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061355e82613577565b9050919050565b60006135708261353c565b9050919050565b600061358282613589565b9050919050565b60006135948261351c565b9050919050565b60005b838110156135b957808201518184015260208101905061359e565b838111156135c8576000848401525b50505050565b6135d782613718565b810181811067ffffffffffffffff821117156135f6576135f56136d5565b5b80604052505050565b600061360a8261353c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561363d5761363c613648565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f746f6f206d616e7920746f6b656e73207363756d626167000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f666565732063616e6e6f7420626520686967686572207468616e203130250000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b613a28816134fe565b8114613a3357600080fd5b50565b613a3f81613510565b8114613a4a57600080fd5b50565b613a568161353c565b8114613a6157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220434e3c3984b3a2b495a72c0cef5de2a139f648b397c6bc4f9306677a2b27c63b64736f6c63430008070033
Deployed Bytecode Sourcemap
3899:11671:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7582:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8413:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15323:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7859:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8582:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14115:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7768:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9032:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14882:188;;;;;;;;;;;;;:::i;:::-;;7962:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2779:148;;;;;;;;;;;;;:::i;:::-;;9479:156;;;;;;;;;;;;;:::i;:::-;;2384:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8906:118;;;;;;;;;;;;;:::i;:::-;;7673:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9176:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8087:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13939:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14681:189;;;;;;;;;;;;;:::i;:::-;;13633:294;;;;;;;;;;;;;:::i;:::-;;8262:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9643:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2598:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7582:83;7619:13;7652:5;;;;;;;;;;;;;;;;;7645:12;;7582:83;:::o;8413:161::-;8488:4;8505:39;8514:12;:10;:12::i;:::-;8528:7;8537:6;8505:8;:39::i;:::-;8562:4;8555:11;;8413:161;;;;:::o;15323:244::-;15412:9;;;;;;;;;;;15396:25;;:12;:10;:12::i;:::-;:25;;;15388:34;;;;;;15433:20;15463:12;15433:43;;15487:13;:22;;;15510:9;;;;;;;;;;;15520:13;:23;;;15552:4;15520:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15487:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15377:190;15323:244;:::o;7859:95::-;7912:7;4353:17;7932:14;;7859:95;:::o;8582:313::-;8680:4;8697:36;8707:6;8715:9;8726:6;8697:9;:36::i;:::-;8744:121;8753:6;8761:12;:10;:12::i;:::-;8775:89;8813:6;8775:89;;;;;;;;;;;;;;;;;:11;:19;8787:6;8775:19;;;;;;;;;;;;;;;:33;8795:12;:10;:12::i;:::-;8775:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8744:8;:121::i;:::-;8883:4;8876:11;;8582:313;;;;;:::o;14115:88::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14190:5:::1;14175:4;:12;14180:6;14175:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;14115:88:::0;:::o;7768:83::-;7809:5;4774:1;7827:16;;7768:83;:::o;9032:136::-;9118:9;;;;;;;;;;;9102:25;;:12;:10;:12::i;:::-;:25;;;9094:34;;;;;;9152:6;9139:10;:19;;;;9032:136;:::o;14882:188::-;14948:9;;;;;;;;;;;14932:25;;:12;:10;:12::i;:::-;:25;;;14924:34;;;;;;14969:26;14998:21;14969:50;;15030:32;15043:18;15030:12;:32::i;:::-;14913:157;14882:188::o;7962:117::-;8028:7;8055;:16;8063:7;8055:16;;;;;;;;;;;;;;;;8048:23;;7962:117;;;:::o;2779:148::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2886:1:::1;2849:40;;2870:6;::::0;::::1;;;;;;;;2849:40;;;;;;;;;;;;2917:1;2900:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2779:148::o:0;9479:156::-;9547:9;;;;;;;;;;;9531:25;;:12;:10;:12::i;:::-;:25;;;9523:34;;;;;;4353:17;9568:12;:22;;;;4353:17;9601:16;:26;;;;9479:156::o;2384:79::-;2422:7;2449:6;;;;;;;;;;;2442:13;;2384:79;:::o;8906:118::-;8973:9;;;;;;;;;;;8957:25;;:12;:10;:12::i;:::-;:25;;;8949:34;;;;;;9007:9;;;;;;;;;;;9006:10;8994:9;;:22;;;;;;;;;;;;;;;;;;8906:118::o;7673:87::-;7712:13;7745:7;;;;;;;;;;;;;;;;;7738:14;;7673:87;:::o;9176:295::-;9282:9;;;;;;;;;;;9266:25;;:12;:10;:12::i;:::-;:25;;;9258:34;;;;;;9320:3;9311:5;:12;;:28;;;;;9336:3;9327:5;:12;;9311:28;:43;;;;;9351:3;9343:4;:11;;9311:43;9303:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9406:5;9399:4;:12;;;;9429:5;9422:4;:12;;;;9459:4;9445:11;:18;;;;9176:295;;;:::o;8087:167::-;8165:4;8182:42;8192:12;:10;:12::i;:::-;8206:9;8217:6;8182:9;:42::i;:::-;8242:4;8235:11;;8087:167;;;;:::o;13939:164::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14013:6:::1;14008:88;14029:5;:12;14025:1;:16;14008:88;;;14080:4;14063;:14;14068:5;14074:1;14068:8;;;;;;;;:::i;:::-;;;;;;;;14063:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;14043:3;;;;;:::i;:::-;;;;14008:88;;;;13939:164:::0;:::o;14681:189::-;14747:9;;;;;;;;;;;14731:25;;:12;:10;:12::i;:::-;:25;;;14723:34;;;;;;14768:23;14794:24;14812:4;14794:9;:24::i;:::-;14768:50;;14829:33;14846:15;14829:16;:33::i;:::-;14712:158;14681:189::o;13633:294::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13697:11:::1;;;;;;;;;;;13696:12;13688:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;13746:68;13759:24;13777:4;13759:9;:24::i;:::-;13784:21;13806:7;:5;:7::i;:::-;13746:12;:68::i;:::-;13839:4;13825:11;;:18;;;;;;;;;;;;;;;;;;13868:4;13854:11;;:18;;;;;;;;;;;;;;;;;;13909:9;13890:15;:29;;;;:::i;:::-;13883:4;:36;;;;13633:294::o:0;8262:143::-;8343:7;8370:11;:18;8382:5;8370:18;;;;;;;;;;;;;;;:27;8389:7;8370:27;;;;;;;;;;;;;;;;8363:34;;8262:143;;;;:::o;9643:147::-;9728:9;;;;;;;;;;;9712:25;;:12;:10;:12::i;:::-;:25;;;9704:34;;;;;;9778:4;9749:18;:26;9768:6;9749:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;9643:147;:::o;2598:173::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2714:9:::1;2685:39;;2706:6;::::0;::::1;;;;;;;;2685:39;;;;;;;;;;;;2744:9;2735:6;::::0;:18:::1;;;;;;;;;;;;;;;;;;2598:173:::0;:::o;1691:132::-;1749:7;1776:39;1780:1;1783;1776:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1769:46;;1691:132;;;;:::o;1437:246::-;1495:7;1524:1;1519;:6;1515:47;;;1549:1;1542:8;;;;1515:47;1572:9;1588:1;1584;:5;;;;:::i;:::-;1572:17;;1617:1;1612;1608;:5;;;;:::i;:::-;:10;1600:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1674:1;1667:8;;;1437:246;;;;;:::o;102:98::-;155:7;182:10;175:17;;102:98;:::o;9803:335::-;9913:1;9896:19;;:5;:19;;;;9888:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9994:1;9975:21;;:7;:21;;;;9967:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10076:6;10046:11;:18;10058:5;10046:18;;;;;;;;;;;;;;;:27;10065:7;10046:27;;;;;;;;;;;;;;;:36;;;;10114:7;10098:32;;10107:5;10098:32;;;10123:6;10098:32;;;;;;:::i;:::-;;;;;;;;9803:335;;;:::o;10146:1933::-;10250:1;10234:18;;:4;:18;;;;10226:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10327:1;10313:16;;:2;:16;;;;10305:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10397:1;10388:6;:10;10380:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10465:13;;;;;;;;;;;10459:19;;:2;:19;;;10455:129;;10529:16;;10518:6;10504:7;:11;10512:2;10504:11;;;;;;;;;;;;;;;;:20;;;;:::i;:::-;10503:42;;10495:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;10455:129;10601:21;10610:11;;10601:4;;:8;;:21;;;;:::i;:::-;10594:4;:28;;;;10645:7;:5;:7::i;:::-;10637:15;;:4;:15;;;;:32;;;;;10662:7;:5;:7::i;:::-;10656:13;;:2;:13;;;;10637:32;10633:1237;;;10695:4;:10;10700:4;10695:10;;;;;;;;;;;;;;;;;;;;;;;;;10694:11;:24;;;;;10710:4;:8;10715:2;10710:8;;;;;;;;;;;;;;;;;;;;;;;;;10709:9;10694:24;10686:33;;;;;;10746:13;;;;;;;;;;;10738:21;;:4;:21;;;:55;;;;;10777:15;;;;;;;;;;;10763:30;;:2;:30;;;;10738:55;:83;;;;;10799:18;:22;10818:2;10799:22;;;;;;;;;;;;;;;;;;;;;;;;;10797:24;10738:83;:111;;;;;10844:4;;10826:15;:22;10738:111;10734:333;;;10916:12;;10906:6;:22;;10898:31;;;;;;10971:15;10956:8;:12;10965:2;10956:12;;;;;;;;;;;;;;;;:30;10948:39;;;;;;11040:10;11021:15;:30;;;;:::i;:::-;11006:8;:12;11015:2;11006:12;;;;;;;;;;;;;;;:45;;;;10734:333;11114:6;;;;;;;;;;;11113:7;:32;;;;;11132:13;;;;;;;;;;;11124:21;;:4;:21;;;;11113:32;:47;;;;;11149:11;;;;;;;;;;;11113:47;:76;;;;;11165:18;:24;11184:4;11165:24;;;;;;;;;;;;;;;;;;;;;;;;;11164:25;11113:76;11109:750;;;11236:4;;11218:15;:22;11210:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11303:28;11334:24;11352:4;11334:9;:24::i;:::-;11303:55;;11403:10;;11380:20;:33;11377:467;;;11437:38;11454:20;11437:16;:38::i;:::-;11498:26;11527:21;11498:50;;11595:1;11574:18;:22;11571:254;;;11628:9;;;;;;;;;;;11625:115;;;11670:42;11693:18;11670:22;:42::i;:::-;11625:115;11766:35;11779:21;11766:12;:35::i;:::-;11571:254;11414:430;11377:467;11191:668;11109:750;10633:1237;11890:13;;;;;;;;;;;11884:19;;:2;:19;;;:55;;;;;11923:15;;;;;;;;;;;11907:32;;:4;:32;;;;11884:55;:85;;;;;11945:18;:24;11964:4;11945:24;;;;;;;;;;;;;;;;;;;;;;;;;11943:26;11884:85;11880:146;;;11993:21;12002:11;;11993:4;;:8;;:21;;;;:::i;:::-;11986:4;:28;;;;11880:146;12038:33;12056:4;12061:2;12064:6;12038:17;:33::i;:::-;10146:1933;;;:::o;1239:190::-;1325:7;1358:1;1353;:6;;1361:12;1345:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1385:9;1401:1;1397;:5;;;;:::i;:::-;1385:17;;1420:1;1413:8;;;1239:190;;;;;:::o;13384:237::-;13441:11;;;;;;;;;;;:20;;:35;13462:13;13473:1;13462:6;:10;;:13;;;;:::i;:::-;13441:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13487:10;;;;;;;;;;;:19;;:34;13507:13;13518:1;13507:6;:10;;:13;;;;:::i;:::-;13487:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13532:11;;;;;;;;;;;:20;;:35;13553:13;13564:1;13553:6;:10;;:13;;;;:::i;:::-;13532:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13578:11;;;;;;;;;;;:20;;:35;13599:13;13610:1;13599:6;:10;;:13;;;;:::i;:::-;13578:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13384:237;:::o;12087:483::-;5866:4;5857:6;;:13;;;;;;;;;;;;;;;;;;12165:21:::1;12203:1;12189:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12165:40;;12234:4;12216;12221:1;12216:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12260:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12250:4;12255:1;12250:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12293:62;12310:4;12325:15;;;;;;;;;;;12343:11;12293:8;:62::i;:::-;12366:15;;;;;;;;;;;:66;;;12447:11;12473:1;12489:4;12516;12536:15;12366:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12154:416;5902:5:::0;5893:6;;:14;;;;;;;;;;;;;;;;;;12087:483;:::o;13082:288::-;5866:4;5857:6;;:13;;;;;;;;;;;;;;;;;;13188:60:::1;13205:4;13219:15;;;;;;;;;;;13236:11;13188:8;:60::i;:::-;13259:15;;;;;;;;;;;:31;;;13298:9;13317:4;13323:11;13335:1;13337::::0;13339:6:::1;13346:15;13259:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5902:5:::0;5893:6;;:14;;;;;;;;;;;;;;;;;;13082:288;;;:::o;1831:189::-;1917:7;1949:1;1945;:5;1952:12;1937:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1976:9;1992:1;1988;:5;;;;:::i;:::-;1976:17;;2011:1;2004:8;;;1831:189;;;;;:::o;908:179::-;966:7;986:9;1002:1;998;:5;;;;:::i;:::-;986:17;;1027:1;1022;:6;;1014:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1078:1;1071:8;;;908:179;;;;:::o;12578:490::-;12648:17;12668:24;12690:1;12668:17;12682:2;12668:9;:13;;:17;;;;:::i;:::-;:21;;:24;;;;:::i;:::-;12648:44;;12703:22;12742:1;12728:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12703:41;;12765:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12755:4;12760:1;12755:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;12816:42;12798:4;12803:1;12798:7;;;;;;;;:::i;:::-;;;;;;;:61;;;;;;;;;;;12870:15;;;;;;;;;;;:66;;;12944:9;12969:1;12985:4;13012:6;13034:15;12870:190;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12637:431;;12578:490;:::o;14211:421::-;14310:22;14333:12;14349:20;14361:7;14349:11;:20::i;:::-;14309:60;;;;14398:28;14418:7;14398;:15;14406:6;14398:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14380:7;:15;14388:6;14380:15;;;;;;;;;;;;;;;:46;;;;14458:38;14481:14;14458:7;:18;14466:9;14458:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;14437:7;:18;14445:9;14437:18;;;;;;;;;;;;;;;:59;;;;14533:32;14560:4;14533:7;:22;14549:4;14533:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;14508:7;:22;14524:4;14508:22;;;;;;;;;;;;;;;:57;;;;14598:9;14581:43;;14590:6;14581:43;;;14609:14;14581:43;;;;;;:::i;:::-;;;;;;;;14298:334;;14211:421;;;:::o;15081:234::-;15141:7;15150;15170:12;15185:27;15207:4;15185:17;15197:4;;15185:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;15170:42;;15223:23;15249:17;15261:4;15249:7;:11;;:17;;;;:::i;:::-;15223:43;;15285:15;15302:4;15277:30;;;;;;15081:234;;;:::o;1095:136::-;1153:7;1180:43;1184:1;1187;1180:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1173:50;;1095:136;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;897:143;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:122;;1191:79;;:::i;:::-;1150:122;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;1063:370;;;;:::o;1439:137::-;1493:5;1524:6;1518:13;1509:22;;1540:30;1564:5;1540:30;:::i;:::-;1439:137;;;;:::o;1582:139::-;1628:5;1666:6;1653:20;1644:29;;1682:33;1709:5;1682:33;:::i;:::-;1582:139;;;;:::o;1727:143::-;1784:5;1815:6;1809:13;1800:22;;1831:33;1858:5;1831:33;:::i;:::-;1727:143;;;;:::o;1876:329::-;1935:6;1984:2;1972:9;1963:7;1959:23;1955:32;1952:119;;;1990:79;;:::i;:::-;1952:119;2110:1;2135:53;2180:7;2171:6;2160:9;2156:22;2135:53;:::i;:::-;2125:63;;2081:117;1876:329;;;;:::o;2211:351::-;2281:6;2330:2;2318:9;2309:7;2305:23;2301:32;2298:119;;;2336:79;;:::i;:::-;2298:119;2456:1;2481:64;2537:7;2528:6;2517:9;2513:22;2481:64;:::i;:::-;2471:74;;2427:128;2211:351;;;;:::o;2568:474::-;2636:6;2644;2693:2;2681:9;2672:7;2668:23;2664:32;2661:119;;;2699:79;;:::i;:::-;2661:119;2819:1;2844:53;2889:7;2880:6;2869:9;2865:22;2844:53;:::i;:::-;2834:63;;2790:117;2946:2;2972:53;3017:7;3008:6;2997:9;2993:22;2972:53;:::i;:::-;2962:63;;2917:118;2568:474;;;;;:::o;3048:619::-;3125:6;3133;3141;3190:2;3178:9;3169:7;3165:23;3161:32;3158:119;;;3196:79;;:::i;:::-;3158:119;3316:1;3341:53;3386:7;3377:6;3366:9;3362:22;3341:53;:::i;:::-;3331:63;;3287:117;3443:2;3469:53;3514:7;3505:6;3494:9;3490:22;3469:53;:::i;:::-;3459:63;;3414:118;3571:2;3597:53;3642:7;3633:6;3622:9;3618:22;3597:53;:::i;:::-;3587:63;;3542:118;3048:619;;;;;:::o;3673:474::-;3741:6;3749;3798:2;3786:9;3777:7;3773:23;3769:32;3766:119;;;3804:79;;:::i;:::-;3766:119;3924:1;3949:53;3994:7;3985:6;3974:9;3970:22;3949:53;:::i;:::-;3939:63;;3895:117;4051:2;4077:53;4122:7;4113:6;4102:9;4098:22;4077:53;:::i;:::-;4067:63;;4022:118;3673:474;;;;;:::o;4153:539::-;4237:6;4286:2;4274:9;4265:7;4261:23;4257:32;4254:119;;;4292:79;;:::i;:::-;4254:119;4440:1;4429:9;4425:17;4412:31;4470:18;4462:6;4459:30;4456:117;;;4492:79;;:::i;:::-;4456:117;4597:78;4667:7;4658:6;4647:9;4643:22;4597:78;:::i;:::-;4587:88;;4383:302;4153:539;;;;:::o;4698:345::-;4765:6;4814:2;4802:9;4793:7;4789:23;4785:32;4782:119;;;4820:79;;:::i;:::-;4782:119;4940:1;4965:61;5018:7;5009:6;4998:9;4994:22;4965:61;:::i;:::-;4955:71;;4911:125;4698:345;;;;:::o;5049:329::-;5108:6;5157:2;5145:9;5136:7;5132:23;5128:32;5125:119;;;5163:79;;:::i;:::-;5125:119;5283:1;5308:53;5353:7;5344:6;5333:9;5329:22;5308:53;:::i;:::-;5298:63;;5254:117;5049:329;;;;:::o;5384:351::-;5454:6;5503:2;5491:9;5482:7;5478:23;5474:32;5471:119;;;5509:79;;:::i;:::-;5471:119;5629:1;5654:64;5710:7;5701:6;5690:9;5686:22;5654:64;:::i;:::-;5644:74;;5600:128;5384:351;;;;:::o;5741:619::-;5818:6;5826;5834;5883:2;5871:9;5862:7;5858:23;5854:32;5851:119;;;5889:79;;:::i;:::-;5851:119;6009:1;6034:53;6079:7;6070:6;6059:9;6055:22;6034:53;:::i;:::-;6024:63;;5980:117;6136:2;6162:53;6207:7;6198:6;6187:9;6183:22;6162:53;:::i;:::-;6152:63;;6107:118;6264:2;6290:53;6335:7;6326:6;6315:9;6311:22;6290:53;:::i;:::-;6280:63;;6235:118;5741:619;;;;;:::o;6366:663::-;6454:6;6462;6470;6519:2;6507:9;6498:7;6494:23;6490:32;6487:119;;;6525:79;;:::i;:::-;6487:119;6645:1;6670:64;6726:7;6717:6;6706:9;6702:22;6670:64;:::i;:::-;6660:74;;6616:128;6783:2;6809:64;6865:7;6856:6;6845:9;6841:22;6809:64;:::i;:::-;6799:74;;6754:129;6922:2;6948:64;7004:7;6995:6;6984:9;6980:22;6948:64;:::i;:::-;6938:74;;6893:129;6366:663;;;;;:::o;7035:179::-;7104:10;7125:46;7167:3;7159:6;7125:46;:::i;:::-;7203:4;7198:3;7194:14;7180:28;;7035:179;;;;:::o;7220:147::-;7315:45;7354:5;7315:45;:::i;:::-;7310:3;7303:58;7220:147;;:::o;7373:108::-;7450:24;7468:5;7450:24;:::i;:::-;7445:3;7438:37;7373:108;;:::o;7487:118::-;7574:24;7592:5;7574:24;:::i;:::-;7569:3;7562:37;7487:118;;:::o;7641:732::-;7760:3;7789:54;7837:5;7789:54;:::i;:::-;7859:86;7938:6;7933:3;7859:86;:::i;:::-;7852:93;;7969:56;8019:5;7969:56;:::i;:::-;8048:7;8079:1;8064:284;8089:6;8086:1;8083:13;8064:284;;;8165:6;8159:13;8192:63;8251:3;8236:13;8192:63;:::i;:::-;8185:70;;8278:60;8331:6;8278:60;:::i;:::-;8268:70;;8124:224;8111:1;8108;8104:9;8099:14;;8064:284;;;8068:14;8364:3;8357:10;;7765:608;;;7641:732;;;;:::o;8379:109::-;8460:21;8475:5;8460:21;:::i;:::-;8455:3;8448:34;8379:109;;:::o;8494:147::-;8589:45;8628:5;8589:45;:::i;:::-;8584:3;8577:58;8494:147;;:::o;8647:364::-;8735:3;8763:39;8796:5;8763:39;:::i;:::-;8818:71;8882:6;8877:3;8818:71;:::i;:::-;8811:78;;8898:52;8943:6;8938:3;8931:4;8924:5;8920:16;8898:52;:::i;:::-;8975:29;8997:6;8975:29;:::i;:::-;8970:3;8966:39;8959:46;;8739:272;8647:364;;;;:::o;9017:366::-;9159:3;9180:67;9244:2;9239:3;9180:67;:::i;:::-;9173:74;;9256:93;9345:3;9256:93;:::i;:::-;9374:2;9369:3;9365:12;9358:19;;9017:366;;;:::o;9389:::-;9531:3;9552:67;9616:2;9611:3;9552:67;:::i;:::-;9545:74;;9628:93;9717:3;9628:93;:::i;:::-;9746:2;9741:3;9737:12;9730:19;;9389:366;;;:::o;9761:::-;9903:3;9924:67;9988:2;9983:3;9924:67;:::i;:::-;9917:74;;10000:93;10089:3;10000:93;:::i;:::-;10118:2;10113:3;10109:12;10102:19;;9761:366;;;:::o;10133:::-;10275:3;10296:67;10360:2;10355:3;10296:67;:::i;:::-;10289:74;;10372:93;10461:3;10372:93;:::i;:::-;10490:2;10485:3;10481:12;10474:19;;10133:366;;;:::o;10505:::-;10647:3;10668:67;10732:2;10727:3;10668:67;:::i;:::-;10661:74;;10744:93;10833:3;10744:93;:::i;:::-;10862:2;10857:3;10853:12;10846:19;;10505:366;;;:::o;10877:::-;11019:3;11040:67;11104:2;11099:3;11040:67;:::i;:::-;11033:74;;11116:93;11205:3;11116:93;:::i;:::-;11234:2;11229:3;11225:12;11218:19;;10877:366;;;:::o;11249:::-;11391:3;11412:67;11476:2;11471:3;11412:67;:::i;:::-;11405:74;;11488:93;11577:3;11488:93;:::i;:::-;11606:2;11601:3;11597:12;11590:19;;11249:366;;;:::o;11621:::-;11763:3;11784:67;11848:2;11843:3;11784:67;:::i;:::-;11777:74;;11860:93;11949:3;11860:93;:::i;:::-;11978:2;11973:3;11969:12;11962:19;;11621:366;;;:::o;11993:::-;12135:3;12156:67;12220:2;12215:3;12156:67;:::i;:::-;12149:74;;12232:93;12321:3;12232:93;:::i;:::-;12350:2;12345:3;12341:12;12334:19;;11993:366;;;:::o;12365:::-;12507:3;12528:67;12592:2;12587:3;12528:67;:::i;:::-;12521:74;;12604:93;12693:3;12604:93;:::i;:::-;12722:2;12717:3;12713:12;12706:19;;12365:366;;;:::o;12737:::-;12879:3;12900:67;12964:2;12959:3;12900:67;:::i;:::-;12893:74;;12976:93;13065:3;12976:93;:::i;:::-;13094:2;13089:3;13085:12;13078:19;;12737:366;;;:::o;13109:::-;13251:3;13272:67;13336:2;13331:3;13272:67;:::i;:::-;13265:74;;13348:93;13437:3;13348:93;:::i;:::-;13466:2;13461:3;13457:12;13450:19;;13109:366;;;:::o;13481:118::-;13568:24;13586:5;13568:24;:::i;:::-;13563:3;13556:37;13481:118;;:::o;13605:112::-;13688:22;13704:5;13688:22;:::i;:::-;13683:3;13676:35;13605:112;;:::o;13723:222::-;13816:4;13854:2;13843:9;13839:18;13831:26;;13867:71;13935:1;13924:9;13920:17;13911:6;13867:71;:::i;:::-;13723:222;;;;:::o;13951:348::-;14080:4;14118:2;14107:9;14103:18;14095:26;;14131:79;14207:1;14196:9;14192:17;14183:6;14131:79;:::i;:::-;14220:72;14288:2;14277:9;14273:18;14264:6;14220:72;:::i;:::-;13951:348;;;;;:::o;14305:807::-;14554:4;14592:3;14581:9;14577:19;14569:27;;14606:71;14674:1;14663:9;14659:17;14650:6;14606:71;:::i;:::-;14687:72;14755:2;14744:9;14740:18;14731:6;14687:72;:::i;:::-;14769:80;14845:2;14834:9;14830:18;14821:6;14769:80;:::i;:::-;14859;14935:2;14924:9;14920:18;14911:6;14859:80;:::i;:::-;14949:73;15017:3;15006:9;15002:19;14993:6;14949:73;:::i;:::-;15032;15100:3;15089:9;15085:19;15076:6;15032:73;:::i;:::-;14305:807;;;;;;;;;:::o;15118:210::-;15205:4;15243:2;15232:9;15228:18;15220:26;;15256:65;15318:1;15307:9;15303:17;15294:6;15256:65;:::i;:::-;15118:210;;;;:::o;15334:720::-;15569:4;15607:3;15596:9;15592:19;15584:27;;15621:79;15697:1;15686:9;15682:17;15673:6;15621:79;:::i;:::-;15747:9;15741:4;15737:20;15732:2;15721:9;15717:18;15710:48;15775:108;15878:4;15869:6;15775:108;:::i;:::-;15767:116;;15893:72;15961:2;15950:9;15946:18;15937:6;15893:72;:::i;:::-;15975;16043:2;16032:9;16028:18;16019:6;15975:72;:::i;:::-;15334:720;;;;;;;:::o;16060:313::-;16173:4;16211:2;16200:9;16196:18;16188:26;;16260:9;16254:4;16250:20;16246:1;16235:9;16231:17;16224:47;16288:78;16361:4;16352:6;16288:78;:::i;:::-;16280:86;;16060:313;;;;:::o;16379:419::-;16545:4;16583:2;16572:9;16568:18;16560:26;;16632:9;16626:4;16622:20;16618:1;16607:9;16603:17;16596:47;16660:131;16786:4;16660:131;:::i;:::-;16652:139;;16379:419;;;:::o;16804:::-;16970:4;17008:2;16997:9;16993:18;16985:26;;17057:9;17051:4;17047:20;17043:1;17032:9;17028:17;17021:47;17085:131;17211:4;17085:131;:::i;:::-;17077:139;;16804:419;;;:::o;17229:::-;17395:4;17433:2;17422:9;17418:18;17410:26;;17482:9;17476:4;17472:20;17468:1;17457:9;17453:17;17446:47;17510:131;17636:4;17510:131;:::i;:::-;17502:139;;17229:419;;;:::o;17654:::-;17820:4;17858:2;17847:9;17843:18;17835:26;;17907:9;17901:4;17897:20;17893:1;17882:9;17878:17;17871:47;17935:131;18061:4;17935:131;:::i;:::-;17927:139;;17654:419;;;:::o;18079:::-;18245:4;18283:2;18272:9;18268:18;18260:26;;18332:9;18326:4;18322:20;18318:1;18307:9;18303:17;18296:47;18360:131;18486:4;18360:131;:::i;:::-;18352:139;;18079:419;;;:::o;18504:::-;18670:4;18708:2;18697:9;18693:18;18685:26;;18757:9;18751:4;18747:20;18743:1;18732:9;18728:17;18721:47;18785:131;18911:4;18785:131;:::i;:::-;18777:139;;18504:419;;;:::o;18929:::-;19095:4;19133:2;19122:9;19118:18;19110:26;;19182:9;19176:4;19172:20;19168:1;19157:9;19153:17;19146:47;19210:131;19336:4;19210:131;:::i;:::-;19202:139;;18929:419;;;:::o;19354:::-;19520:4;19558:2;19547:9;19543:18;19535:26;;19607:9;19601:4;19597:20;19593:1;19582:9;19578:17;19571:47;19635:131;19761:4;19635:131;:::i;:::-;19627:139;;19354:419;;;:::o;19779:::-;19945:4;19983:2;19972:9;19968:18;19960:26;;20032:9;20026:4;20022:20;20018:1;20007:9;20003:17;19996:47;20060:131;20186:4;20060:131;:::i;:::-;20052:139;;19779:419;;;:::o;20204:::-;20370:4;20408:2;20397:9;20393:18;20385:26;;20457:9;20451:4;20447:20;20443:1;20432:9;20428:17;20421:47;20485:131;20611:4;20485:131;:::i;:::-;20477:139;;20204:419;;;:::o;20629:::-;20795:4;20833:2;20822:9;20818:18;20810:26;;20882:9;20876:4;20872:20;20868:1;20857:9;20853:17;20846:47;20910:131;21036:4;20910:131;:::i;:::-;20902:139;;20629:419;;;:::o;21054:::-;21220:4;21258:2;21247:9;21243:18;21235:26;;21307:9;21301:4;21297:20;21293:1;21282:9;21278:17;21271:47;21335:131;21461:4;21335:131;:::i;:::-;21327:139;;21054:419;;;:::o;21479:222::-;21572:4;21610:2;21599:9;21595:18;21587:26;;21623:71;21691:1;21680:9;21676:17;21667:6;21623:71;:::i;:::-;21479:222;;;;:::o;21707:831::-;21970:4;22008:3;21997:9;21993:19;21985:27;;22022:71;22090:1;22079:9;22075:17;22066:6;22022:71;:::i;:::-;22103:80;22179:2;22168:9;22164:18;22155:6;22103:80;:::i;:::-;22230:9;22224:4;22220:20;22215:2;22204:9;22200:18;22193:48;22258:108;22361:4;22352:6;22258:108;:::i;:::-;22250:116;;22376:72;22444:2;22433:9;22429:18;22420:6;22376:72;:::i;:::-;22458:73;22526:3;22515:9;22511:19;22502:6;22458:73;:::i;:::-;21707:831;;;;;;;;:::o;22544:214::-;22633:4;22671:2;22660:9;22656:18;22648:26;;22684:67;22748:1;22737:9;22733:17;22724:6;22684:67;:::i;:::-;22544:214;;;;:::o;22764:129::-;22798:6;22825:20;;:::i;:::-;22815:30;;22854:33;22882:4;22874:6;22854:33;:::i;:::-;22764:129;;;:::o;22899:75::-;22932:6;22965:2;22959:9;22949:19;;22899:75;:::o;22980:311::-;23057:4;23147:18;23139:6;23136:30;23133:56;;;23169:18;;:::i;:::-;23133:56;23219:4;23211:6;23207:17;23199:25;;23279:4;23273;23269:15;23261:23;;22980:311;;;:::o;23297:132::-;23364:4;23387:3;23379:11;;23417:4;23412:3;23408:14;23400:22;;23297:132;;;:::o;23435:114::-;23502:6;23536:5;23530:12;23520:22;;23435:114;;;:::o;23555:99::-;23607:6;23641:5;23635:12;23625:22;;23555:99;;;:::o;23660:113::-;23730:4;23762;23757:3;23753:14;23745:22;;23660:113;;;:::o;23779:184::-;23878:11;23912:6;23907:3;23900:19;23952:4;23947:3;23943:14;23928:29;;23779:184;;;;:::o;23969:169::-;24053:11;24087:6;24082:3;24075:19;24127:4;24122:3;24118:14;24103:29;;23969:169;;;;:::o;24144:305::-;24184:3;24203:20;24221:1;24203:20;:::i;:::-;24198:25;;24237:20;24255:1;24237:20;:::i;:::-;24232:25;;24391:1;24323:66;24319:74;24316:1;24313:81;24310:107;;;24397:18;;:::i;:::-;24310:107;24441:1;24438;24434:9;24427:16;;24144:305;;;;:::o;24455:185::-;24495:1;24512:20;24530:1;24512:20;:::i;:::-;24507:25;;24546:20;24564:1;24546:20;:::i;:::-;24541:25;;24585:1;24575:35;;24590:18;;:::i;:::-;24575:35;24632:1;24629;24625:9;24620:14;;24455:185;;;;:::o;24646:348::-;24686:7;24709:20;24727:1;24709:20;:::i;:::-;24704:25;;24743:20;24761:1;24743:20;:::i;:::-;24738:25;;24931:1;24863:66;24859:74;24856:1;24853:81;24848:1;24841:9;24834:17;24830:105;24827:131;;;24938:18;;:::i;:::-;24827:131;24986:1;24983;24979:9;24968:20;;24646:348;;;;:::o;25000:191::-;25040:4;25060:20;25078:1;25060:20;:::i;:::-;25055:25;;25094:20;25112:1;25094:20;:::i;:::-;25089:25;;25133:1;25130;25127:8;25124:34;;;25138:18;;:::i;:::-;25124:34;25183:1;25180;25176:9;25168:17;;25000:191;;;;:::o;25197:96::-;25234:7;25263:24;25281:5;25263:24;:::i;:::-;25252:35;;25197:96;;;:::o;25299:90::-;25333:7;25376:5;25369:13;25362:21;25351:32;;25299:90;;;:::o;25395:126::-;25432:7;25472:42;25465:5;25461:54;25450:65;;25395:126;;;:::o;25527:77::-;25564:7;25593:5;25582:16;;25527:77;;;:::o;25610:86::-;25645:7;25685:4;25678:5;25674:16;25663:27;;25610:86;;;:::o;25702:134::-;25760:9;25793:37;25824:5;25793:37;:::i;:::-;25780:50;;25702:134;;;:::o;25842:121::-;25900:9;25933:24;25951:5;25933:24;:::i;:::-;25920:37;;25842:121;;;:::o;25969:126::-;26019:9;26052:37;26083:5;26052:37;:::i;:::-;26039:50;;25969:126;;;:::o;26101:113::-;26151:9;26184:24;26202:5;26184:24;:::i;:::-;26171:37;;26101:113;;;:::o;26220:307::-;26288:1;26298:113;26312:6;26309:1;26306:13;26298:113;;;26397:1;26392:3;26388:11;26382:18;26378:1;26373:3;26369:11;26362:39;26334:2;26331:1;26327:10;26322:15;;26298:113;;;26429:6;26426:1;26423:13;26420:101;;;26509:1;26500:6;26495:3;26491:16;26484:27;26420:101;26269:258;26220:307;;;:::o;26533:281::-;26616:27;26638:4;26616:27;:::i;:::-;26608:6;26604:40;26746:6;26734:10;26731:22;26710:18;26698:10;26695:34;26692:62;26689:88;;;26757:18;;:::i;:::-;26689:88;26797:10;26793:2;26786:22;26576:238;26533:281;;:::o;26820:233::-;26859:3;26882:24;26900:5;26882:24;:::i;:::-;26873:33;;26928:66;26921:5;26918:77;26915:103;;;26998:18;;:::i;:::-;26915:103;27045:1;27038:5;27034:13;27027:20;;26820:233;;;:::o;27059:180::-;27107:77;27104:1;27097:88;27204:4;27201:1;27194:15;27228:4;27225:1;27218:15;27245:180;27293:77;27290:1;27283:88;27390:4;27387:1;27380:15;27414:4;27411:1;27404:15;27431:180;27479:77;27476:1;27469:88;27576:4;27573:1;27566:15;27600:4;27597:1;27590:15;27617:180;27665:77;27662:1;27655:88;27762:4;27759:1;27752:15;27786:4;27783:1;27776:15;27803:117;27912:1;27909;27902:12;27926:117;28035:1;28032;28025:12;28049:117;28158:1;28155;28148:12;28172:117;28281:1;28278;28271:12;28295:102;28336:6;28387:2;28383:7;28378:2;28371:5;28367:14;28363:28;28353:38;;28295:102;;;:::o;28403:227::-;28543:34;28539:1;28531:6;28527:14;28520:58;28612:10;28607:2;28599:6;28595:15;28588:35;28403:227;:::o;28636:222::-;28776:34;28772:1;28764:6;28760:14;28753:58;28845:5;28840:2;28832:6;28828:15;28821:30;28636:222;:::o;28864:173::-;29004:25;29000:1;28992:6;28988:14;28981:49;28864:173;:::o;29043:221::-;29183:34;29179:1;29171:6;29167:14;29160:58;29252:4;29247:2;29239:6;29235:15;29228:29;29043:221;:::o;29270:177::-;29410:29;29406:1;29398:6;29394:14;29387:53;29270:177;:::o;29453:220::-;29593:34;29589:1;29581:6;29577:14;29570:58;29662:3;29657:2;29649:6;29645:15;29638:28;29453:220;:::o;29679:182::-;29819:34;29815:1;29807:6;29803:14;29796:58;29679:182;:::o;29867:228::-;30007:34;30003:1;29995:6;29991:14;29984:58;30076:11;30071:2;30063:6;30059:15;30052:36;29867:228;:::o;30101:180::-;30241:32;30237:1;30229:6;30225:14;30218:56;30101:180;:::o;30287:224::-;30427:34;30423:1;30415:6;30411:14;30404:58;30496:7;30491:2;30483:6;30479:15;30472:32;30287:224;:::o;30517:223::-;30657:34;30653:1;30645:6;30641:14;30634:58;30726:6;30721:2;30713:6;30709:15;30702:31;30517:223;:::o;30746:173::-;30886:25;30882:1;30874:6;30870:14;30863:49;30746:173;:::o;30925:122::-;30998:24;31016:5;30998:24;:::i;:::-;30991:5;30988:35;30978:63;;31037:1;31034;31027:12;30978:63;30925:122;:::o;31053:116::-;31123:21;31138:5;31123:21;:::i;:::-;31116:5;31113:32;31103:60;;31159:1;31156;31149:12;31103:60;31053:116;:::o;31175:122::-;31248:24;31266:5;31248:24;:::i;:::-;31241:5;31238:35;31228:63;;31287:1;31284;31277:12;31228:63;31175:122;:::o
Swarm Source
ipfs://434e3c3984b3a2b495a72c0cef5de2a139f648b397c6bc4f9306677a2b27c63b
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.