ERC-20
Overview
Max Total Supply
1,000,000 FLOKINU
Holders
56
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
FLOKINU
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-25 */ /* Straight out of Kattegat, raised between sheeps, wooden houses covered in bear fur & self made viking ships, Flokinu has decided to show himself on the Uniswap meme token scene. Absolutely usesless as the token is, he prays to Odin that the ape/degen's community shows themselves once more to prove this could be a possible mooner! Telegram: t.me/officialflokinu SPDX-License-Identifier: M̧͖̪̬͚͕̘̻̙̫͎̉̾͑̽͌̓̏̅͌̕͘ĩ̢͎̥̦̼͖̾̀͒̚͠n̺̼̳̩̝̐͒̑̄̕͢͞è̫̦̬͙̌͗͡ş̣̞̤̲̳̭̫̬̦͗́͂̅̉̒̍͑̑̒̈́̏͟͜™͍͙͆̒̏ͅ®̳̻̋̿©͕̅ */ pragma solidity ^0.8.6; 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); } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity); } interface IWETH { function deposit() external payable; function transfer(address to, uint value) external returns (bool); function approve(address to, uint value) external returns (bool); } contract FLOKINU is Context, IERC20, Ownable { string private constant _name = unicode"Flokinu💨"; string private constant _symbol = "FLOKINU"; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping(address => uint256)) private _allowances; mapping (address => bool) private bots; mapping (address => uint) private cooldown; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private _isExcluded; IUniswapV2Router02 private uniswapV2Router; address[] private _excluded; address private c; address private bob; address private otherguy; address private uniswapV2Pair; address private WETH; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _taxFee; uint256 private _LiquidityFee; uint64 private buyCounter; uint8 private constant _decimals = 9; uint16 private maxTx; bool private tradingOpen; bool private inSwap; bool private swapEnabled; bool private cooldownEnabled; event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address payable _bob, address payable _otherguy) { c = address(this); bob = _bob; otherguy = _otherguy; _rOwned[c] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[c] = true; _isExcludedFromFee[bob] = true; _isExcludedFromFee[otherguy] = true; excludeFromReward(owner()); excludeFromReward(c); excludeFromReward(bob); excludeFromReward(otherguy); emit Transfer(address(0),c,_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) { if (_isExcluded[account]) return _tOwned[account]; return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender,_msgSender(),_allowances[sender][_msgSender()] - amount); return true; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require(rAmount <= _rTotal,"Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount / currentRate; } function nofees() private { _taxFee = 0; _LiquidityFee = 0; } function basefees() private { _taxFee = 2; _LiquidityFee = 18; } 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 _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(amount > 0, "Transfer amount must be greater than zero"); require(!bots[from] && !bots[to]); basefees(); if (from != owner() && to != owner() && tradingOpen) { if (cooldownEnabled && !inSwap) { if (from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router)) { require(_msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair,"ERR: Uniswap only"); } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && !inSwap) { if (buyCounter < 100) require(amount <= _tTotal * maxTx / 1000); if (cooldownEnabled) { require(cooldown[to] < block.timestamp); if (buyCounter < 30) cooldown[to] = block.timestamp + (10 minutes); else cooldown[to] = block.timestamp + (30 seconds); } if (buyCounter % 50 == 0 && buyCounter != 0) nofees(); buyCounter++; } if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from] && !inSwap) { require(cooldown[from] < block.timestamp); if (swapEnabled) { uint256 contractTokenBalance = balanceOf(c); if (contractTokenBalance > balanceOf(uniswapV2Pair) * 1 / 10000) { swapAndLiquify(contractTokenBalance); } } } if (!inSwap) { if (buyCounter == 25) maxTx = 20; // 2% if (buyCounter == 50) { maxTx = 50; // 5% cooldownEnabled = false; } //if (buyCounter == 100) // maxTx = 1000; // 100% //don't need to set max to 100% here to disable it since max stops getting checked after the 100th buy } } bool takeFee = true; if (_isExcludedFromFee[from] || _isExcludedFromFee[to] || inSwap) { takeFee = false; } _tokenTransfer(from, to, amount, takeFee); } function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap { swapTokensForEth(contractTokenBalance); uint256 balance = c.balance / 2; sendETHToFee(balance); IWETH(WETH).deposit{value: balance}(); assert(IWETH(WETH).transfer(uniswapV2Pair, balance)); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = c; path[1] = WETH; _approve(c, address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, c, block.timestamp); } function sendETHToFee(uint256 ETHamount) private { payable(bob).transfer(ETHamount / 2); payable(otherguy).transfer(ETHamount / 2); } function openTrading() external onlyOwner() { require(!tradingOpen, "trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = uniswapV2Router.WETH(); _approve(c, address(uniswapV2Router), ~uint256(0)); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(c, WETH); uniswapV2Router.addLiquidityETH{value: c.balance}(c,balanceOf(c),0,0,owner(),block.timestamp); maxTx = 10; // 1% IERC20(uniswapV2Pair).approve(address(uniswapV2Router),~uint256(0)); tradingOpen = true; swapEnabled = true; cooldownEnabled = true; } function manualswap() external { require(_msgSender() == bob || _msgSender() == otherguy); uint256 contractBalance = balanceOf(c); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == bob || _msgSender() == otherguy); uint256 contractETHBalance = c.balance; sendETHToFee(contractETHBalance); } function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { if (!takeFee) nofees(); if (_isExcluded[sender] && !_isExcluded[recipient]) { _transferFromExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && _isExcluded[recipient]) { _transferToExcluded(sender, recipient, amount); } else if (_isExcluded[sender] && _isExcluded[recipient]) { _transferBothExcluded(sender, recipient, amount); } else { _transferStandard(sender, recipient, amount); } } function _transferToExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender] - rAmount; _tOwned[recipient] = _tOwned[recipient] + tTransferAmount; _rOwned[recipient] = _rOwned[recipient] + rTransferAmount; _takeLiquidity(tLiquidity); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender] - tAmount; _rOwned[sender] = _rOwned[sender] - rAmount; _rOwned[recipient] = _rOwned[recipient] + rTransferAmount; _takeLiquidity(tLiquidity); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender] - tAmount; _rOwned[sender] = _rOwned[sender] - rAmount; _tOwned[recipient] = _tOwned[recipient] + tTransferAmount; _rOwned[recipient] = _rOwned[recipient] + rTransferAmount; _takeLiquidity(tLiquidity); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender] - rAmount; _rOwned[recipient] = _rOwned[recipient] + rTransferAmount; _takeLiquidity(tLiquidity); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeLiquidity(uint256 tLiquidity) private { uint256 currentRate = _getRate(); uint256 rLiquidity = tLiquidity * currentRate; _rOwned[c] = _rOwned[c] + rLiquidity; _tOwned[c] = _tOwned[c] + tLiquidity; } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal - rFee; _tFeeTotal = _tFeeTotal + tFee; } receive() external payable {} function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getTValues(tAmount, _taxFee, _LiquidityFee); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, _getRate()); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tLiquidity); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 LiquidityFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount * taxFee / 100; uint256 tLiquidity = tAmount * LiquidityFee / 100; uint256 tTransferAmount = tAmount - tFee - tLiquidity; return (tTransferAmount, tFee, tLiquidity); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tLiquidity, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount * currentRate; uint256 rFee = tFee * currentRate; uint256 rLiquidity = tLiquidity * currentRate; uint256 rTransferAmount = rAmount - rFee - rLiquidity; return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply / tSupply; } function excludeFromReward(address addr) internal { require(addr != address(uniswapV2Router), 'ERR: Can\'t exclude Uniswap router'); require(!_isExcluded[addr], "Account is already excluded"); if(_rOwned[addr] > 0) { _tOwned[addr] = tokenFromReflection(_rOwned[addr]); } _isExcluded[addr] = true; _excluded.push(addr); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; for (uint256 i = 0; i < _excluded.length; i++) { if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal); rSupply = rSupply - _rOwned[_excluded[i]]; tSupply = tSupply - _tOwned[_excluded[i]]; } if (rSupply < _rTotal / _tTotal) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"_bob","type":"address"},{"internalType":"address payable","name":"_otherguy","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","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":[],"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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405266038d7ea4c680006000196200001b919062000e38565b6000196200002a919062000d71565b600f553480156200003a57600080fd5b50604051620055b8380380620055b8833981810160405281019062000060919062000bd8565b6000620000726200056260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35030600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f5460016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000620002516200056a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000430620004246200056a60201b60201c565b6200059360201b60201c565b62000463600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200059360201b60201c565b62000496600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200059360201b60201c565b620004c9600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200059360201b60201c565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c6800060405162000552919062000d0b565b60405180910390a3505062000fe3565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141562000627576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200061e9062000ce9565b60405180910390fd5b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615620006b7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006ae9062000cc7565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115620007945762000750600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200085260201b60201c565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600f548211156200089c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008939062000ca5565b60405180910390fd5b6000620008ae620008c660201b60201c565b90508083620008be919062000d39565b915050919050565b6000806000620008db620008f460201b60201c565b915091508082620008ed919062000d39565b9250505090565b6000806000600f549050600066038d7ea4c68000905060005b60098054905081101562000b7d5782600160006009848154811062000937576200093662000ece565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118062000a295750816002600060098481548110620009c157620009c062000ece565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1562000a4757600f5466038d7ea4c680009450945050505062000bbd565b600160006009838154811062000a625762000a6162000ece565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548362000ad5919062000d71565b9250600260006009838154811062000af25762000af162000ece565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548262000b65919062000d71565b9150808062000b749062000dea565b9150506200090d565b5066038d7ea4c68000600f5462000b95919062000d39565b82101562000bb457600f5466038d7ea4c6800093509350505062000bbd565b81819350935050505b9091565b60008151905062000bd28162000fc9565b92915050565b6000806040838503121562000bf25762000bf162000efd565b5b600062000c028582860162000bc1565b925050602062000c158582860162000bc1565b9150509250929050565b600062000c2e602a8362000d28565b915062000c3b8262000f02565b604082019050919050565b600062000c55601b8362000d28565b915062000c628262000f51565b602082019050919050565b600062000c7c60218362000d28565b915062000c898262000f7a565b604082019050919050565b62000c9f8162000de0565b82525050565b6000602082019050818103600083015262000cc08162000c1f565b9050919050565b6000602082019050818103600083015262000ce28162000c46565b9050919050565b6000602082019050818103600083015262000d048162000c6d565b9050919050565b600060208201905062000d22600083018462000c94565b92915050565b600082825260208201905092915050565b600062000d468262000de0565b915062000d538362000de0565b92508262000d665762000d6562000e9f565b5b828204905092915050565b600062000d7e8262000de0565b915062000d8b8362000de0565b92508282101562000da15762000da062000e70565b5b828203905092915050565b600062000db98262000dc0565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000df78262000de0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000e2d5762000e2c62000e70565b5b600182019050919050565b600062000e458262000de0565b915062000e528362000de0565b92508262000e655762000e6462000e9f565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f4552523a2043616e2774206578636c75646520556e697377617020726f75746560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b62000fd48162000dac565b811462000fe057600080fd5b50565b6145c58062000ff36000396000f3fe6080604052600436106100f75760003560e01c8063715018a61161008a578063b515566a11610059578063b515566a14610325578063c3c8cd801461034e578063c9567bf914610365578063dd62ed3e1461037c576100fe565b8063715018a61461027b5780638da5cb5b1461029257806395d89b41146102bd578063a9059cbb146102e8576100fe565b8063273123b7116100c6578063273123b7146101d3578063313ce567146101fc5780636fc3eaec1461022757806370a082311461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190613d3d565b60405180910390f35b34801561013a57600080fd5b506101556004803603810190610150919061392a565b6103f6565b6040516101629190613d22565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d9190613e5f565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b891906138d7565b610423565b6040516101ca9190613d22565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f5919061383d565b6104db565b005b34801561020857600080fd5b506102116105cb565b60405161021e9190613ed4565b60405180910390f35b34801561023357600080fd5b5061023c6105d4565b005b34801561024a57600080fd5b506102656004803603810190610260919061383d565b6106de565b6040516102729190613e5f565b60405180910390f35b34801561028757600080fd5b506102906107c9565b005b34801561029e57600080fd5b506102a761091c565b6040516102b49190613c54565b60405180910390f35b3480156102c957600080fd5b506102d2610945565b6040516102df9190613d3d565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a919061392a565b610982565b60405161031c9190613d22565b60405180910390f35b34801561033157600080fd5b5061034c6004803603810190610347919061396a565b6109a0565b005b34801561035a57600080fd5b50610363610aca565b005b34801561037157600080fd5b5061037a610bc5565b005b34801561038857600080fd5b506103a3600480360381019061039e9190613897565b61126d565b6040516103b09190613e5f565b60405180910390f35b60606040518060400160405280600b81526020017f466c6f6b696e75f09f92a8000000000000000000000000000000000000000000815250905090565b600061040a6104036112f4565b84846112fc565b6001905092915050565b600066038d7ea4c68000905090565b60006104308484846114c7565b6104d08461043c6112f4565b84600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104866112f4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104cb9190614076565b6112fc565b600190509392505050565b6104e36112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056790613d9f565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106156112f4565b73ffffffffffffffffffffffffffffffffffffffff16148061068b5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106736112f4565b73ffffffffffffffffffffffffffffffffffffffff16145b61069457600080fd5b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163190506106db8161201d565b50565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561077957600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506107c4565b6107c1600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210a565b90505b919050565b6107d16112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590613d9f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f464c4f4b494e5500000000000000000000000000000000000000000000000000815250905090565b600061099661098f6112f4565b84846114c7565b6001905092915050565b6109a86112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2c90613d9f565b60405180910390fd5b60005b8151811015610ac657600160046000848481518110610a5a57610a596142c1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610abe90614189565b915050610a38565b5050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b0b6112f4565b73ffffffffffffffffffffffffffffffffffffffff161480610b815750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b696112f4565b73ffffffffffffffffffffffffffffffffffffffff16145b610b8a57600080fd5b6000610bb7600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106de565b9050610bc281612171565b50565b610bcd6112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5190613d9f565b60405180910390fd5b6013600a9054906101000a900460ff1615610caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca190613e1f565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d6757600080fd5b505afa158015610d7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9f919061386a565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000196112fc565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e9857600080fd5b505afa158015610eac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed0919061386a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401610f4e929190613c6f565b602060405180830381600087803b158015610f6857600080fd5b505af1158015610f7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa0919061386a565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166110a6600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106de565b6000806110b161091c565b426040518863ffffffff1660e01b81526004016110d396959493929190613cc1565b6060604051808303818588803b1580156110ec57600080fd5b505af1158015611100573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061112591906139e0565b505050600a601360086101000a81548161ffff021916908361ffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000196040518363ffffffff1660e01b81526004016111c7929190613c98565b602060405180830381600087803b1580156111e157600080fd5b505af11580156111f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121991906139b3565b5060016013600a6101000a81548160ff02191690831515021790555060016013600c6101000a81548160ff02191690831515021790555060016013600d6101000a81548160ff021916908315150217905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561136c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136390613dff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d390613d7f565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ba9190613e5f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152e90613ddf565b60405180910390fd5b6000811161157a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157190613dbf565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561161e5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61162757600080fd5b61162f6123ac565b61163761091c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116a5575061167561091c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116bd57506013600a9054906101000a900460ff165b15611f43576013600d9054906101000a900460ff1680156116eb57506013600b9054906101000a900460ff16155b15611909573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561175857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117b25750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561180c5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561190857600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166118526112f4565b73ffffffffffffffffffffffffffffffffffffffff1614806118c85750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166118b06112f4565b73ffffffffffffffffffffffffffffffffffffffff16145b611907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fe90613e3f565b60405180910390fd5b5b5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119b45750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a0a5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a2357506013600b9054906101000a900460ff16155b15611c7c576064601360009054906101000a900467ffffffffffffffff1667ffffffffffffffff161015611a92576103e8601360089054906101000a900461ffff1661ffff1666038d7ea4c68000611a7b919061401c565b611a859190613feb565b811115611a9157600080fd5b5b6013600d9054906101000a900460ff1615611bc35742600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611af257600080fd5b601e601360009054906101000a900467ffffffffffffffff1667ffffffffffffffff161015611b715761025842611b299190613f95565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bc2565b601e42611b7e9190613f95565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b60006032601360009054906101000a900467ffffffffffffffff16611be89190614203565b67ffffffffffffffff16148015611c2057506000601360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1614155b15611c2e57611c2d6123bd565b5b6013600081819054906101000a900467ffffffffffffffff1680929190611c54906141d2565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611d275750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d7d5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d9657506013600b9054906101000a900460ff16155b15611e825742600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611de657600080fd5b6013600c9054906101000a900460ff1615611e81576000611e28600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106de565b90506127106001611e5a600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106de565b611e64919061401c565b611e6e9190613feb565b811115611e7f57611e7e816123cf565b5b505b5b6013600b9054906101000a900460ff16611f42576019601360009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611ede576014601360086101000a81548161ffff021916908361ffff1602179055505b6032601360009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611f41576032601360086101000a81548161ffff021916908361ffff16021790555060006013600d6101000a81548160ff0219169083151502179055505b5b5b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611fea5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061200157506013600b9054906101000a900460ff165b1561200b57600090505b612017848484846125c6565b50505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002836120669190613feb565b9081150290604051600060405180830381858888f19350505050158015612091573d6000803e3d6000fd5b50600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002836120db9190613feb565b9081150290604051600060405180830381858888f19350505050158015612106573d6000803e3d6000fd5b5050565b6000600f54821115612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890613d5f565b60405180910390fd5b600061215b61280f565b905080836121699190613feb565b915050919050565b6000600267ffffffffffffffff81111561218e5761218d6142f0565b5b6040519080825280602002602001820160405280156121bc5781602001602082028036833780820191505090505b509050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816000815181106121f6576121f56142c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612267576122666142c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122f0600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112fc565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401612376959493929190613e7a565b600060405180830381600087803b15801561239057600080fd5b505af11580156123a4573d6000803e3d6000fd5b505050505050565b600260118190555060128081905550565b60006011819055506000601281905550565b60016013600b6101000a81548160ff0219169083151502179055506123f381612171565b60006002600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163161243b9190613feb565b90506124468161201d565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156124b057600080fd5b505af11580156124c4573d6000803e3d6000fd5b5050505050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401612548929190613c98565b602060405180830381600087803b15801561256257600080fd5b505af1158015612576573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061259a91906139b3565b6125a7576125a6614234565b5b5060006013600b6101000a81548160ff02191690831515021790555050565b806125d4576125d36123bd565b5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156126775750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561268c57612687848484612833565b612809565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561272f5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156127445761273f848484612a7e565b612808565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127e65750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156127fb576127f6848484612cc9565b612807565b612806848484612fa2565b5b5b5b50505050565b600080600061281c61315f565b91509150808261282c9190613feb565b9250505090565b60008060008060008061284587613411565b95509550955095509550955086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289c9190614076565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461292a9190614076565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129b89190613f95565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a0481613473565b612a0e8483613638565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612a6b9190613e5f565b60405180910390a3505050505050505050565b600080600080600080612a9087613411565b95509550955095509550955085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae79190614076565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b759190613f95565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c039190613f95565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c4f81613473565b612c598483613638565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612cb69190613e5f565b60405180910390a3505050505050505050565b600080600080600080612cdb87613411565b95509550955095509550955086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d329190614076565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dc09190614076565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e4e9190613f95565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612edc9190613f95565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f2881613473565b612f328483613638565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612f8f9190613e5f565b60405180910390a3505050505050505050565b600080600080600080612fb487613411565b95509550955095509550955085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461300b9190614076565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130999190613f95565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130e581613473565b6130ef8483613638565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161314c9190613e5f565b60405180910390a3505050505050505050565b6000806000600f549050600066038d7ea4c68000905060005b6009805490508110156133d15782600160006009848154811061319e5761319d6142c1565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061328c5750816002600060098481548110613224576132236142c1565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156132a857600f5466038d7ea4c680009450945050505061340d565b60016000600983815481106132c0576132bf6142c1565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836133319190614076565b9250600260006009838154811061334b5761334a6142c1565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826133bc9190614076565b915080806133c990614189565b915050613178565b5066038d7ea4c68000600f546133e79190613feb565b82101561340457600f5466038d7ea4c6800093509350505061340d565b81819350935050505b9091565b600080600080600080600080600061342e8a601154601254613664565b925092509250600080600061344c8d868661344761280f565b6136d0565b9250925092508282828888889b509b509b509b509b509b5050505050505091939550919395565b600061347d61280f565b90506000818361348d919061401c565b90508060016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546134fc9190613f95565b60016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508260026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135ce9190613f95565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b81600f546136469190614076565b600f819055508060105461365a9190613f95565b6010819055505050565b60008060008060648688613678919061401c565b6136829190613feb565b9050600060648689613694919061401c565b61369e9190613feb565b9050600081838a6136af9190614076565b6136b99190614076565b905080838395509550955050505093509350939050565b60008060008084886136e2919061401c565b9050600085886136f2919061401c565b905060008688613702919061401c565b905060008183856137139190614076565b61371d9190614076565b9050838184965096509650505050509450945094915050565b600061374961374484613f14565b613eef565b9050808382526020820190508285602086028201111561376c5761376b614324565b5b60005b8581101561379c578161378288826137a6565b84526020840193506020830192505060018101905061376f565b5050509392505050565b6000813590506137b58161454a565b92915050565b6000815190506137ca8161454a565b92915050565b600082601f8301126137e5576137e461431f565b5b81356137f5848260208601613736565b91505092915050565b60008151905061380d81614561565b92915050565b60008135905061382281614578565b92915050565b60008151905061383781614578565b92915050565b6000602082840312156138535761385261432e565b5b6000613861848285016137a6565b91505092915050565b6000602082840312156138805761387f61432e565b5b600061388e848285016137bb565b91505092915050565b600080604083850312156138ae576138ad61432e565b5b60006138bc858286016137a6565b92505060206138cd858286016137a6565b9150509250929050565b6000806000606084860312156138f0576138ef61432e565b5b60006138fe868287016137a6565b935050602061390f868287016137a6565b925050604061392086828701613813565b9150509250925092565b600080604083850312156139415761394061432e565b5b600061394f858286016137a6565b925050602061396085828601613813565b9150509250929050565b6000602082840312156139805761397f61432e565b5b600082013567ffffffffffffffff81111561399e5761399d614329565b5b6139aa848285016137d0565b91505092915050565b6000602082840312156139c9576139c861432e565b5b60006139d7848285016137fe565b91505092915050565b6000806000606084860312156139f9576139f861432e565b5b6000613a0786828701613828565b9350506020613a1886828701613828565b9250506040613a2986828701613828565b9150509250925092565b6000613a3f8383613a4b565b60208301905092915050565b613a54816140aa565b82525050565b613a63816140aa565b82525050565b6000613a7482613f50565b613a7e8185613f73565b9350613a8983613f40565b8060005b83811015613aba578151613aa18882613a33565b9750613aac83613f66565b925050600181019050613a8d565b5085935050505092915050565b613ad0816140bc565b82525050565b613adf81614113565b82525050565b6000613af082613f5b565b613afa8185613f84565b9350613b0a818560208601614125565b613b1381614333565b840191505092915050565b6000613b2b602a83613f84565b9150613b3682614344565b604082019050919050565b6000613b4e602283613f84565b9150613b5982614393565b604082019050919050565b6000613b71602083613f84565b9150613b7c826143e2565b602082019050919050565b6000613b94602983613f84565b9150613b9f8261440b565b604082019050919050565b6000613bb7602583613f84565b9150613bc28261445a565b604082019050919050565b6000613bda602483613f84565b9150613be5826144a9565b604082019050919050565b6000613bfd601783613f84565b9150613c08826144f8565b602082019050919050565b6000613c20601183613f84565b9150613c2b82614521565b602082019050919050565b613c3f816140e8565b82525050565b613c4e81614106565b82525050565b6000602082019050613c696000830184613a5a565b92915050565b6000604082019050613c846000830185613a5a565b613c916020830184613a5a565b9392505050565b6000604082019050613cad6000830185613a5a565b613cba6020830184613c36565b9392505050565b600060c082019050613cd66000830189613a5a565b613ce36020830188613c36565b613cf06040830187613ad6565b613cfd6060830186613ad6565b613d0a6080830185613a5a565b613d1760a0830184613c36565b979650505050505050565b6000602082019050613d376000830184613ac7565b92915050565b60006020820190508181036000830152613d578184613ae5565b905092915050565b60006020820190508181036000830152613d7881613b1e565b9050919050565b60006020820190508181036000830152613d9881613b41565b9050919050565b60006020820190508181036000830152613db881613b64565b9050919050565b60006020820190508181036000830152613dd881613b87565b9050919050565b60006020820190508181036000830152613df881613baa565b9050919050565b60006020820190508181036000830152613e1881613bcd565b9050919050565b60006020820190508181036000830152613e3881613bf0565b9050919050565b60006020820190508181036000830152613e5881613c13565b9050919050565b6000602082019050613e746000830184613c36565b92915050565b600060a082019050613e8f6000830188613c36565b613e9c6020830187613ad6565b8181036040830152613eae8186613a69565b9050613ebd6060830185613a5a565b613eca6080830184613c36565b9695505050505050565b6000602082019050613ee96000830184613c45565b92915050565b6000613ef9613f0a565b9050613f058282614158565b919050565b6000604051905090565b600067ffffffffffffffff821115613f2f57613f2e6142f0565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613fa0826140e8565b9150613fab836140e8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613fe057613fdf614263565b5b828201905092915050565b6000613ff6826140e8565b9150614001836140e8565b92508261401157614010614292565b5b828204905092915050565b6000614027826140e8565b9150614032836140e8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561406b5761406a614263565b5b828202905092915050565b6000614081826140e8565b915061408c836140e8565b92508282101561409f5761409e614263565b5b828203905092915050565b60006140b5826140c8565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b600061411e826140e8565b9050919050565b60005b83811015614143578082015181840152602081019050614128565b83811115614152576000848401525b50505050565b61416182614333565b810181811067ffffffffffffffff821117156141805761417f6142f0565b5b80604052505050565b6000614194826140e8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156141c7576141c6614263565b5b600182019050919050565b60006141dd826140f2565b915067ffffffffffffffff8214156141f8576141f7614263565b5b600182019050919050565b600061420e826140f2565b9150614219836140f2565b92508261422957614228614292565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b614553816140aa565b811461455e57600080fd5b50565b61456a816140bc565b811461457557600080fd5b50565b614581816140e8565b811461458c57600080fd5b5056fea26469706673582212206ffac0671506f3d134e6d2d00ee73d50978c0dd14a0a6fda70e0f180afd3372864736f6c63430008060033000000000000000000000000b0b5a6e743d5659ce742ca9fb60c5f24bde600c700000000000000000000000025e2f51b83ef5beac06ea0309beba68ae074cd12
Deployed Bytecode
0x6080604052600436106100f75760003560e01c8063715018a61161008a578063b515566a11610059578063b515566a14610325578063c3c8cd801461034e578063c9567bf914610365578063dd62ed3e1461037c576100fe565b8063715018a61461027b5780638da5cb5b1461029257806395d89b41146102bd578063a9059cbb146102e8576100fe565b8063273123b7116100c6578063273123b7146101d3578063313ce567146101fc5780636fc3eaec1461022757806370a082311461023e576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190613d3d565b60405180910390f35b34801561013a57600080fd5b506101556004803603810190610150919061392a565b6103f6565b6040516101629190613d22565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d9190613e5f565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b891906138d7565b610423565b6040516101ca9190613d22565b60405180910390f35b3480156101df57600080fd5b506101fa60048036038101906101f5919061383d565b6104db565b005b34801561020857600080fd5b506102116105cb565b60405161021e9190613ed4565b60405180910390f35b34801561023357600080fd5b5061023c6105d4565b005b34801561024a57600080fd5b506102656004803603810190610260919061383d565b6106de565b6040516102729190613e5f565b60405180910390f35b34801561028757600080fd5b506102906107c9565b005b34801561029e57600080fd5b506102a761091c565b6040516102b49190613c54565b60405180910390f35b3480156102c957600080fd5b506102d2610945565b6040516102df9190613d3d565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a919061392a565b610982565b60405161031c9190613d22565b60405180910390f35b34801561033157600080fd5b5061034c6004803603810190610347919061396a565b6109a0565b005b34801561035a57600080fd5b50610363610aca565b005b34801561037157600080fd5b5061037a610bc5565b005b34801561038857600080fd5b506103a3600480360381019061039e9190613897565b61126d565b6040516103b09190613e5f565b60405180910390f35b60606040518060400160405280600b81526020017f466c6f6b696e75f09f92a8000000000000000000000000000000000000000000815250905090565b600061040a6104036112f4565b84846112fc565b6001905092915050565b600066038d7ea4c68000905090565b60006104308484846114c7565b6104d08461043c6112f4565b84600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104866112f4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104cb9190614076565b6112fc565b600190509392505050565b6104e36112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056790613d9f565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106156112f4565b73ffffffffffffffffffffffffffffffffffffffff16148061068b5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106736112f4565b73ffffffffffffffffffffffffffffffffffffffff16145b61069457600080fd5b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163190506106db8161201d565b50565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561077957600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506107c4565b6107c1600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461210a565b90505b919050565b6107d16112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590613d9f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f464c4f4b494e5500000000000000000000000000000000000000000000000000815250905090565b600061099661098f6112f4565b84846114c7565b6001905092915050565b6109a86112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2c90613d9f565b60405180910390fd5b60005b8151811015610ac657600160046000848481518110610a5a57610a596142c1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610abe90614189565b915050610a38565b5050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b0b6112f4565b73ffffffffffffffffffffffffffffffffffffffff161480610b815750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b696112f4565b73ffffffffffffffffffffffffffffffffffffffff16145b610b8a57600080fd5b6000610bb7600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106de565b9050610bc281612171565b50565b610bcd6112f4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5190613d9f565b60405180910390fd5b6013600a9054906101000a900460ff1615610caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca190613e1f565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d6757600080fd5b505afa158015610d7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9f919061386a565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000196112fc565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e9857600080fd5b505afa158015610eac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed0919061386a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401610f4e929190613c6f565b602060405180830381600087803b158015610f6857600080fd5b505af1158015610f7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa0919061386a565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166110a6600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106de565b6000806110b161091c565b426040518863ffffffff1660e01b81526004016110d396959493929190613cc1565b6060604051808303818588803b1580156110ec57600080fd5b505af1158015611100573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061112591906139e0565b505050600a601360086101000a81548161ffff021916908361ffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000196040518363ffffffff1660e01b81526004016111c7929190613c98565b602060405180830381600087803b1580156111e157600080fd5b505af11580156111f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121991906139b3565b5060016013600a6101000a81548160ff02191690831515021790555060016013600c6101000a81548160ff02191690831515021790555060016013600d6101000a81548160ff021916908315150217905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561136c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136390613dff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d390613d7f565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ba9190613e5f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152e90613ddf565b60405180910390fd5b6000811161157a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157190613dbf565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561161e5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61162757600080fd5b61162f6123ac565b61163761091c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116a5575061167561091c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116bd57506013600a9054906101000a900460ff165b15611f43576013600d9054906101000a900460ff1680156116eb57506013600b9054906101000a900460ff16155b15611909573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561175857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117b25750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561180c5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561190857600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166118526112f4565b73ffffffffffffffffffffffffffffffffffffffff1614806118c85750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166118b06112f4565b73ffffffffffffffffffffffffffffffffffffffff16145b611907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fe90613e3f565b60405180910390fd5b5b5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119b45750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a0a5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a2357506013600b9054906101000a900460ff16155b15611c7c576064601360009054906101000a900467ffffffffffffffff1667ffffffffffffffff161015611a92576103e8601360089054906101000a900461ffff1661ffff1666038d7ea4c68000611a7b919061401c565b611a859190613feb565b811115611a9157600080fd5b5b6013600d9054906101000a900460ff1615611bc35742600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611af257600080fd5b601e601360009054906101000a900467ffffffffffffffff1667ffffffffffffffff161015611b715761025842611b299190613f95565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bc2565b601e42611b7e9190613f95565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b60006032601360009054906101000a900467ffffffffffffffff16611be89190614203565b67ffffffffffffffff16148015611c2057506000601360009054906101000a900467ffffffffffffffff1667ffffffffffffffff1614155b15611c2e57611c2d6123bd565b5b6013600081819054906101000a900467ffffffffffffffff1680929190611c54906141d2565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611d275750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d7d5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d9657506013600b9054906101000a900460ff16155b15611e825742600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611de657600080fd5b6013600c9054906101000a900460ff1615611e81576000611e28600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106de565b90506127106001611e5a600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106de565b611e64919061401c565b611e6e9190613feb565b811115611e7f57611e7e816123cf565b5b505b5b6013600b9054906101000a900460ff16611f42576019601360009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611ede576014601360086101000a81548161ffff021916908361ffff1602179055505b6032601360009054906101000a900467ffffffffffffffff1667ffffffffffffffff161415611f41576032601360086101000a81548161ffff021916908361ffff16021790555060006013600d6101000a81548160ff0219169083151502179055505b5b5b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611fea5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061200157506013600b9054906101000a900460ff165b1561200b57600090505b612017848484846125c6565b50505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002836120669190613feb565b9081150290604051600060405180830381858888f19350505050158015612091573d6000803e3d6000fd5b50600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002836120db9190613feb565b9081150290604051600060405180830381858888f19350505050158015612106573d6000803e3d6000fd5b5050565b6000600f54821115612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890613d5f565b60405180910390fd5b600061215b61280f565b905080836121699190613feb565b915050919050565b6000600267ffffffffffffffff81111561218e5761218d6142f0565b5b6040519080825280602002602001820160405280156121bc5781602001602082028036833780820191505090505b509050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816000815181106121f6576121f56142c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612267576122666142c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122f0600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112fc565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401612376959493929190613e7a565b600060405180830381600087803b15801561239057600080fd5b505af11580156123a4573d6000803e3d6000fd5b505050505050565b600260118190555060128081905550565b60006011819055506000601281905550565b60016013600b6101000a81548160ff0219169083151502179055506123f381612171565b60006002600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163161243b9190613feb565b90506124468161201d565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156124b057600080fd5b505af11580156124c4573d6000803e3d6000fd5b5050505050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401612548929190613c98565b602060405180830381600087803b15801561256257600080fd5b505af1158015612576573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061259a91906139b3565b6125a7576125a6614234565b5b5060006013600b6101000a81548160ff02191690831515021790555050565b806125d4576125d36123bd565b5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156126775750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561268c57612687848484612833565b612809565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561272f5750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156127445761273f848484612a7e565b612808565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127e65750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156127fb576127f6848484612cc9565b612807565b612806848484612fa2565b5b5b5b50505050565b600080600061281c61315f565b91509150808261282c9190613feb565b9250505090565b60008060008060008061284587613411565b95509550955095509550955086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289c9190614076565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461292a9190614076565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129b89190613f95565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a0481613473565b612a0e8483613638565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612a6b9190613e5f565b60405180910390a3505050505050505050565b600080600080600080612a9087613411565b95509550955095509550955085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae79190614076565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b759190613f95565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c039190613f95565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c4f81613473565b612c598483613638565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612cb69190613e5f565b60405180910390a3505050505050505050565b600080600080600080612cdb87613411565b95509550955095509550955086600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d329190614076565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dc09190614076565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e4e9190613f95565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612edc9190613f95565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f2881613473565b612f328483613638565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612f8f9190613e5f565b60405180910390a3505050505050505050565b600080600080600080612fb487613411565b95509550955095509550955085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461300b9190614076565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130999190613f95565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130e581613473565b6130ef8483613638565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161314c9190613e5f565b60405180910390a3505050505050505050565b6000806000600f549050600066038d7ea4c68000905060005b6009805490508110156133d15782600160006009848154811061319e5761319d6142c1565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054118061328c5750816002600060098481548110613224576132236142c1565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156132a857600f5466038d7ea4c680009450945050505061340d565b60016000600983815481106132c0576132bf6142c1565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836133319190614076565b9250600260006009838154811061334b5761334a6142c1565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826133bc9190614076565b915080806133c990614189565b915050613178565b5066038d7ea4c68000600f546133e79190613feb565b82101561340457600f5466038d7ea4c6800093509350505061340d565b81819350935050505b9091565b600080600080600080600080600061342e8a601154601254613664565b925092509250600080600061344c8d868661344761280f565b6136d0565b9250925092508282828888889b509b509b509b509b509b5050505050505091939550919395565b600061347d61280f565b90506000818361348d919061401c565b90508060016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546134fc9190613f95565b60016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508260026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546135ce9190613f95565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b81600f546136469190614076565b600f819055508060105461365a9190613f95565b6010819055505050565b60008060008060648688613678919061401c565b6136829190613feb565b9050600060648689613694919061401c565b61369e9190613feb565b9050600081838a6136af9190614076565b6136b99190614076565b905080838395509550955050505093509350939050565b60008060008084886136e2919061401c565b9050600085886136f2919061401c565b905060008688613702919061401c565b905060008183856137139190614076565b61371d9190614076565b9050838184965096509650505050509450945094915050565b600061374961374484613f14565b613eef565b9050808382526020820190508285602086028201111561376c5761376b614324565b5b60005b8581101561379c578161378288826137a6565b84526020840193506020830192505060018101905061376f565b5050509392505050565b6000813590506137b58161454a565b92915050565b6000815190506137ca8161454a565b92915050565b600082601f8301126137e5576137e461431f565b5b81356137f5848260208601613736565b91505092915050565b60008151905061380d81614561565b92915050565b60008135905061382281614578565b92915050565b60008151905061383781614578565b92915050565b6000602082840312156138535761385261432e565b5b6000613861848285016137a6565b91505092915050565b6000602082840312156138805761387f61432e565b5b600061388e848285016137bb565b91505092915050565b600080604083850312156138ae576138ad61432e565b5b60006138bc858286016137a6565b92505060206138cd858286016137a6565b9150509250929050565b6000806000606084860312156138f0576138ef61432e565b5b60006138fe868287016137a6565b935050602061390f868287016137a6565b925050604061392086828701613813565b9150509250925092565b600080604083850312156139415761394061432e565b5b600061394f858286016137a6565b925050602061396085828601613813565b9150509250929050565b6000602082840312156139805761397f61432e565b5b600082013567ffffffffffffffff81111561399e5761399d614329565b5b6139aa848285016137d0565b91505092915050565b6000602082840312156139c9576139c861432e565b5b60006139d7848285016137fe565b91505092915050565b6000806000606084860312156139f9576139f861432e565b5b6000613a0786828701613828565b9350506020613a1886828701613828565b9250506040613a2986828701613828565b9150509250925092565b6000613a3f8383613a4b565b60208301905092915050565b613a54816140aa565b82525050565b613a63816140aa565b82525050565b6000613a7482613f50565b613a7e8185613f73565b9350613a8983613f40565b8060005b83811015613aba578151613aa18882613a33565b9750613aac83613f66565b925050600181019050613a8d565b5085935050505092915050565b613ad0816140bc565b82525050565b613adf81614113565b82525050565b6000613af082613f5b565b613afa8185613f84565b9350613b0a818560208601614125565b613b1381614333565b840191505092915050565b6000613b2b602a83613f84565b9150613b3682614344565b604082019050919050565b6000613b4e602283613f84565b9150613b5982614393565b604082019050919050565b6000613b71602083613f84565b9150613b7c826143e2565b602082019050919050565b6000613b94602983613f84565b9150613b9f8261440b565b604082019050919050565b6000613bb7602583613f84565b9150613bc28261445a565b604082019050919050565b6000613bda602483613f84565b9150613be5826144a9565b604082019050919050565b6000613bfd601783613f84565b9150613c08826144f8565b602082019050919050565b6000613c20601183613f84565b9150613c2b82614521565b602082019050919050565b613c3f816140e8565b82525050565b613c4e81614106565b82525050565b6000602082019050613c696000830184613a5a565b92915050565b6000604082019050613c846000830185613a5a565b613c916020830184613a5a565b9392505050565b6000604082019050613cad6000830185613a5a565b613cba6020830184613c36565b9392505050565b600060c082019050613cd66000830189613a5a565b613ce36020830188613c36565b613cf06040830187613ad6565b613cfd6060830186613ad6565b613d0a6080830185613a5a565b613d1760a0830184613c36565b979650505050505050565b6000602082019050613d376000830184613ac7565b92915050565b60006020820190508181036000830152613d578184613ae5565b905092915050565b60006020820190508181036000830152613d7881613b1e565b9050919050565b60006020820190508181036000830152613d9881613b41565b9050919050565b60006020820190508181036000830152613db881613b64565b9050919050565b60006020820190508181036000830152613dd881613b87565b9050919050565b60006020820190508181036000830152613df881613baa565b9050919050565b60006020820190508181036000830152613e1881613bcd565b9050919050565b60006020820190508181036000830152613e3881613bf0565b9050919050565b60006020820190508181036000830152613e5881613c13565b9050919050565b6000602082019050613e746000830184613c36565b92915050565b600060a082019050613e8f6000830188613c36565b613e9c6020830187613ad6565b8181036040830152613eae8186613a69565b9050613ebd6060830185613a5a565b613eca6080830184613c36565b9695505050505050565b6000602082019050613ee96000830184613c45565b92915050565b6000613ef9613f0a565b9050613f058282614158565b919050565b6000604051905090565b600067ffffffffffffffff821115613f2f57613f2e6142f0565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613fa0826140e8565b9150613fab836140e8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613fe057613fdf614263565b5b828201905092915050565b6000613ff6826140e8565b9150614001836140e8565b92508261401157614010614292565b5b828204905092915050565b6000614027826140e8565b9150614032836140e8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561406b5761406a614263565b5b828202905092915050565b6000614081826140e8565b915061408c836140e8565b92508282101561409f5761409e614263565b5b828203905092915050565b60006140b5826140c8565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600067ffffffffffffffff82169050919050565b600060ff82169050919050565b600061411e826140e8565b9050919050565b60005b83811015614143578082015181840152602081019050614128565b83811115614152576000848401525b50505050565b61416182614333565b810181811067ffffffffffffffff821117156141805761417f6142f0565b5b80604052505050565b6000614194826140e8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156141c7576141c6614263565b5b600182019050919050565b60006141dd826140f2565b915067ffffffffffffffff8214156141f8576141f7614263565b5b600182019050919050565b600061420e826140f2565b9150614219836140f2565b92508261422957614228614292565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b614553816140aa565b811461455e57600080fd5b50565b61456a816140bc565b811461457557600080fd5b50565b614581816140e8565b811461458c57600080fd5b5056fea26469706673582212206ffac0671506f3d134e6d2d00ee73d50978c0dd14a0a6fda70e0f180afd3372864736f6c63430008060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b0b5a6e743d5659ce742ca9fb60c5f24bde600c700000000000000000000000025e2f51b83ef5beac06ea0309beba68ae074cd12
-----Decoded View---------------
Arg [0] : _bob (address): 0xb0b5a6e743d5659Ce742CA9Fb60c5f24bde600c7
Arg [1] : _otherguy (address): 0x25E2f51b83eF5bEaC06EA0309beBA68Ae074cD12
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000b0b5a6e743d5659ce742ca9fb60c5f24bde600c7
Arg [1] : 00000000000000000000000025e2f51b83ef5beac06ea0309beba68ae074cd12
Deployed Bytecode Sourcemap
3133:14704:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5132:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6060:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5413:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6229:264;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7130:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5318:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11932:198;;;;;;;;;;;;;:::i;:::-;;5520;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1977:148;;;;;;;;;;;;;:::i;:::-;;1763:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5223:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5730:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6954:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11721:199;;;;;;;;;;;;;:::i;:::-;;11015:694;;;;;;;;;;;;;:::i;:::-;;5909:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5132:83;5169:13;5202:5;;;;;;;;;;;;;;;;;5195:12;;5132:83;:::o;6060:161::-;6135:4;6152:39;6161:12;:10;:12::i;:::-;6175:7;6184:6;6152:8;:39::i;:::-;6209:4;6202:11;;6060:161;;;;:::o;5413:95::-;5466:7;3987:15;5486:14;;5413:95;:::o;6229:264::-;6327:4;6344:36;6354:6;6362:9;6373:6;6344:9;:36::i;:::-;6391:72;6400:6;6407:12;:10;:12::i;:::-;6456:6;6420:11;:19;6432:6;6420:19;;;;;;;;;;;;;;;:33;6440:12;:10;:12::i;:::-;6420:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;6391:8;:72::i;:::-;6481:4;6474:11;;6229:264;;;;;:::o;7130:88::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7205:5:::1;7190:4;:12;7195:6;7190:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;7130:88:::0;:::o;5318:83::-;5359:5;4231:1;5377:16;;5318:83;:::o;11932:198::-;11998:3;;;;;;;;;;;11982:19;;:12;:10;:12::i;:::-;:19;;;:47;;;;12021:8;;;;;;;;;;;12005:24;;:12;:10;:12::i;:::-;:24;;;11982:47;11974:56;;;;;;12041:26;12070:1;;;;;;;;;;;:9;;;12041:38;;12090:32;12103:18;12090:12;:32::i;:::-;11963:167;11932:198::o;5520:::-;5586:7;5610:11;:20;5622:7;5610:20;;;;;;;;;;;;;;;;;;;;;;;;;5606:49;;;5639:7;:16;5647:7;5639:16;;;;;;;;;;;;;;;;5632:23;;;;5606:49;5673:37;5693:7;:16;5701:7;5693:16;;;;;;;;;;;;;;;;5673:19;:37::i;:::-;5666:44;;5520:198;;;;:::o;1977:148::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2084:1:::1;2047:40;;2068:6;::::0;::::1;;;;;;;;2047:40;;;;;;;;;;;;2115:1;2098:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1977:148::o:0;1763:79::-;1801:7;1828:6;;;;;;;;;;;1821:13;;1763:79;:::o;5223:87::-;5262:13;5295:7;;;;;;;;;;;;;;;;;5288:14;;5223:87;:::o;5730:167::-;5808:4;5825:42;5835:12;:10;:12::i;:::-;5849:9;5860:6;5825:9;:42::i;:::-;5885:4;5878:11;;5730:167;;;;:::o;6954:164::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7028:6:::1;7023:88;7044:5;:12;7040:1;:16;7023:88;;;7095:4;7078;:14;7083:5;7089:1;7083:8;;;;;;;;:::i;:::-;;;;;;;;7078:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;7058:3;;;;;:::i;:::-;;;;7023:88;;;;6954:164:::0;:::o;11721:199::-;11787:3;;;;;;;;;;;11771:19;;:12;:10;:12::i;:::-;:19;;;:47;;;;11810:8;;;;;;;;;;;11794:24;;:12;:10;:12::i;:::-;:24;;;11771:47;11763:56;;;;;;11830:23;11856:12;11866:1;;;;;;;;;;;11856:9;:12::i;:::-;11830:38;;11879:33;11896:15;11879:16;:33::i;:::-;11752:168;11721:199::o;11015:694::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11079:11:::1;;;;;;;;;;;11078:12;11070:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;11166:42;11129:15;;:80;;;;;;;;;;;;;;;;;;11227:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11220:4;;:29;;;;;;;;;;;;;;;;;;11260:50;11269:1;;;;;;;;;;;11280:15;;;;;;;;;;;11307:1;11298:11;11260:8;:50::i;:::-;11355:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11337:55;;;11393:1;;;;;;;;;;;11396:4;;;;;;;;;;;11337:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11321:13;;:80;;;;;;;;;;;;;;;;;;11412:15;;;;;;;;;;;:31;;;11451:1;;;;;;;;;;;:9;;;11462:1;;;;;;;;;;;11464:12;11474:1;;;;;;;;;;;11464:9;:12::i;:::-;11477:1;11479::::0;11481:7:::1;:5;:7::i;:::-;11489:15;11412:93;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11524:2;11516:5;;:10;;;;;;;;;;;;;;;;;;11550:13;;;;;;;;;;;11543:29;;;11581:15;;;;;;;;;;;11607:1;11598:11;11543:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11635:4;11621:11;;:18;;;;;;;;;;;;;;;;;;11664:4;11650:11;;:18;;;;;;;;;;;;;;;;;;11697:4;11679:15;;:22;;;;;;;;;;;;;;;;;;11015:694::o:0;5909:143::-;5990:7;6017:11;:18;6029:5;6017:18;;;;;;;;;;;;;;;:27;6036:7;6017:27;;;;;;;;;;;;;;;;6010:34;;5909:143;;;;:::o;664:98::-;717:7;744:10;737:17;;664:98;:::o;7226:335::-;7336:1;7319:19;;:5;:19;;;;7311:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7417:1;7398:21;;:7;:21;;;;7390:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7499:6;7469:11;:18;7481:5;7469:18;;;;;;;;;;;;;;;:27;7488:7;7469:27;;;;;;;;;;;;;;;:36;;;;7537:7;7521:32;;7530:5;7521:32;;;7546:6;7521:32;;;;;;:::i;:::-;;;;;;;;7226:335;;;:::o;7573:2581::-;7677:1;7661:18;;:4;:18;;;;7653:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7749:1;7740:6;:10;7732:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7816:4;:10;7821:4;7816:10;;;;;;;;;;;;;;;;;;;;;;;;;7815:11;:24;;;;;7831:4;:8;7836:2;7831:8;;;;;;;;;;;;;;;;;;;;;;;;;7830:9;7815:24;7807:33;;;;;;7851:10;:8;:10::i;:::-;7884:7;:5;:7::i;:::-;7876:15;;:4;:15;;;;:32;;;;;7901:7;:5;:7::i;:::-;7895:13;;:2;:13;;;;7876:32;:47;;;;;7912:11;;;;;;;;;;;7876:47;7872:2059;;;7944:15;;;;;;;;;;;:26;;;;;7964:6;;;;;;;;;;;7963:7;7944:26;7940:331;;;8011:4;7995:21;;:4;:21;;;;:44;;;;;8034:4;8020:19;;:2;:19;;;;7995:44;:80;;;;;8059:15;;;;;;;;;;;8043:32;;:4;:32;;;;7995:80;:114;;;;;8093:15;;;;;;;;;;;8079:30;;:2;:30;;;;7995:114;7991:265;;;8166:15;;;;;;;;;;;8142:40;;:12;:10;:12::i;:::-;:40;;;:73;;;;8202:13;;;;;;;;;;;8186:29;;:12;:10;:12::i;:::-;:29;;;8142:73;8134:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;7991:265;7940:331;8297:13;;;;;;;;;;;8289:21;;:4;:21;;;:55;;;;;8328:15;;;;;;;;;;;8314:30;;:2;:30;;;;8289:55;:82;;;;;8349:18;:22;8368:2;8349:22;;;;;;;;;;;;;;;;;;;;;;;;;8348:23;8289:82;:93;;;;;8376:6;;;;;;;;;;;8375:7;8289:93;8285:675;;;8420:3;8407:10;;;;;;;;;;;:16;;;8403:84;;;8482:4;8474:5;;;;;;;;;;;8464:15;;3987;8464;;;;:::i;:::-;:22;;;;:::i;:::-;8454:6;:32;;8446:41;;;;;;8403:84;8510:15;;;;;;;;;;;8506:315;;;8573:15;8558:8;:12;8567:2;8558:12;;;;;;;;;;;;;;;;:30;8550:39;;;;;;8629:2;8616:10;;;;;;;;;;;:15;;;8612:189;;;8692:10;8673:15;:30;;;;:::i;:::-;8658:8;:12;8667:2;8658:12;;;;;;;;;;;;;;;:45;;;;8612:189;;;8790:10;8771:15;:30;;;;:::i;:::-;8756:8;:12;8765:2;8756:12;;;;;;;;;;;;;;;:45;;;;8612:189;8506:315;8862:1;8856:2;8843:10;;;;;;;;;;;:15;;;;:::i;:::-;:20;;;:39;;;;;8881:1;8867:10;;;;;;;;;;;:15;;;;8843:39;8839:74;;;8905:8;:6;:8::i;:::-;8839:74;8932:10;;:12;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;8285:675;8984:13;;;;;;;;;;;8978:19;;:2;:19;;;:55;;;;;9017:15;;;;;;;;;;;9001:32;;:4;:32;;;;8978:55;:85;;;;;9039:18;:24;9058:4;9039:24;;;;;;;;;;;;;;;;;;;;;;;;;9037:26;8978:85;:96;;;;;9068:6;;;;;;;;;;;9067:7;8978:96;8974:473;;;9120:15;9103:8;:14;9112:4;9103:14;;;;;;;;;;;;;;;;:32;9095:41;;;;;;9159:11;;;;;;;;;;;9155:277;;;9195:28;9226:12;9236:1;;;;;;;;;;;9226:9;:12::i;:::-;9195:43;;9319:5;9315:1;9288:24;9298:13;;;;;;;;;;;9288:9;:24::i;:::-;:28;;;;:::i;:::-;:36;;;;:::i;:::-;9265:20;:59;9261:152;;;9353:36;9368:20;9353:14;:36::i;:::-;9261:152;9172:260;9155:277;8974:473;9466:6;;;;;;;;;;;9461:459;;9511:2;9497:10;;;;;;;;;;;:16;;;9493:53;;;9544:2;9536:5;;:10;;;;;;;;;;;;;;;;;;9493:53;9589:2;9575:10;;;;;;;;;;;:16;;;9571:127;;;9624:2;9616:5;;:10;;;;;;;;;;;;;;;;;;9673:5;9655:15;;:23;;;;;;;;;;;;;;;;;;9571:127;9461:459;7872:2059;9951:12;9966:4;9951:19;;9987:18;:24;10006:4;9987:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10015:18;:22;10034:2;10015:22;;;;;;;;;;;;;;;;;;;;;;;;;9987:50;:60;;;;10041:6;;;;;;;;;;;9987:60;9983:108;;;10074:5;10064:15;;9983:108;10103:41;10118:4;10124:2;10128:6;10136:7;10103:14;:41::i;:::-;7642:2512;7573:2581;;;:::o;10847:156::-;10915:3;;;;;;;;;;;10907:21;;:36;10941:1;10929:9;:13;;;;:::i;:::-;10907:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10962:8;;;;;;;;;;;10954:26;;:41;10993:1;10981:9;:13;;;;:::i;:::-;10954:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10847:156;:::o;6501:250::-;6569:7;6608;;6597;:18;;6589:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;6672:19;6694:10;:8;:10::i;:::-;6672:32;;6732:11;6722:7;:21;;;;:::i;:::-;6715:28;;;6501:250;;;:::o;10494:341::-;10560:21;10598:1;10584:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10560:40;;10621:1;;;;;;;;;;;10611:4;10616:1;10611:7;;;;;;;;:::i;:::-;;;;;;;:11;;;;;;;;;;;10643:4;;;;;;;;;;;10633;10638:1;10633:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;10658:50;10667:1;;;;;;;;;;;10678:15;;;;;;;;;;;10696:11;10658:8;:50::i;:::-;10719:15;;;;;;;;;;;:66;;;10786:11;10799:1;10802:4;10808:1;;;;;;;;;;;10811:15;10719:108;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10549:286;10494:341;:::o;6855:87::-;6904:1;6894:7;:11;;;;6932:2;6916:13;:18;;;;6855:87::o;6759:84::-;6806:1;6796:7;:11;;;;6834:1;6818:13;:17;;;;6759:84::o;10166:316::-;4529:4;4520:6;;:13;;;;;;;;;;;;;;;;;;10251:38:::1;10268:20;10251:16;:38::i;:::-;10300:15;10330:1;10318;;;;;;;;;;;:9;;;:13;;;;:::i;:::-;10300:31;;10342:21;10355:7;10342:12;:21::i;:::-;10380:4;;;;;;;;;;;10374:19;;;10401:7;10374:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;10435:4;;;;;;;;;;;10429:20;;;10450:13;;;;;;;;;;;10465:7;10429:44;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10422:52;;;;:::i;:::-;;10240:242;4565:5:::0;4556:6;;:14;;;;;;;;;;;;;;;;;;10166:316;:::o;12138:615::-;12251:7;12246:22;;12260:8;:6;:8::i;:::-;12246:22;12283:11;:19;12295:6;12283:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;12307:11;:22;12319:9;12307:22;;;;;;;;;;;;;;;;;;;;;;;;;12306:23;12283:46;12279:467;;;12346:48;12368:6;12376:9;12387:6;12346:21;:48::i;:::-;12279:467;;;12417:11;:19;12429:6;12417:19;;;;;;;;;;;;;;;;;;;;;;;;;12416:20;:46;;;;;12440:11;:22;12452:9;12440:22;;;;;;;;;;;;;;;;;;;;;;;;;12416:46;12412:334;;;12479:46;12499:6;12507:9;12518:6;12479:19;:46::i;:::-;12412:334;;;12547:11;:19;12559:6;12547:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;12570:11;:22;12582:9;12570:22;;;;;;;;;;;;;;;;;;;;;;;;;12547:45;12543:203;;;12609:48;12631:6;12639:9;12650:6;12609:21;:48::i;:::-;12543:203;;;12690:44;12708:6;12716:9;12727:6;12690:17;:44::i;:::-;12543:203;12412:334;12279:467;12138:615;;;;:::o;16709:161::-;16751:7;16772:15;16789;16808:19;:17;:19::i;:::-;16771:56;;;;16855:7;16845;:17;;;;:::i;:::-;16838:24;;;;16709:161;:::o;13335:555::-;13438:15;13455:23;13480:12;13494:23;13519:12;13533:18;13555:19;13566:7;13555:10;:19::i;:::-;13437:137;;;;;;;;;;;;13621:7;13603;:15;13611:6;13603:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;13585:7;:15;13593:6;13585:15;;;;;;;;;;;;;;;:43;;;;13675:7;13657;:15;13665:6;13657:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;13639:7;:15;13647:6;13639:15;;;;;;;;;;;;;;;:43;;;;13735:15;13714:7;:18;13722:9;13714:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;13693:7;:18;13701:9;13693:18;;;;;;;;;;;;;;;:57;;;;13762:26;13777:10;13762:14;:26::i;:::-;13799:23;13811:4;13817;13799:11;:23::i;:::-;13855:9;13838:44;;13847:6;13838:44;;;13866:15;13838:44;;;;;;:::i;:::-;;;;;;;;13426:464;;;;;;13335:555;;;:::o;12761:566::-;12862:15;12879:23;12904:12;12918:23;12943:12;12957:18;12979:19;12990:7;12979:10;:19::i;:::-;12861:137;;;;;;;;;;;;13045:7;13027;:15;13035:6;13027:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;13009:7;:15;13017:6;13009:15;;;;;;;;;;;;;;;:43;;;;13105:15;13084:7;:18;13092:9;13084:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;13063:7;:18;13071:9;13063:18;;;;;;;;;;;;;;;:57;;;;13173:15;13152:7;:18;13160:9;13152:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;13131:7;:18;13139:9;13131:18;;;;;;;;;;;;;;;:57;;;;13199:26;13214:10;13199:14;:26::i;:::-;13236:23;13248:4;13254;13236:11;:23::i;:::-;13292:9;13275:44;;13284:6;13275:44;;;13303:15;13275:44;;;;;;:::i;:::-;;;;;;;;12850:477;;;;;;12761:566;;;:::o;13902:622::-;14005:15;14022:23;14047:12;14061:23;14086:12;14100:18;14122:19;14133:7;14122:10;:19::i;:::-;14004:137;;;;;;;;;;;;14188:7;14170;:15;14178:6;14170:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;14152:7;:15;14160:6;14152:15;;;;;;;;;;;;;;;:43;;;;14242:7;14224;:15;14232:6;14224:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;14206:7;:15;14214:6;14206:15;;;;;;;;;;;;;;;:43;;;;14302:15;14281:7;:18;14289:9;14281:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;14260:7;:18;14268:9;14260:18;;;;;;;;;;;;;;;:57;;;;14370:15;14349:7;:18;14357:9;14349:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;14328:7;:18;14336:9;14328:18;;;;;;;;;;;;;;;:57;;;;14396:26;14411:10;14396:14;:26::i;:::-;14433:23;14445:4;14451;14433:11;:23::i;:::-;14489:9;14472:44;;14481:6;14472:44;;;14500:15;14472:44;;;;;;:::i;:::-;;;;;;;;13993:531;;;;;;13902:622;;;:::o;14532:496::-;14631:15;14648:23;14673:12;14687:23;14712:12;14726:18;14748:19;14759:7;14748:10;:19::i;:::-;14630:137;;;;;;;;;;;;14814:7;14796;:15;14804:6;14796:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;14778:7;:15;14786:6;14778:15;;;;;;;;;;;;;;;:43;;;;14874:15;14853:7;:18;14861:9;14853:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;14832:7;:18;14840:9;14832:18;;;;;;;;;;;;;;;:57;;;;14900:26;14915:10;14900:14;:26::i;:::-;14937:23;14949:4;14955;14937:11;:23::i;:::-;14993:9;14976:44;;14985:6;14976:44;;;15004:15;14976:44;;;;;;:::i;:::-;;;;;;;;14619:409;;;;;;14532:496;;;:::o;17278:553::-;17329:7;17338;17358:15;17376:7;;17358:25;;17394:15;3987;17394:25;;17441:9;17436:283;17460:9;:16;;;;17456:1;:20;17436:283;;;17526:7;17502;:21;17510:9;17520:1;17510:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17502:21;;;;;;;;;;;;;;;;:31;:66;;;;17561:7;17537;:21;17545:9;17555:1;17545:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17537:21;;;;;;;;;;;;;;;;:31;17502:66;17498:97;;;17578:7;;3987:15;17570:25;;;;;;;;;17498:97;17630:7;:21;17638:9;17648:1;17638:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17630:21;;;;;;;;;;;;;;;;17620:7;:31;;;;:::i;:::-;17610:41;;17686:7;:21;17694:9;17704:1;17694:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17686:21;;;;;;;;;;;;;;;;17676:7;:31;;;;:::i;:::-;17666:41;;17478:3;;;;;:::i;:::-;;;;17436:283;;;;3987:15;17743:7;;:17;;;;:::i;:::-;17733:7;:27;17729:58;;;17770:7;;3987:15;17762:25;;;;;;;;17729:58;17806:7;17815;17798:25;;;;;;17278:553;;;:::o;15482:443::-;15541:7;15550;15559;15568;15577;15586;15607:23;15632:12;15646:18;15668:44;15680:7;15689;;15698:13;;15668:11;:44::i;:::-;15606:106;;;;;;15724:15;15741:23;15766:12;15782:50;15794:7;15803:4;15809:10;15821;:8;:10::i;:::-;15782:11;:50::i;:::-;15723:109;;;;;;15851:7;15860:15;15877:4;15883:15;15900:4;15906:10;15843:74;;;;;;;;;;;;;;;;;;15482:443;;;;;;;:::o;15036:254::-;15099:19;15122:10;:8;:10::i;:::-;15099:33;;15143:18;15177:11;15164:10;:24;;;;:::i;:::-;15143:45;;15225:10;15212:7;:10;15220:1;;;;;;;;;;;15212:10;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;15199:7;:10;15207:1;;;;;;;;;;;15199:10;;;;;;;;;;;;;;;:36;;;;15272:10;15259:7;:10;15267:1;;;;;;;;;;;15259:10;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;15246:7;:10;15254:1;;;;;;;;;;;15246:10;;;;;;;;;;;;;;;:36;;;;15088:202;;15036:254;:::o;15296:141::-;15384:4;15374:7;;:14;;;;:::i;:::-;15364:7;:24;;;;15425:4;15412:10;;:17;;;;:::i;:::-;15399:10;:30;;;;15296:141;;:::o;15933:352::-;16031:7;16040;16049;16069:12;16103:3;16094:6;16084:7;:16;;;;:::i;:::-;:22;;;;:::i;:::-;16069:37;;16117:18;16163:3;16148:12;16138:7;:22;;;;:::i;:::-;:28;;;;:::i;:::-;16117:49;;16171:23;16214:10;16207:4;16197:7;:14;;;;:::i;:::-;:27;;;;:::i;:::-;16171:53;;16243:15;16260:4;16266:10;16235:42;;;;;;;;;15933:352;;;;;;;:::o;16293:408::-;16408:7;16417;16426;16446:15;16474:11;16464:7;:21;;;;:::i;:::-;16446:39;;16496:12;16518:11;16511:4;:18;;;;:::i;:::-;16496:33;;16540:18;16574:11;16561:10;:24;;;;:::i;:::-;16540:45;;16590:23;16633:10;16626:4;16616:7;:14;;;;:::i;:::-;:27;;;;:::i;:::-;16590:53;;16662:7;16671:15;16688:4;16654:39;;;;;;;;;;16293:408;;;;;;;;:::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:2;;;404:79;;:::i;:::-;350:2;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;;;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;804:87;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;960:80;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:2;;1191:79;;:::i;:::-;1150:2;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;;;;;:::o;1439:137::-;1493:5;1524:6;1518:13;1509:22;;1540:30;1564:5;1540:30;:::i;:::-;1499:77;;;;:::o;1582:139::-;1628:5;1666:6;1653:20;1644:29;;1682:33;1709:5;1682:33;:::i;:::-;1634:87;;;;:::o;1727:143::-;1784:5;1815:6;1809:13;1800:22;;1831:33;1858:5;1831:33;:::i;:::-;1790:80;;;;:::o;1876:329::-;1935:6;1984:2;1972:9;1963:7;1959:23;1955:32;1952:2;;;1990:79;;:::i;:::-;1952:2;2110:1;2135:53;2180:7;2171:6;2160:9;2156:22;2135:53;:::i;:::-;2125:63;;2081:117;1942:263;;;;:::o;2211:351::-;2281:6;2330:2;2318:9;2309:7;2305:23;2301:32;2298:2;;;2336:79;;:::i;:::-;2298:2;2456:1;2481:64;2537:7;2528:6;2517:9;2513:22;2481:64;:::i;:::-;2471:74;;2427:128;2288:274;;;;:::o;2568:474::-;2636:6;2644;2693:2;2681:9;2672:7;2668:23;2664:32;2661:2;;;2699:79;;:::i;:::-;2661:2;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;2651:391;;;;;:::o;3048:619::-;3125:6;3133;3141;3190:2;3178:9;3169:7;3165:23;3161:32;3158:2;;;3196:79;;:::i;:::-;3158:2;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;3148:519;;;;;:::o;3673:474::-;3741:6;3749;3798:2;3786:9;3777:7;3773:23;3769:32;3766:2;;;3804:79;;:::i;:::-;3766:2;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;3756:391;;;;;:::o;4153:539::-;4237:6;4286:2;4274:9;4265:7;4261:23;4257:32;4254:2;;;4292:79;;:::i;:::-;4254:2;4440:1;4429:9;4425:17;4412:31;4470:18;4462:6;4459:30;4456:2;;;4492:79;;:::i;:::-;4456:2;4597:78;4667:7;4658:6;4647:9;4643:22;4597:78;:::i;:::-;4587:88;;4383:302;4244:448;;;;:::o;4698:345::-;4765:6;4814:2;4802:9;4793:7;4789:23;4785:32;4782:2;;;4820:79;;:::i;:::-;4782:2;4940:1;4965:61;5018:7;5009:6;4998:9;4994:22;4965:61;:::i;:::-;4955:71;;4911:125;4772:271;;;;:::o;5049:663::-;5137:6;5145;5153;5202:2;5190:9;5181:7;5177:23;5173:32;5170:2;;;5208:79;;:::i;:::-;5170:2;5328:1;5353:64;5409:7;5400:6;5389:9;5385:22;5353:64;:::i;:::-;5343:74;;5299:128;5466:2;5492:64;5548:7;5539:6;5528:9;5524:22;5492:64;:::i;:::-;5482:74;;5437:129;5605:2;5631:64;5687:7;5678:6;5667:9;5663:22;5631:64;:::i;:::-;5621:74;;5576:129;5160:552;;;;;:::o;5718:179::-;5787:10;5808:46;5850:3;5842:6;5808:46;:::i;:::-;5886:4;5881:3;5877:14;5863:28;;5798:99;;;;:::o;5903:108::-;5980:24;5998:5;5980:24;:::i;:::-;5975:3;5968:37;5958:53;;:::o;6017:118::-;6104:24;6122:5;6104:24;:::i;:::-;6099:3;6092:37;6082:53;;:::o;6171:732::-;6290:3;6319:54;6367:5;6319:54;:::i;:::-;6389:86;6468:6;6463:3;6389:86;:::i;:::-;6382:93;;6499:56;6549:5;6499:56;:::i;:::-;6578:7;6609:1;6594:284;6619:6;6616:1;6613:13;6594:284;;;6695:6;6689:13;6722:63;6781:3;6766:13;6722:63;:::i;:::-;6715:70;;6808:60;6861:6;6808:60;:::i;:::-;6798:70;;6654:224;6641:1;6638;6634:9;6629:14;;6594:284;;;6598:14;6894:3;6887:10;;6295:608;;;;;;;:::o;6909:109::-;6990:21;7005:5;6990:21;:::i;:::-;6985:3;6978:34;6968:50;;:::o;7024:147::-;7119:45;7158:5;7119:45;:::i;:::-;7114:3;7107:58;7097:74;;:::o;7177:364::-;7265:3;7293:39;7326:5;7293:39;:::i;:::-;7348:71;7412:6;7407:3;7348:71;:::i;:::-;7341:78;;7428:52;7473:6;7468:3;7461:4;7454:5;7450:16;7428:52;:::i;:::-;7505:29;7527:6;7505:29;:::i;:::-;7500:3;7496:39;7489:46;;7269:272;;;;;:::o;7547:366::-;7689:3;7710:67;7774:2;7769:3;7710:67;:::i;:::-;7703:74;;7786:93;7875:3;7786:93;:::i;:::-;7904:2;7899:3;7895:12;7888:19;;7693:220;;;:::o;7919:366::-;8061:3;8082:67;8146:2;8141:3;8082:67;:::i;:::-;8075:74;;8158:93;8247:3;8158:93;:::i;:::-;8276:2;8271:3;8267:12;8260:19;;8065:220;;;:::o;8291:366::-;8433:3;8454:67;8518:2;8513:3;8454:67;:::i;:::-;8447:74;;8530:93;8619:3;8530:93;:::i;:::-;8648:2;8643:3;8639:12;8632:19;;8437:220;;;:::o;8663:366::-;8805:3;8826:67;8890:2;8885:3;8826:67;:::i;:::-;8819:74;;8902:93;8991:3;8902:93;:::i;:::-;9020:2;9015:3;9011:12;9004:19;;8809:220;;;:::o;9035:366::-;9177:3;9198:67;9262:2;9257:3;9198:67;:::i;:::-;9191:74;;9274:93;9363:3;9274:93;:::i;:::-;9392:2;9387:3;9383:12;9376:19;;9181:220;;;:::o;9407:366::-;9549:3;9570:67;9634:2;9629:3;9570:67;:::i;:::-;9563:74;;9646:93;9735:3;9646:93;:::i;:::-;9764:2;9759:3;9755:12;9748:19;;9553:220;;;:::o;9779:366::-;9921:3;9942:67;10006:2;10001:3;9942:67;:::i;:::-;9935:74;;10018:93;10107:3;10018:93;:::i;:::-;10136:2;10131:3;10127:12;10120:19;;9925:220;;;:::o;10151:366::-;10293:3;10314:67;10378:2;10373:3;10314:67;:::i;:::-;10307:74;;10390:93;10479:3;10390:93;:::i;:::-;10508:2;10503:3;10499:12;10492:19;;10297:220;;;:::o;10523:118::-;10610:24;10628:5;10610:24;:::i;:::-;10605:3;10598:37;10588:53;;:::o;10647:112::-;10730:22;10746:5;10730:22;:::i;:::-;10725:3;10718:35;10708:51;;:::o;10765:222::-;10858:4;10896:2;10885:9;10881:18;10873:26;;10909:71;10977:1;10966:9;10962:17;10953:6;10909:71;:::i;:::-;10863:124;;;;:::o;10993:332::-;11114:4;11152:2;11141:9;11137:18;11129:26;;11165:71;11233:1;11222:9;11218:17;11209:6;11165:71;:::i;:::-;11246:72;11314:2;11303:9;11299:18;11290:6;11246:72;:::i;:::-;11119:206;;;;;:::o;11331:332::-;11452:4;11490:2;11479:9;11475:18;11467:26;;11503:71;11571:1;11560:9;11556:17;11547:6;11503:71;:::i;:::-;11584:72;11652:2;11641:9;11637:18;11628:6;11584:72;:::i;:::-;11457:206;;;;;:::o;11669:807::-;11918:4;11956:3;11945:9;11941:19;11933:27;;11970:71;12038:1;12027:9;12023:17;12014:6;11970:71;:::i;:::-;12051:72;12119:2;12108:9;12104:18;12095:6;12051:72;:::i;:::-;12133:80;12209:2;12198:9;12194:18;12185:6;12133:80;:::i;:::-;12223;12299:2;12288:9;12284:18;12275:6;12223:80;:::i;:::-;12313:73;12381:3;12370:9;12366:19;12357:6;12313:73;:::i;:::-;12396;12464:3;12453:9;12449:19;12440:6;12396:73;:::i;:::-;11923:553;;;;;;;;;:::o;12482:210::-;12569:4;12607:2;12596:9;12592:18;12584:26;;12620:65;12682:1;12671:9;12667:17;12658:6;12620:65;:::i;:::-;12574:118;;;;:::o;12698:313::-;12811:4;12849:2;12838:9;12834:18;12826:26;;12898:9;12892:4;12888:20;12884:1;12873:9;12869:17;12862:47;12926:78;12999:4;12990:6;12926:78;:::i;:::-;12918:86;;12816:195;;;;:::o;13017:419::-;13183:4;13221:2;13210:9;13206:18;13198:26;;13270:9;13264:4;13260:20;13256:1;13245:9;13241:17;13234:47;13298:131;13424:4;13298:131;:::i;:::-;13290:139;;13188:248;;;:::o;13442:419::-;13608:4;13646:2;13635:9;13631:18;13623:26;;13695:9;13689:4;13685:20;13681:1;13670:9;13666:17;13659:47;13723:131;13849:4;13723:131;:::i;:::-;13715:139;;13613:248;;;:::o;13867:419::-;14033:4;14071:2;14060:9;14056:18;14048:26;;14120:9;14114:4;14110:20;14106:1;14095:9;14091:17;14084:47;14148:131;14274:4;14148:131;:::i;:::-;14140:139;;14038:248;;;:::o;14292:419::-;14458:4;14496:2;14485:9;14481:18;14473:26;;14545:9;14539:4;14535:20;14531:1;14520:9;14516:17;14509:47;14573:131;14699:4;14573:131;:::i;:::-;14565:139;;14463:248;;;:::o;14717:419::-;14883:4;14921:2;14910:9;14906:18;14898:26;;14970:9;14964:4;14960:20;14956:1;14945:9;14941:17;14934:47;14998:131;15124:4;14998:131;:::i;:::-;14990:139;;14888:248;;;:::o;15142:419::-;15308:4;15346:2;15335:9;15331:18;15323:26;;15395:9;15389:4;15385:20;15381:1;15370:9;15366:17;15359:47;15423:131;15549:4;15423:131;:::i;:::-;15415:139;;15313:248;;;:::o;15567:419::-;15733:4;15771:2;15760:9;15756:18;15748:26;;15820:9;15814:4;15810:20;15806:1;15795:9;15791:17;15784:47;15848:131;15974:4;15848:131;:::i;:::-;15840:139;;15738:248;;;:::o;15992:419::-;16158:4;16196:2;16185:9;16181:18;16173:26;;16245:9;16239:4;16235:20;16231:1;16220:9;16216:17;16209:47;16273:131;16399:4;16273:131;:::i;:::-;16265:139;;16163:248;;;:::o;16417:222::-;16510:4;16548:2;16537:9;16533:18;16525:26;;16561:71;16629:1;16618:9;16614:17;16605:6;16561:71;:::i;:::-;16515:124;;;;:::o;16645:831::-;16908:4;16946:3;16935:9;16931:19;16923:27;;16960:71;17028:1;17017:9;17013:17;17004:6;16960:71;:::i;:::-;17041:80;17117:2;17106:9;17102:18;17093:6;17041:80;:::i;:::-;17168:9;17162:4;17158:20;17153:2;17142:9;17138:18;17131:48;17196:108;17299:4;17290:6;17196:108;:::i;:::-;17188:116;;17314:72;17382:2;17371:9;17367:18;17358:6;17314:72;:::i;:::-;17396:73;17464:3;17453:9;17449:19;17440:6;17396:73;:::i;:::-;16913:563;;;;;;;;:::o;17482:214::-;17571:4;17609:2;17598:9;17594:18;17586:26;;17622:67;17686:1;17675:9;17671:17;17662:6;17622:67;:::i;:::-;17576:120;;;;:::o;17702:129::-;17736:6;17763:20;;:::i;:::-;17753:30;;17792:33;17820:4;17812:6;17792:33;:::i;:::-;17743:88;;;:::o;17837:75::-;17870:6;17903:2;17897:9;17887:19;;17877:35;:::o;17918:311::-;17995:4;18085:18;18077:6;18074:30;18071:2;;;18107:18;;:::i;:::-;18071:2;18157:4;18149:6;18145:17;18137:25;;18217:4;18211;18207:15;18199:23;;18000:229;;;:::o;18235:132::-;18302:4;18325:3;18317:11;;18355:4;18350:3;18346:14;18338:22;;18307:60;;;:::o;18373:114::-;18440:6;18474:5;18468:12;18458:22;;18447:40;;;:::o;18493:99::-;18545:6;18579:5;18573:12;18563:22;;18552:40;;;:::o;18598:113::-;18668:4;18700;18695:3;18691:14;18683:22;;18673:38;;;:::o;18717:184::-;18816:11;18850:6;18845:3;18838:19;18890:4;18885:3;18881:14;18866:29;;18828:73;;;;:::o;18907:169::-;18991:11;19025:6;19020:3;19013:19;19065:4;19060:3;19056:14;19041:29;;19003:73;;;;:::o;19082:305::-;19122:3;19141:20;19159:1;19141:20;:::i;:::-;19136:25;;19175:20;19193:1;19175:20;:::i;:::-;19170:25;;19329:1;19261:66;19257:74;19254:1;19251:81;19248:2;;;19335:18;;:::i;:::-;19248:2;19379:1;19376;19372:9;19365:16;;19126:261;;;;:::o;19393:185::-;19433:1;19450:20;19468:1;19450:20;:::i;:::-;19445:25;;19484:20;19502:1;19484:20;:::i;:::-;19479:25;;19523:1;19513:2;;19528:18;;:::i;:::-;19513:2;19570:1;19567;19563:9;19558:14;;19435:143;;;;:::o;19584:348::-;19624:7;19647:20;19665:1;19647:20;:::i;:::-;19642:25;;19681:20;19699:1;19681:20;:::i;:::-;19676:25;;19869:1;19801:66;19797:74;19794:1;19791:81;19786:1;19779:9;19772:17;19768:105;19765:2;;;19876:18;;:::i;:::-;19765:2;19924:1;19921;19917:9;19906:20;;19632:300;;;;:::o;19938:191::-;19978:4;19998:20;20016:1;19998:20;:::i;:::-;19993:25;;20032:20;20050:1;20032:20;:::i;:::-;20027:25;;20071:1;20068;20065:8;20062:2;;;20076:18;;:::i;:::-;20062:2;20121:1;20118;20114:9;20106:17;;19983:146;;;;:::o;20135:96::-;20172:7;20201:24;20219:5;20201:24;:::i;:::-;20190:35;;20180:51;;;:::o;20237:90::-;20271:7;20314:5;20307:13;20300:21;20289:32;;20279:48;;;:::o;20333:126::-;20370:7;20410:42;20403:5;20399:54;20388:65;;20378:81;;;:::o;20465:77::-;20502:7;20531:5;20520:16;;20510:32;;;:::o;20548:101::-;20584:7;20624:18;20617:5;20613:30;20602:41;;20592:57;;;:::o;20655:86::-;20690:7;20730:4;20723:5;20719:16;20708:27;;20698:43;;;:::o;20747:121::-;20805:9;20838:24;20856:5;20838:24;:::i;:::-;20825:37;;20815:53;;;:::o;20874:307::-;20942:1;20952:113;20966:6;20963:1;20960:13;20952:113;;;21051:1;21046:3;21042:11;21036:18;21032:1;21027:3;21023:11;21016:39;20988:2;20985:1;20981:10;20976:15;;20952:113;;;21083:6;21080:1;21077:13;21074:2;;;21163:1;21154:6;21149:3;21145:16;21138:27;21074:2;20923:258;;;;:::o;21187:281::-;21270:27;21292:4;21270:27;:::i;:::-;21262:6;21258:40;21400:6;21388:10;21385:22;21364:18;21352:10;21349:34;21346:62;21343:2;;;21411:18;;:::i;:::-;21343:2;21451:10;21447:2;21440:22;21230:238;;;:::o;21474:233::-;21513:3;21536:24;21554:5;21536:24;:::i;:::-;21527:33;;21582:66;21575:5;21572:77;21569:2;;;21652:18;;:::i;:::-;21569:2;21699:1;21692:5;21688:13;21681:20;;21517:190;;;:::o;21713:183::-;21751:3;21774:23;21791:5;21774:23;:::i;:::-;21765:32;;21819:18;21812:5;21809:29;21806:2;;;21841:18;;:::i;:::-;21806:2;21888:1;21881:5;21877:13;21870:20;;21755:141;;;:::o;21902:173::-;21933:1;21950:19;21967:1;21950:19;:::i;:::-;21945:24;;21983:19;22000:1;21983:19;:::i;:::-;21978:24;;22021:1;22011:2;;22026:18;;:::i;:::-;22011:2;22067:1;22064;22060:9;22055:14;;21935:140;;;;:::o;22081:180::-;22129:77;22126:1;22119:88;22226:4;22223:1;22216:15;22250:4;22247:1;22240:15;22267:180;22315:77;22312:1;22305:88;22412:4;22409:1;22402:15;22436:4;22433:1;22426:15;22453:180;22501:77;22498:1;22491:88;22598:4;22595:1;22588:15;22622:4;22619:1;22612:15;22639:180;22687:77;22684:1;22677:88;22784:4;22781:1;22774:15;22808:4;22805:1;22798:15;22825:180;22873:77;22870:1;22863:88;22970:4;22967:1;22960:15;22994:4;22991:1;22984:15;23011:117;23120:1;23117;23110:12;23134:117;23243:1;23240;23233:12;23257:117;23366:1;23363;23356:12;23380:117;23489:1;23486;23479:12;23503:102;23544:6;23595:2;23591:7;23586:2;23579:5;23575:14;23571:28;23561:38;;23551:54;;;:::o;23611:229::-;23751:34;23747:1;23739:6;23735:14;23728:58;23820:12;23815:2;23807:6;23803:15;23796:37;23717:123;:::o;23846:221::-;23986:34;23982:1;23974:6;23970:14;23963:58;24055:4;24050:2;24042:6;24038:15;24031:29;23952:115;:::o;24073:182::-;24213:34;24209:1;24201:6;24197:14;24190:58;24179:76;:::o;24261:228::-;24401:34;24397:1;24389:6;24385:14;24378:58;24470:11;24465:2;24457:6;24453:15;24446:36;24367:122;:::o;24495:224::-;24635:34;24631:1;24623:6;24619:14;24612:58;24704:7;24699:2;24691:6;24687:15;24680:32;24601:118;:::o;24725:223::-;24865:34;24861:1;24853:6;24849:14;24842:58;24934:6;24929:2;24921:6;24917:15;24910:31;24831:117;:::o;24954:173::-;25094:25;25090:1;25082:6;25078:14;25071:49;25060:67;:::o;25133:167::-;25273:19;25269:1;25261:6;25257:14;25250:43;25239:61;:::o;25306:122::-;25379:24;25397:5;25379:24;:::i;:::-;25372:5;25369:35;25359:2;;25418:1;25415;25408:12;25359:2;25349:79;:::o;25434:116::-;25504:21;25519:5;25504:21;:::i;:::-;25497:5;25494:32;25484:2;;25540:1;25537;25530:12;25484:2;25474:76;:::o;25556:122::-;25629:24;25647:5;25629:24;:::i;:::-;25622:5;25619:35;25609:2;;25668:1;25665;25658:12;25609:2;25599:79;:::o
Swarm Source
ipfs://6ffac0671506f3d134e6d2d00ee73d50978c0dd14a0a6fda70e0f180afd33728
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.