ERC-20
Overview
Max Total Supply
1,000,000,000,000 AlwaysLOL 😁
Holders
28
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
2,135,537,550.131527683 AlwaysLOL 😁Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
AlwaysLOLToken
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-26 */ // AlwaysLOL ($AlwaysLOL) // Telegram: https://t.me/alwaysloltoken // Twitter: https://twitter.com/alwaysloltoken // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function 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 ); } contract AlwaysLOLToken is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "AlwaysLOL"; string private constant _symbol = "AlwaysLOL \xF0\x9F\x98\x81"; uint8 private constant _decimals = 9; // RFI mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _taxFee = 5; uint256 private _teamFee = 5; // Bot detection mapping(address => bool) private bots; mapping(address => uint256) private cooldown; address payable private _teamAddress; address payable private _marketingFunds; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal; uint256 private _cooldownSeconds = 30; uint256 private _launchTime; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address payable addr1, address payable addr2) { _teamAddress = addr1; _marketingFunds = addr2; _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_teamAddress] = true; _isExcludedFromFee[_marketingFunds] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function setCooldownEnabled(bool isEnabled) external onlyOwner() { cooldownEnabled = isEnabled; } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_taxFee == 0 && _teamFee == 0) return; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = 1; _teamFee = 20; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { if (cooldownEnabled) { if ( from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router) ) { require( _msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair, "ERR: Uniswap only" ); } } require(!bots[from] && !bots[to]); if ( from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && cooldownEnabled ) { if (block.timestamp < _launchTime + 10 minutes) { require(cooldown[to] < block.timestamp); require(amount <= _maxTxAmount); cooldown[to] = block.timestamp + (_cooldownSeconds * 1 seconds); } } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { if (contractTokenBalance > 0) { swapTokensForEth(contractTokenBalance); } uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) { takeFee = false; } _tokenTransfer(from, to, amount, takeFee); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _teamAddress.transfer(amount.div(2)); _marketingFunds.transfer(amount.div(2)); } function addLiquidityETH() external onlyOwner() { require(!tradingOpen, "Liquidity already added"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); swapEnabled = true; cooldownEnabled = true; _taxFee = 1; _teamFee = 20; _maxTxAmount = 3000000000 * 10**9; tradingOpen = true; _launchTime = block.timestamp; IERC20(uniswapV2Pair).approve( address(uniswapV2Router), type(uint256).max ); } function blockBots(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function unblockBot(address notbot) public onlyOwner { bots[notbot] = false; } function manualSwap() external { require(_msgSender() == _teamAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualSend() external { require(_msgSender() == _teamAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() { require(maxTxPercent > 0, "Amount must be greater than 0"); _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2); emit MaxTxAmountUpdated(_maxTxAmount); } function setCooldownSeconds(uint256 cooldownSecs) external onlyOwner() { require(cooldownSecs > 0, "Secs must be greater than 0"); _cooldownSeconds = cooldownSecs; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addLiquidityETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"cooldownSecs","type":"uint256"}],"name":"setCooldownSeconds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","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"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052683635c9adc5dea000006000196200001d9190620005c1565b6000196200002c919062000548565b600655600560085560056009556000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055506000600f60176101000a81548160ff021916908315150217905550683635c9adc5dea00000601055601e601155348015620000a957600080fd5b506040516200405e3803806200405e8339818101604052810190620000cf9190620004d9565b6000620000e16200049160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065460026000620002186200049160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200026c6200049960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004196200049160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200048191906200052b565b60405180910390a3505062000671565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620004d38162000657565b92915050565b60008060408385031215620004ed57600080fd5b6000620004fd85828601620004c2565b92505060206200051085828601620004c2565b9150509250929050565b6200052581620005b7565b82525050565b60006020820190506200054260008301846200051a565b92915050565b60006200055582620005b7565b91506200056283620005b7565b925082821015620005785762000577620005f9565b5b828203905092915050565b6000620005908262000597565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620005ce82620005b7565b9150620005db83620005b7565b925082620005ee57620005ed62000628565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b620006628162000583565b81146200066e57600080fd5b50565b6139dd80620006816000396000f3fe6080604052600436106101175760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610383578063d543dbeb146103c0578063dd62ed3e146103e9578063ed99530714610426578063f42938901461043d5761011e565b806370a08231146102b0578063715018a6146102ed5780637b5b1157146103045780638da5cb5b1461032d57806395d89b41146103585761011e565b806323b872dd116100e757806323b872dd146101df578063313ce5671461021c57806351bc3c85146102475780635932ead11461025e5780636b999053146102875761011e565b8062b8cf2a1461012357806306fdde031461014c578063095ea7b31461017757806318160ddd146101b45761011e565b3661011e57005b600080fd5b34801561012f57600080fd5b5061014a60048036038101906101459190612b98565b610454565b005b34801561015857600080fd5b506101616105a4565b60405161016e919061305c565b60405180910390f35b34801561018357600080fd5b5061019e60048036038101906101999190612b5c565b6105e1565b6040516101ab9190613041565b60405180910390f35b3480156101c057600080fd5b506101c96105ff565b6040516101d6919061321e565b60405180910390f35b3480156101eb57600080fd5b5061020660048036038101906102019190612b0d565b610610565b6040516102139190613041565b60405180910390f35b34801561022857600080fd5b506102316106e9565b60405161023e9190613293565b60405180910390f35b34801561025357600080fd5b5061025c6106f2565b005b34801561026a57600080fd5b5061028560048036038101906102809190612bd9565b61076c565b005b34801561029357600080fd5b506102ae60048036038101906102a99190612a7f565b61081e565b005b3480156102bc57600080fd5b506102d760048036038101906102d29190612a7f565b61090e565b6040516102e4919061321e565b60405180910390f35b3480156102f957600080fd5b5061030261095f565b005b34801561031057600080fd5b5061032b60048036038101906103269190612c2b565b610ab2565b005b34801561033957600080fd5b50610342610b94565b60405161034f9190612f73565b60405180910390f35b34801561036457600080fd5b5061036d610bbd565b60405161037a919061305c565b60405180910390f35b34801561038f57600080fd5b506103aa60048036038101906103a59190612b5c565b610bfa565b6040516103b79190613041565b60405180910390f35b3480156103cc57600080fd5b506103e760048036038101906103e29190612c2b565b610c18565b005b3480156103f557600080fd5b50610410600480360381019061040b9190612ad1565b610d61565b60405161041d919061321e565b60405180910390f35b34801561043257600080fd5b5061043b610de8565b005b34801561044957600080fd5b5061045261135b565b005b61045c6113cd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e09061317e565b60405180910390fd5b60005b81518110156105a0576001600a6000848481518110610534577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061059890613534565b9150506104ec565b5050565b60606040518060400160405280600981526020017f416c776179734c4f4c0000000000000000000000000000000000000000000000815250905090565b60006105f56105ee6113cd565b84846113d5565b6001905092915050565b6000683635c9adc5dea00000905090565b600061061d8484846115a0565b6106de846106296113cd565b6106d98560405180606001604052806028815260200161398060289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061068f6113cd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8e9092919063ffffffff16565b6113d5565b600190509392505050565b60006009905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107336113cd565b73ffffffffffffffffffffffffffffffffffffffff161461075357600080fd5b600061075e3061090e565b905061076981611df2565b50565b6107746113cd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f89061317e565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b6108266113cd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108aa9061317e565b60405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610958600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120ec565b9050919050565b6109676113cd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109eb9061317e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610aba6113cd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e9061317e565b60405180910390fd5b60008111610b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b81906130fe565b60405180910390fd5b8060118190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600e81526020017f416c776179734c4f4c20f09f9881000000000000000000000000000000000000815250905090565b6000610c0e610c076113cd565b84846115a0565b6001905092915050565b610c206113cd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca49061317e565b60405180910390fd5b60008111610cf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce79061311e565b60405180910390fd5b610d1f6064610d1183683635c9adc5dea0000061215a90919063ffffffff16565b6121d590919063ffffffff16565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601054604051610d56919061321e565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610df06113cd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e749061317e565b60405180910390fd5b600f60149054906101000a900460ff1615610ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec49061313e565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f5d30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006113d5565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610fa357600080fd5b505afa158015610fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdb9190612aa8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561103d57600080fd5b505afa158015611051573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110759190612aa8565b6040518363ffffffff1660e01b8152600401611092929190612f8e565b602060405180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e49190612aa8565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061116d3061090e565b600080611178610b94565b426040518863ffffffff1660e01b815260040161119a96959493929190612fe0565b6060604051808303818588803b1580156111b357600080fd5b505af11580156111c7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111ec9190612c54565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff021916908315150217905550600160088190555060146009819055506729a2241af62c00006010819055506001600f60146101000a81548160ff02191690831515021790555042601281905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611305929190612fb7565b602060405180830381600087803b15801561131f57600080fd5b505af1158015611333573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113579190612c02565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661139c6113cd565b73ffffffffffffffffffffffffffffffffffffffff16146113bc57600080fd5b60004790506113ca8161221f565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611445576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143c906131de565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac906130be565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611593919061321e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611610576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611607906131be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611680576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116779061307e565b60405180910390fd5b600081116116c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ba9061319e565b60405180910390fd5b6116cb610b94565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117395750611709610b94565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611ccb57600f60179054906101000a900460ff161561196c573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117bb57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118155750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561186f5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561196b57600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166118b56113cd565b73ffffffffffffffffffffffffffffffffffffffff16148061192b5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166119136113cd565b73ffffffffffffffffffffffffffffffffffffffff16145b61196a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611961906131fe565b60405180910390fd5b5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a105750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a1957600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ac45750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611b1a5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b325750600f60179054906101000a900460ff165b15611c0757610258601254611b479190613354565b421015611c065742600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611b9957600080fd5b601054811115611ba857600080fd5b6001601154611bb791906133db565b42611bc29190613354565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b6000611c123061090e565b9050600f60159054906101000a900460ff16158015611c7f5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611c975750600f60169054906101000a900460ff165b15611cc9576000811115611caf57611cae81611df2565b5b60004790506000811115611cc757611cc64761221f565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d725750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611d7c57600090505b611d888484848461231a565b50505050565b6000838311158290611dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcd919061305c565b60405180910390fd5b5060008385611de59190613435565b9050809150509392505050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e50577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611e7e5781602001602082028036833780820191505090505b5090503081600081518110611ebc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611f5e57600080fd5b505afa158015611f72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f969190612aa8565b81600181518110611fd0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061203730600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113d5565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161209b959493929190613239565b600060405180830381600087803b1580156120b557600080fd5b505af11580156120c9573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b6000600654821115612133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212a9061309e565b60405180910390fd5b600061213d612347565b905061215281846121d590919063ffffffff16565b915050919050565b60008083141561216d57600090506121cf565b6000828461217b91906133db565b905082848261218a91906133aa565b146121ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c19061315e565b60405180910390fd5b809150505b92915050565b600061221783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612372565b905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61226f6002846121d590919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561229a573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6122eb6002846121d590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612316573d6000803e3d6000fd5b5050565b80612328576123276123d5565b5b612333848484612406565b80612341576123406125d1565b5b50505050565b60008060006123546125e3565b9150915061236b81836121d590919063ffffffff16565b9250505090565b600080831182906123b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b0919061305c565b60405180910390fd5b50600083856123c891906133aa565b9050809150509392505050565b60006008541480156123e957506000600954145b156123f357612404565b600060088190555060006009819055505b565b60008060008060008061241887612645565b95509550955095509550955061247686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ad90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061250b85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126f790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061255781612755565b6125618483612812565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125be919061321e565b60405180910390a3505050505050505050565b60016008819055506014600981905550565b600080600060065490506000683635c9adc5dea000009050612619683635c9adc5dea000006006546121d590919063ffffffff16565b82101561263857600654683635c9adc5dea00000935093505050612641565b81819350935050505b9091565b60008060008060008060008060006126628a60085460095461284c565b9250925092506000612672612347565b905060008060006126858e8787876128e2565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006126ef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d8e565b905092915050565b60008082846127069190613354565b90508381101561274b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612742906130de565b60405180910390fd5b8091505092915050565b600061275f612347565b90506000612776828461215a90919063ffffffff16565b90506127ca81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126f790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612827826006546126ad90919063ffffffff16565b600681905550612842816007546126f790919063ffffffff16565b6007819055505050565b600080600080612878606461286a888a61215a90919063ffffffff16565b6121d590919063ffffffff16565b905060006128a26064612894888b61215a90919063ffffffff16565b6121d590919063ffffffff16565b905060006128cb826128bd858c6126ad90919063ffffffff16565b6126ad90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806128fb858961215a90919063ffffffff16565b90506000612912868961215a90919063ffffffff16565b90506000612929878961215a90919063ffffffff16565b905060006129528261294485876126ad90919063ffffffff16565b6126ad90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600061297e612979846132d3565b6132ae565b9050808382526020820190508285602086028201111561299d57600080fd5b60005b858110156129cd57816129b388826129d7565b8452602084019350602083019250506001810190506129a0565b5050509392505050565b6000813590506129e68161393a565b92915050565b6000815190506129fb8161393a565b92915050565b600082601f830112612a1257600080fd5b8135612a2284826020860161296b565b91505092915050565b600081359050612a3a81613951565b92915050565b600081519050612a4f81613951565b92915050565b600081359050612a6481613968565b92915050565b600081519050612a7981613968565b92915050565b600060208284031215612a9157600080fd5b6000612a9f848285016129d7565b91505092915050565b600060208284031215612aba57600080fd5b6000612ac8848285016129ec565b91505092915050565b60008060408385031215612ae457600080fd5b6000612af2858286016129d7565b9250506020612b03858286016129d7565b9150509250929050565b600080600060608486031215612b2257600080fd5b6000612b30868287016129d7565b9350506020612b41868287016129d7565b9250506040612b5286828701612a55565b9150509250925092565b60008060408385031215612b6f57600080fd5b6000612b7d858286016129d7565b9250506020612b8e85828601612a55565b9150509250929050565b600060208284031215612baa57600080fd5b600082013567ffffffffffffffff811115612bc457600080fd5b612bd084828501612a01565b91505092915050565b600060208284031215612beb57600080fd5b6000612bf984828501612a2b565b91505092915050565b600060208284031215612c1457600080fd5b6000612c2284828501612a40565b91505092915050565b600060208284031215612c3d57600080fd5b6000612c4b84828501612a55565b91505092915050565b600080600060608486031215612c6957600080fd5b6000612c7786828701612a6a565b9350506020612c8886828701612a6a565b9250506040612c9986828701612a6a565b9150509250925092565b6000612caf8383612cbb565b60208301905092915050565b612cc481613469565b82525050565b612cd381613469565b82525050565b6000612ce48261330f565b612cee8185613332565b9350612cf9836132ff565b8060005b83811015612d2a578151612d118882612ca3565b9750612d1c83613325565b925050600181019050612cfd565b5085935050505092915050565b612d408161347b565b82525050565b612d4f816134be565b82525050565b6000612d608261331a565b612d6a8185613343565b9350612d7a8185602086016134d0565b612d838161360a565b840191505092915050565b6000612d9b602383613343565b9150612da68261361b565b604082019050919050565b6000612dbe602a83613343565b9150612dc98261366a565b604082019050919050565b6000612de1602283613343565b9150612dec826136b9565b604082019050919050565b6000612e04601b83613343565b9150612e0f82613708565b602082019050919050565b6000612e27601b83613343565b9150612e3282613731565b602082019050919050565b6000612e4a601d83613343565b9150612e558261375a565b602082019050919050565b6000612e6d601783613343565b9150612e7882613783565b602082019050919050565b6000612e90602183613343565b9150612e9b826137ac565b604082019050919050565b6000612eb3602083613343565b9150612ebe826137fb565b602082019050919050565b6000612ed6602983613343565b9150612ee182613824565b604082019050919050565b6000612ef9602583613343565b9150612f0482613873565b604082019050919050565b6000612f1c602483613343565b9150612f27826138c2565b604082019050919050565b6000612f3f601183613343565b9150612f4a82613911565b602082019050919050565b612f5e816134a7565b82525050565b612f6d816134b1565b82525050565b6000602082019050612f886000830184612cca565b92915050565b6000604082019050612fa36000830185612cca565b612fb06020830184612cca565b9392505050565b6000604082019050612fcc6000830185612cca565b612fd96020830184612f55565b9392505050565b600060c082019050612ff56000830189612cca565b6130026020830188612f55565b61300f6040830187612d46565b61301c6060830186612d46565b6130296080830185612cca565b61303660a0830184612f55565b979650505050505050565b60006020820190506130566000830184612d37565b92915050565b600060208201905081810360008301526130768184612d55565b905092915050565b6000602082019050818103600083015261309781612d8e565b9050919050565b600060208201905081810360008301526130b781612db1565b9050919050565b600060208201905081810360008301526130d781612dd4565b9050919050565b600060208201905081810360008301526130f781612df7565b9050919050565b6000602082019050818103600083015261311781612e1a565b9050919050565b6000602082019050818103600083015261313781612e3d565b9050919050565b6000602082019050818103600083015261315781612e60565b9050919050565b6000602082019050818103600083015261317781612e83565b9050919050565b6000602082019050818103600083015261319781612ea6565b9050919050565b600060208201905081810360008301526131b781612ec9565b9050919050565b600060208201905081810360008301526131d781612eec565b9050919050565b600060208201905081810360008301526131f781612f0f565b9050919050565b6000602082019050818103600083015261321781612f32565b9050919050565b60006020820190506132336000830184612f55565b92915050565b600060a08201905061324e6000830188612f55565b61325b6020830187612d46565b818103604083015261326d8186612cd9565b905061327c6060830185612cca565b6132896080830184612f55565b9695505050505050565b60006020820190506132a86000830184612f64565b92915050565b60006132b86132c9565b90506132c48282613503565b919050565b6000604051905090565b600067ffffffffffffffff8211156132ee576132ed6135db565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061335f826134a7565b915061336a836134a7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561339f5761339e61357d565b5b828201905092915050565b60006133b5826134a7565b91506133c0836134a7565b9250826133d0576133cf6135ac565b5b828204905092915050565b60006133e6826134a7565b91506133f1836134a7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561342a5761342961357d565b5b828202905092915050565b6000613440826134a7565b915061344b836134a7565b92508282101561345e5761345d61357d565b5b828203905092915050565b600061347482613487565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006134c9826134a7565b9050919050565b60005b838110156134ee5780820151818401526020810190506134d3565b838111156134fd576000848401525b50505050565b61350c8261360a565b810181811067ffffffffffffffff8211171561352b5761352a6135db565b5b80604052505050565b600061353f826134a7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156135725761357161357d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f53656373206d7573742062652067726561746572207468616e20300000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f4c697175696469747920616c7265616479206164646564000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b61394381613469565b811461394e57600080fd5b50565b61395a8161347b565b811461396557600080fd5b50565b613971816134a7565b811461397c57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f63671974dc0933014862e5ca37d8d8602b7fba757bd5fe94ce6564e950f3ff864736f6c6343000804003300000000000000000000000022973462cd1387f9b6ae0fb9ca2d266413ddb03a0000000000000000000000008d109b7aa440931dd837ffde7774b4a334d654a8
Deployed Bytecode
0x6080604052600436106101175760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610383578063d543dbeb146103c0578063dd62ed3e146103e9578063ed99530714610426578063f42938901461043d5761011e565b806370a08231146102b0578063715018a6146102ed5780637b5b1157146103045780638da5cb5b1461032d57806395d89b41146103585761011e565b806323b872dd116100e757806323b872dd146101df578063313ce5671461021c57806351bc3c85146102475780635932ead11461025e5780636b999053146102875761011e565b8062b8cf2a1461012357806306fdde031461014c578063095ea7b31461017757806318160ddd146101b45761011e565b3661011e57005b600080fd5b34801561012f57600080fd5b5061014a60048036038101906101459190612b98565b610454565b005b34801561015857600080fd5b506101616105a4565b60405161016e919061305c565b60405180910390f35b34801561018357600080fd5b5061019e60048036038101906101999190612b5c565b6105e1565b6040516101ab9190613041565b60405180910390f35b3480156101c057600080fd5b506101c96105ff565b6040516101d6919061321e565b60405180910390f35b3480156101eb57600080fd5b5061020660048036038101906102019190612b0d565b610610565b6040516102139190613041565b60405180910390f35b34801561022857600080fd5b506102316106e9565b60405161023e9190613293565b60405180910390f35b34801561025357600080fd5b5061025c6106f2565b005b34801561026a57600080fd5b5061028560048036038101906102809190612bd9565b61076c565b005b34801561029357600080fd5b506102ae60048036038101906102a99190612a7f565b61081e565b005b3480156102bc57600080fd5b506102d760048036038101906102d29190612a7f565b61090e565b6040516102e4919061321e565b60405180910390f35b3480156102f957600080fd5b5061030261095f565b005b34801561031057600080fd5b5061032b60048036038101906103269190612c2b565b610ab2565b005b34801561033957600080fd5b50610342610b94565b60405161034f9190612f73565b60405180910390f35b34801561036457600080fd5b5061036d610bbd565b60405161037a919061305c565b60405180910390f35b34801561038f57600080fd5b506103aa60048036038101906103a59190612b5c565b610bfa565b6040516103b79190613041565b60405180910390f35b3480156103cc57600080fd5b506103e760048036038101906103e29190612c2b565b610c18565b005b3480156103f557600080fd5b50610410600480360381019061040b9190612ad1565b610d61565b60405161041d919061321e565b60405180910390f35b34801561043257600080fd5b5061043b610de8565b005b34801561044957600080fd5b5061045261135b565b005b61045c6113cd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e09061317e565b60405180910390fd5b60005b81518110156105a0576001600a6000848481518110610534577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061059890613534565b9150506104ec565b5050565b60606040518060400160405280600981526020017f416c776179734c4f4c0000000000000000000000000000000000000000000000815250905090565b60006105f56105ee6113cd565b84846113d5565b6001905092915050565b6000683635c9adc5dea00000905090565b600061061d8484846115a0565b6106de846106296113cd565b6106d98560405180606001604052806028815260200161398060289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061068f6113cd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8e9092919063ffffffff16565b6113d5565b600190509392505050565b60006009905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107336113cd565b73ffffffffffffffffffffffffffffffffffffffff161461075357600080fd5b600061075e3061090e565b905061076981611df2565b50565b6107746113cd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f89061317e565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b6108266113cd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108aa9061317e565b60405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610958600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120ec565b9050919050565b6109676113cd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109eb9061317e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610aba6113cd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e9061317e565b60405180910390fd5b60008111610b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b81906130fe565b60405180910390fd5b8060118190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600e81526020017f416c776179734c4f4c20f09f9881000000000000000000000000000000000000815250905090565b6000610c0e610c076113cd565b84846115a0565b6001905092915050565b610c206113cd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca49061317e565b60405180910390fd5b60008111610cf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce79061311e565b60405180910390fd5b610d1f6064610d1183683635c9adc5dea0000061215a90919063ffffffff16565b6121d590919063ffffffff16565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601054604051610d56919061321e565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610df06113cd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e749061317e565b60405180910390fd5b600f60149054906101000a900460ff1615610ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec49061313e565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f5d30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006113d5565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610fa357600080fd5b505afa158015610fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdb9190612aa8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561103d57600080fd5b505afa158015611051573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110759190612aa8565b6040518363ffffffff1660e01b8152600401611092929190612f8e565b602060405180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e49190612aa8565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061116d3061090e565b600080611178610b94565b426040518863ffffffff1660e01b815260040161119a96959493929190612fe0565b6060604051808303818588803b1580156111b357600080fd5b505af11580156111c7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111ec9190612c54565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff021916908315150217905550600160088190555060146009819055506729a2241af62c00006010819055506001600f60146101000a81548160ff02191690831515021790555042601281905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611305929190612fb7565b602060405180830381600087803b15801561131f57600080fd5b505af1158015611333573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113579190612c02565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661139c6113cd565b73ffffffffffffffffffffffffffffffffffffffff16146113bc57600080fd5b60004790506113ca8161221f565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611445576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143c906131de565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac906130be565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611593919061321e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611610576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611607906131be565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611680576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116779061307e565b60405180910390fd5b600081116116c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ba9061319e565b60405180910390fd5b6116cb610b94565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117395750611709610b94565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611ccb57600f60179054906101000a900460ff161561196c573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117bb57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118155750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561186f5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561196b57600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166118b56113cd565b73ffffffffffffffffffffffffffffffffffffffff16148061192b5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166119136113cd565b73ffffffffffffffffffffffffffffffffffffffff16145b61196a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611961906131fe565b60405180910390fd5b5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a105750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a1957600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ac45750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611b1a5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b325750600f60179054906101000a900460ff165b15611c0757610258601254611b479190613354565b421015611c065742600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611b9957600080fd5b601054811115611ba857600080fd5b6001601154611bb791906133db565b42611bc29190613354565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b6000611c123061090e565b9050600f60159054906101000a900460ff16158015611c7f5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611c975750600f60169054906101000a900460ff165b15611cc9576000811115611caf57611cae81611df2565b5b60004790506000811115611cc757611cc64761221f565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d725750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611d7c57600090505b611d888484848461231a565b50505050565b6000838311158290611dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcd919061305c565b60405180910390fd5b5060008385611de59190613435565b9050809150509392505050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e50577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611e7e5781602001602082028036833780820191505090505b5090503081600081518110611ebc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611f5e57600080fd5b505afa158015611f72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f969190612aa8565b81600181518110611fd0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061203730600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113d5565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161209b959493929190613239565b600060405180830381600087803b1580156120b557600080fd5b505af11580156120c9573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b6000600654821115612133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212a9061309e565b60405180910390fd5b600061213d612347565b905061215281846121d590919063ffffffff16565b915050919050565b60008083141561216d57600090506121cf565b6000828461217b91906133db565b905082848261218a91906133aa565b146121ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c19061315e565b60405180910390fd5b809150505b92915050565b600061221783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612372565b905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61226f6002846121d590919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561229a573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6122eb6002846121d590919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612316573d6000803e3d6000fd5b5050565b80612328576123276123d5565b5b612333848484612406565b80612341576123406125d1565b5b50505050565b60008060006123546125e3565b9150915061236b81836121d590919063ffffffff16565b9250505090565b600080831182906123b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b0919061305c565b60405180910390fd5b50600083856123c891906133aa565b9050809150509392505050565b60006008541480156123e957506000600954145b156123f357612404565b600060088190555060006009819055505b565b60008060008060008061241887612645565b95509550955095509550955061247686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126ad90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061250b85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126f790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061255781612755565b6125618483612812565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516125be919061321e565b60405180910390a3505050505050505050565b60016008819055506014600981905550565b600080600060065490506000683635c9adc5dea000009050612619683635c9adc5dea000006006546121d590919063ffffffff16565b82101561263857600654683635c9adc5dea00000935093505050612641565b81819350935050505b9091565b60008060008060008060008060006126628a60085460095461284c565b9250925092506000612672612347565b905060008060006126858e8787876128e2565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006126ef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d8e565b905092915050565b60008082846127069190613354565b90508381101561274b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612742906130de565b60405180910390fd5b8091505092915050565b600061275f612347565b90506000612776828461215a90919063ffffffff16565b90506127ca81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126f790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612827826006546126ad90919063ffffffff16565b600681905550612842816007546126f790919063ffffffff16565b6007819055505050565b600080600080612878606461286a888a61215a90919063ffffffff16565b6121d590919063ffffffff16565b905060006128a26064612894888b61215a90919063ffffffff16565b6121d590919063ffffffff16565b905060006128cb826128bd858c6126ad90919063ffffffff16565b6126ad90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806128fb858961215a90919063ffffffff16565b90506000612912868961215a90919063ffffffff16565b90506000612929878961215a90919063ffffffff16565b905060006129528261294485876126ad90919063ffffffff16565b6126ad90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600061297e612979846132d3565b6132ae565b9050808382526020820190508285602086028201111561299d57600080fd5b60005b858110156129cd57816129b388826129d7565b8452602084019350602083019250506001810190506129a0565b5050509392505050565b6000813590506129e68161393a565b92915050565b6000815190506129fb8161393a565b92915050565b600082601f830112612a1257600080fd5b8135612a2284826020860161296b565b91505092915050565b600081359050612a3a81613951565b92915050565b600081519050612a4f81613951565b92915050565b600081359050612a6481613968565b92915050565b600081519050612a7981613968565b92915050565b600060208284031215612a9157600080fd5b6000612a9f848285016129d7565b91505092915050565b600060208284031215612aba57600080fd5b6000612ac8848285016129ec565b91505092915050565b60008060408385031215612ae457600080fd5b6000612af2858286016129d7565b9250506020612b03858286016129d7565b9150509250929050565b600080600060608486031215612b2257600080fd5b6000612b30868287016129d7565b9350506020612b41868287016129d7565b9250506040612b5286828701612a55565b9150509250925092565b60008060408385031215612b6f57600080fd5b6000612b7d858286016129d7565b9250506020612b8e85828601612a55565b9150509250929050565b600060208284031215612baa57600080fd5b600082013567ffffffffffffffff811115612bc457600080fd5b612bd084828501612a01565b91505092915050565b600060208284031215612beb57600080fd5b6000612bf984828501612a2b565b91505092915050565b600060208284031215612c1457600080fd5b6000612c2284828501612a40565b91505092915050565b600060208284031215612c3d57600080fd5b6000612c4b84828501612a55565b91505092915050565b600080600060608486031215612c6957600080fd5b6000612c7786828701612a6a565b9350506020612c8886828701612a6a565b9250506040612c9986828701612a6a565b9150509250925092565b6000612caf8383612cbb565b60208301905092915050565b612cc481613469565b82525050565b612cd381613469565b82525050565b6000612ce48261330f565b612cee8185613332565b9350612cf9836132ff565b8060005b83811015612d2a578151612d118882612ca3565b9750612d1c83613325565b925050600181019050612cfd565b5085935050505092915050565b612d408161347b565b82525050565b612d4f816134be565b82525050565b6000612d608261331a565b612d6a8185613343565b9350612d7a8185602086016134d0565b612d838161360a565b840191505092915050565b6000612d9b602383613343565b9150612da68261361b565b604082019050919050565b6000612dbe602a83613343565b9150612dc98261366a565b604082019050919050565b6000612de1602283613343565b9150612dec826136b9565b604082019050919050565b6000612e04601b83613343565b9150612e0f82613708565b602082019050919050565b6000612e27601b83613343565b9150612e3282613731565b602082019050919050565b6000612e4a601d83613343565b9150612e558261375a565b602082019050919050565b6000612e6d601783613343565b9150612e7882613783565b602082019050919050565b6000612e90602183613343565b9150612e9b826137ac565b604082019050919050565b6000612eb3602083613343565b9150612ebe826137fb565b602082019050919050565b6000612ed6602983613343565b9150612ee182613824565b604082019050919050565b6000612ef9602583613343565b9150612f0482613873565b604082019050919050565b6000612f1c602483613343565b9150612f27826138c2565b604082019050919050565b6000612f3f601183613343565b9150612f4a82613911565b602082019050919050565b612f5e816134a7565b82525050565b612f6d816134b1565b82525050565b6000602082019050612f886000830184612cca565b92915050565b6000604082019050612fa36000830185612cca565b612fb06020830184612cca565b9392505050565b6000604082019050612fcc6000830185612cca565b612fd96020830184612f55565b9392505050565b600060c082019050612ff56000830189612cca565b6130026020830188612f55565b61300f6040830187612d46565b61301c6060830186612d46565b6130296080830185612cca565b61303660a0830184612f55565b979650505050505050565b60006020820190506130566000830184612d37565b92915050565b600060208201905081810360008301526130768184612d55565b905092915050565b6000602082019050818103600083015261309781612d8e565b9050919050565b600060208201905081810360008301526130b781612db1565b9050919050565b600060208201905081810360008301526130d781612dd4565b9050919050565b600060208201905081810360008301526130f781612df7565b9050919050565b6000602082019050818103600083015261311781612e1a565b9050919050565b6000602082019050818103600083015261313781612e3d565b9050919050565b6000602082019050818103600083015261315781612e60565b9050919050565b6000602082019050818103600083015261317781612e83565b9050919050565b6000602082019050818103600083015261319781612ea6565b9050919050565b600060208201905081810360008301526131b781612ec9565b9050919050565b600060208201905081810360008301526131d781612eec565b9050919050565b600060208201905081810360008301526131f781612f0f565b9050919050565b6000602082019050818103600083015261321781612f32565b9050919050565b60006020820190506132336000830184612f55565b92915050565b600060a08201905061324e6000830188612f55565b61325b6020830187612d46565b818103604083015261326d8186612cd9565b905061327c6060830185612cca565b6132896080830184612f55565b9695505050505050565b60006020820190506132a86000830184612f64565b92915050565b60006132b86132c9565b90506132c48282613503565b919050565b6000604051905090565b600067ffffffffffffffff8211156132ee576132ed6135db565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061335f826134a7565b915061336a836134a7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561339f5761339e61357d565b5b828201905092915050565b60006133b5826134a7565b91506133c0836134a7565b9250826133d0576133cf6135ac565b5b828204905092915050565b60006133e6826134a7565b91506133f1836134a7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561342a5761342961357d565b5b828202905092915050565b6000613440826134a7565b915061344b836134a7565b92508282101561345e5761345d61357d565b5b828203905092915050565b600061347482613487565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006134c9826134a7565b9050919050565b60005b838110156134ee5780820151818401526020810190506134d3565b838111156134fd576000848401525b50505050565b61350c8261360a565b810181811067ffffffffffffffff8211171561352b5761352a6135db565b5b80604052505050565b600061353f826134a7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156135725761357161357d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f53656373206d7573742062652067726561746572207468616e20300000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f4c697175696469747920616c7265616479206164646564000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b61394381613469565b811461394e57600080fd5b50565b61395a8161347b565b811461396557600080fd5b50565b613971816134a7565b811461397c57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f63671974dc0933014862e5ca37d8d8602b7fba757bd5fe94ce6564e950f3ff864736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000022973462cd1387f9b6ae0fb9ca2d266413ddb03a0000000000000000000000008d109b7aa440931dd837ffde7774b4a334d654a8
-----Decoded View---------------
Arg [0] : addr1 (address): 0x22973462cD1387F9B6aE0FB9cA2D266413dDb03a
Arg [1] : addr2 (address): 0x8d109b7aA440931dD837FFDe7774B4a334d654a8
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000022973462cd1387f9b6ae0fb9ca2d266413ddb03a
Arg [1] : 0000000000000000000000008d109b7aa440931dd837ffde7774b4a334d654a8
Deployed Bytecode Sourcemap
3803:12824:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12161:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5732:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6584:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6009:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6753:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5918:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12438:192;;;;;;;;;;;;;:::i;:::-;;7207:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12338:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6112:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2755:148;;;;;;;;;;;;;:::i;:::-;;16436:188;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2541:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5823:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6258:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16173:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6433:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11099:1054;;;;;;;;;;;;;:::i;:::-;;12638:191;;;;;;;;;;;;;:::i;:::-;;12161:169;2678:12;:10;:12::i;:::-;2668:22;;:6;;;;;;;;;;:22;;;2660:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12237:9:::1;12232:91;12256:5;:12;12252:1;:16;12232:91;;;12307:4;12290;:14;12295:5;12301:1;12295:8;;;;;;;;;;;;;;;;;;;;;;12290:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12270:3;;;;;:::i;:::-;;;;12232:91;;;;12161:169:::0;:::o;5732:83::-;5769:13;5802:5;;;;;;;;;;;;;;;;;5795:12;;5732:83;:::o;6584:161::-;6659:4;6676:39;6685:12;:10;:12::i;:::-;6699:7;6708:6;6676:8;:39::i;:::-;6733:4;6726:11;;6584:161;;;;:::o;6009:95::-;6062:7;4389:21;6082:14;;6009:95;:::o;6753:446::-;6885:4;6902:36;6912:6;6920:9;6931:6;6902:9;:36::i;:::-;6949:220;6972:6;6993:12;:10;:12::i;:::-;7020:138;7076:6;7020:138;;;;;;;;;;;;;;;;;:11;:19;7032:6;7020:19;;;;;;;;;;;;;;;:33;7040:12;:10;:12::i;:::-;7020:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;6949:8;:220::i;:::-;7187:4;7180:11;;6753:446;;;;;:::o;5918:83::-;5959:5;4051:1;5977:16;;5918:83;:::o;12438:192::-;12504:12;;;;;;;;;;;12488:28;;:12;:10;:12::i;:::-;:28;;;12480:37;;;;;;12528:23;12554:24;12572:4;12554:9;:24::i;:::-;12528:50;;12589:33;12606:15;12589:16;:33::i;:::-;12438:192;:::o;7207:111::-;2678:12;:10;:12::i;:::-;2668:22;;:6;;;;;;;;;;:22;;;2660:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7301:9:::1;7283:15;;:27;;;;;;;;;;;;;;;;;;7207:111:::0;:::o;12338:92::-;2678:12;:10;:12::i;:::-;2668:22;;:6;;;;;;;;;;:22;;;2660:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12417:5:::1;12402:4;:12;12407:6;12402:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;12338:92:::0;:::o;6112:138::-;6178:7;6205:37;6225:7;:16;6233:7;6225:16;;;;;;;;;;;;;;;;6205:19;:37::i;:::-;6198:44;;6112:138;;;:::o;2755:148::-;2678:12;:10;:12::i;:::-;2668:22;;:6;;;;;;;;;;:22;;;2660:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2862:1:::1;2825:40;;2846:6;::::0;::::1;;;;;;;;2825:40;;;;;;;;;;;;2893:1;2876:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2755:148::o:0;16436:188::-;2678:12;:10;:12::i;:::-;2668:22;;:6;;;;;;;;;;:22;;;2660:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16541:1:::1;16526:12;:16;16518:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;16604:12;16585:16;:31;;;;16436:188:::0;:::o;2541:79::-;2579:7;2606:6;;;;;;;;;;;2599:13;;2541:79;:::o;5823:87::-;5862:13;5895:7;;;;;;;;;;;;;;;;;5888:14;;5823:87;:::o;6258:167::-;6336:4;6353:42;6363:12;:10;:12::i;:::-;6377:9;6388:6;6353:9;:42::i;:::-;6413:4;6406:11;;6258:167;;;;:::o;16173:255::-;2678:12;:10;:12::i;:::-;2668:22;;:6;;;;;;;;;;:22;;;2660:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16275:1:::1;16260:12;:16;16252:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;16336:36;16366:5;16336:25;16348:12;4389:21;16336:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;16321:12;:51;;;;16388:32;16407:12;;16388:32;;;;;;:::i;:::-;;;;;;;;16173:255:::0;:::o;6433:143::-;6514:7;6541:11;:18;6553:5;6541:18;;;;;;;;;;;;;;;:27;6560:7;6541:27;;;;;;;;;;;;;;;;6534:34;;6433:143;;;;:::o;11099:1054::-;2678:12;:10;:12::i;:::-;2668:22;;:6;;;;;;;;;;:22;;;2660:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11167:11:::1;;;;;;;;;;;11166:12;11158:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;11217:35;11274:42;11217:100;;11346:16;11328:15;;:34;;;;;;;;;;;;;;;;;;11373:58;11390:4;11405:15;;;;;;;;;;;4389:21;11373:8;:58::i;:::-;11476:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11458:70;;;11537:4;11544:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11458:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11442:13;;:126;;;;;;;;;;;;;;;;;;11579:15;;;;;;;;;;;:31;;;11618:21;11663:4;11683:24;11701:4;11683:9;:24::i;:::-;11722:1;11738::::0;11754:7:::1;:5;:7::i;:::-;11776:15;11579:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11827:4;11813:11;;:18;;;;;;;;;;;;;;;;;;11860:4;11842:15;;:22;;;;;;;;;;;;;;;;;;11885:1;11875:7;:11;;;;11908:2;11897:8;:13;;;;11936:18;11921:12;:33;;;;11979:4;11965:11;;:18;;;;;;;;;;;;;;;;;;12008:15;11994:11;:29;;;;12041:13;;;;;;;;;;;12034:29;;;12086:15;;;;;;;;;;;12117:17;12034:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2738:1;11099:1054::o:0;12638:191::-;12704:12;;;;;;;;;;;12688:28;;:12;:10;:12::i;:::-;:28;;;12680:37;;;;;;12728:26;12757:21;12728:50;;12789:32;12802:18;12789:12;:32::i;:::-;12638:191;:::o;225:98::-;278:7;305:10;298:17;;225:98;:::o;7897:369::-;8041:1;8024:19;;:5;:19;;;;8016:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8122:1;8103:21;;:7;:21;;;;8095:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8204:6;8174:11;:18;8186:5;8174:18;;;;;;;;;;;;;;;:27;8193:7;8174:27;;;;;;;;;;;;;;;:36;;;;8242:7;8226:32;;8235:5;8226:32;;;8251:6;8226:32;;;;;;:::i;:::-;;;;;;;;7897:369;;;:::o;8274:2167::-;8412:1;8396:18;;:4;:18;;;;8388:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8489:1;8475:16;;:2;:16;;;;8467:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8559:1;8550:6;:10;8542:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8631:7;:5;:7::i;:::-;8623:15;;:4;:15;;;;:32;;;;;8648:7;:5;:7::i;:::-;8642:13;;:2;:13;;;;8623:32;8619:1621;;;8676:15;;;;;;;;;;;8672:526;;;8754:4;8738:21;;:4;:21;;;;:65;;;;;8798:4;8784:19;;:2;:19;;;;8738:65;:122;;;;;8844:15;;;;;;;;;;;8828:32;;:4;:32;;;;8738:122;:177;;;;;8899:15;;;;;;;;;;;8885:30;;:2;:30;;;;8738:177;8712:471;;;9016:15;;;;;;;;;;;8992:40;;:12;:10;:12::i;:::-;:40;;;:102;;;;9081:13;;;;;;;;;;;9065:29;;:12;:10;:12::i;:::-;:29;;;8992:102;8958:205;;;;;;;;;;;;:::i;:::-;;;;;;;;;8712:471;8672:526;9221:4;:10;9226:4;9221:10;;;;;;;;;;;;;;;;;;;;;;;;;9220:11;:24;;;;;9236:4;:8;9241:2;9236:8;;;;;;;;;;;;;;;;;;;;;;;;;9235:9;9220:24;9212:33;;;;;;9290:13;;;;;;;;;;;9282:21;;:4;:21;;;:72;;;;;9338:15;;;;;;;;;;;9324:30;;:2;:30;;;;9282:72;:116;;;;;9376:18;:22;9395:2;9376:22;;;;;;;;;;;;;;;;;;;;;;;;;9375:23;9282:116;:152;;;;;9419:15;;;;;;;;;;;9282:152;9260:494;;;9505:10;9491:11;;:24;;;;:::i;:::-;9473:15;:42;9469:270;;;9563:15;9548:8;:12;9557:2;9548:12;;;;;;;;;;;;;;;;:30;9540:39;;;;;;9620:12;;9610:6;:22;;9602:31;;;;;;9709:9;9690:16;;:28;;;;:::i;:::-;9671:15;:48;;;;:::i;:::-;9656:8;:12;9665:2;9656:12;;;;;;;;;;;;;;;:63;;;;9469:270;9260:494;9768:28;9799:24;9817:4;9799:9;:24::i;:::-;9768:55;;9843:6;;;;;;;;;;;9842:7;:32;;;;;9861:13;;;;;;;;;;;9853:21;;:4;:21;;;;9842:32;:47;;;;;9878:11;;;;;;;;;;;9842:47;9838:391;;;9937:1;9914:20;:24;9910:111;;;9963:38;9980:20;9963:16;:38::i;:::-;9910:111;10039:26;10068:21;10039:50;;10133:1;10112:18;:22;10108:106;;;10159:35;10172:21;10159:12;:35::i;:::-;10108:106;9838:391;;8619:1621;;10250:12;10265:4;10250:19;;10286:18;:24;10305:4;10286:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10314:18;:22;10333:2;10314:22;;;;;;;;;;;;;;;;;;;;;;;;;10286:50;10282:98;;;10363:5;10353:15;;10282:98;10392:41;10407:4;10413:2;10417:6;10425:7;10392:14;:41::i;:::-;8274:2167;;;;:::o;1374:190::-;1460:7;1493:1;1488;:6;;1496:12;1480:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1520:9;1536:1;1532;:5;;;;:::i;:::-;1520:17;;1555:1;1548:8;;;1374:190;;;;;:::o;10449:483::-;5236:4;5227:6;;:13;;;;;;;;;;;;;;;;;;10527:21:::1;10565:1;10551:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10527:40;;10596:4;10578;10583:1;10578:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;10622:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10612:4;10617:1;10612:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;10655:62;10672:4;10687:15;;;;;;;;;;;10705:11;10655:8;:62::i;:::-;10728:15;;;;;;;;;;;:66;;;10809:11;10835:1;10851:4;10878;10898:15;10728:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5251:1;5272:5:::0;5263:6;;:14;;;;;;;;;;;;;;;;;;10449:483;:::o;7326:323::-;7421:7;7479;;7468;:18;;7446:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;7567:19;7589:10;:8;:10::i;:::-;7567:32;;7617:24;7629:11;7617:7;:11;;:24;;;;:::i;:::-;7610:31;;;7326:323;;;:::o;1572:246::-;1630:7;1659:1;1654;:6;1650:47;;;1684:1;1677:8;;;;1650:47;1707:9;1723:1;1719;:5;;;;:::i;:::-;1707:17;;1752:1;1747;1743;:5;;;;:::i;:::-;:10;1735:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1809:1;1802:8;;;1572:246;;;;;:::o;1826:132::-;1884:7;1911:39;1915:1;1918;1911:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1904:46;;1826:132;;;;:::o;10940:151::-;10997:12;;;;;;;;;;;:21;;:36;11019:13;11030:1;11019:6;:10;;:13;;;;:::i;:::-;10997:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11044:15;;;;;;;;;;;:24;;:39;11069:13;11080:1;11069:6;:10;;:13;;;;:::i;:::-;11044:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10940:151;:::o;12837:282::-;12993:7;12988:28;;13002:14;:12;:14::i;:::-;12988:28;13027:44;13045:6;13053:9;13064:6;13027:17;:44::i;:::-;13087:7;13082:29;;13096:15;:13;:15::i;:::-;13082:29;12837:282;;;;:::o;15732:166::-;15774:7;15795:15;15812;15831:19;:17;:19::i;:::-;15794:56;;;;15870:20;15882:7;15870;:11;;:20;;;;:::i;:::-;15863:27;;;;15732:166;:::o;1966:189::-;2052:7;2084:1;2080;:5;2087:12;2072:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2111:9;2127:1;2123;:5;;;;:::i;:::-;2111:17;;2146:1;2139:8;;;1966:189;;;;;:::o;7657:137::-;7715:1;7704:7;;:12;:29;;;;;7732:1;7720:8;;:13;7704:29;7700:42;;;7735:7;;7700:42;7762:1;7752:7;:11;;;;7785:1;7774:8;:12;;;;7657:137;:::o;13127:610::-;13274:15;13304:23;13342:12;13369:23;13407:12;13434:13;13461:19;13472:7;13461:10;:19::i;:::-;13259:221;;;;;;;;;;;;13509:28;13529:7;13509;:15;13517:6;13509:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13491:7;:15;13499:6;13491:15;;;;;;;;;;;;;;;:46;;;;13569:39;13592:15;13569:7;:18;13577:9;13569:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13548:7;:18;13556:9;13548:18;;;;;;;;;;;;;;;:60;;;;13619:16;13629:5;13619:9;:16::i;:::-;13646:23;13658:4;13664;13646:11;:23::i;:::-;13702:9;13685:44;;13694:6;13685:44;;;13713:15;13685:44;;;;;;:::i;:::-;;;;;;;;13127:610;;;;;;;;;:::o;7802:87::-;7856:1;7846:7;:11;;;;7879:2;7868:8;:13;;;;7802:87::o;15906:259::-;15957:7;15966;15986:15;16004:7;;15986:25;;16022:15;4389:21;16022:25;;16072:20;4389:21;16072:7;;:11;;:20;;;;:::i;:::-;16062:7;:30;16058:61;;;16102:7;;4389:21;16094:25;;;;;;;;16058:61;16140:7;16149;16132:25;;;;;;15906:259;;;:::o;14156:624::-;14256:7;14278;14300;14322;14344;14366;14402:23;14427:12;14441:13;14471:39;14483:7;14492;;14501:8;;14471:11;:39::i;:::-;14401:109;;;;;;14521:19;14543:10;:8;:10::i;:::-;14521:32;;14565:15;14582:23;14607:12;14636:46;14648:7;14657:4;14663:5;14670:11;14636;:46::i;:::-;14564:118;;;;;;14711:7;14720:15;14737:4;14743:15;14760:4;14766:5;14703:69;;;;;;;;;;;;;;;;;;;14156:624;;;;;;;:::o;1230:136::-;1288:7;1315:43;1319:1;1322;1315:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1308:50;;1230:136;;;;:::o;1043:179::-;1101:7;1121:9;1137:1;1133;:5;;;;:::i;:::-;1121:17;;1162:1;1157;:6;;1149:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1213:1;1206:8;;;1043:179;;;;:::o;13745:211::-;13798:19;13820:10;:8;:10::i;:::-;13798:32;;13841:13;13857:22;13867:11;13857:5;:9;;:22;;;;:::i;:::-;13841:38;;13915:33;13942:5;13915:7;:22;13931:4;13915:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;13890:7;:22;13906:4;13890:22;;;;;;;;;;;;;;;:58;;;;13745:211;;;:::o;13964:147::-;14042:17;14054:4;14042:7;;:11;;:17;;;;:::i;:::-;14032:7;:27;;;;14083:20;14098:4;14083:10;;:14;;:20;;;;:::i;:::-;14070:10;:33;;;;13964:147;;:::o;14788:435::-;14922:7;14944;14966;15001:12;15016:28;15040:3;15016:19;15028:6;15016:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15001:43;;15055:13;15071:29;15096:3;15071:20;15083:7;15071;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;15055:45;;15111:23;15137:28;15159:5;15137:17;15149:4;15137:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15111:54;;15186:15;15203:4;15209:5;15178:37;;;;;;;;;14788:435;;;;;;;:::o;15231:493::-;15382:7;15404;15426;15461:15;15479:24;15491:11;15479:7;:11;;:24;;;;:::i;:::-;15461:42;;15514:12;15529:21;15538:11;15529:4;:8;;:21;;;;:::i;:::-;15514:36;;15561:13;15577:22;15587:11;15577:5;:9;;:22;;;;:::i;:::-;15561:38;;15610:23;15636:28;15658:5;15636:17;15648:4;15636:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15610:54;;15685:7;15694:15;15711:4;15677:39;;;;;;;;;;15231:493;;;;;;;;:::o;24:655: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;;;414:1;411;404:12;350:2;450:1;435:238;460:6;457:1;454:13;435:238;;;528:3;557:37;590:3;578:10;557:37;:::i;:::-;552:3;545:50;624:4;619:3;615:14;608:21;;658:4;653:3;649:14;642:21;;495:178;482:1;479;475:9;470:14;;435:238;;;439:14;126:553;;;;;;;:::o;685:139::-;731:5;769:6;756:20;747:29;;785:33;812:5;785:33;:::i;:::-;737:87;;;;:::o;830:143::-;887:5;918:6;912:13;903:22;;934:33;961:5;934:33;:::i;:::-;893:80;;;;:::o;996:303::-;1067:5;1116:3;1109:4;1101:6;1097:17;1093:27;1083:2;;1134:1;1131;1124:12;1083:2;1174:6;1161:20;1199:94;1289:3;1281:6;1274:4;1266:6;1262:17;1199:94;:::i;:::-;1190:103;;1073:226;;;;;:::o;1305:133::-;1348:5;1386:6;1373:20;1364:29;;1402:30;1426:5;1402:30;:::i;:::-;1354:84;;;;:::o;1444:137::-;1498:5;1529:6;1523:13;1514:22;;1545:30;1569:5;1545:30;:::i;:::-;1504:77;;;;:::o;1587:139::-;1633:5;1671:6;1658:20;1649:29;;1687:33;1714:5;1687:33;:::i;:::-;1639:87;;;;:::o;1732:143::-;1789:5;1820:6;1814:13;1805:22;;1836:33;1863:5;1836:33;:::i;:::-;1795:80;;;;:::o;1881:262::-;1940:6;1989:2;1977:9;1968:7;1964:23;1960:32;1957:2;;;2005:1;2002;1995:12;1957:2;2048:1;2073:53;2118:7;2109:6;2098:9;2094:22;2073:53;:::i;:::-;2063:63;;2019:117;1947:196;;;;:::o;2149:284::-;2219:6;2268:2;2256:9;2247:7;2243:23;2239:32;2236:2;;;2284:1;2281;2274:12;2236:2;2327:1;2352:64;2408:7;2399:6;2388:9;2384:22;2352:64;:::i;:::-;2342:74;;2298:128;2226:207;;;;:::o;2439:407::-;2507:6;2515;2564:2;2552:9;2543:7;2539:23;2535:32;2532:2;;;2580:1;2577;2570:12;2532:2;2623:1;2648:53;2693:7;2684:6;2673:9;2669:22;2648:53;:::i;:::-;2638:63;;2594:117;2750:2;2776:53;2821:7;2812:6;2801:9;2797:22;2776:53;:::i;:::-;2766:63;;2721:118;2522:324;;;;;:::o;2852:552::-;2929:6;2937;2945;2994:2;2982:9;2973:7;2969:23;2965:32;2962:2;;;3010:1;3007;3000:12;2962:2;3053:1;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3024:117;3180:2;3206:53;3251:7;3242:6;3231:9;3227:22;3206:53;:::i;:::-;3196:63;;3151:118;3308:2;3334:53;3379:7;3370:6;3359:9;3355:22;3334:53;:::i;:::-;3324:63;;3279:118;2952:452;;;;;:::o;3410:407::-;3478:6;3486;3535:2;3523:9;3514:7;3510:23;3506:32;3503:2;;;3551:1;3548;3541:12;3503:2;3594:1;3619:53;3664:7;3655:6;3644:9;3640:22;3619:53;:::i;:::-;3609:63;;3565:117;3721:2;3747:53;3792:7;3783:6;3772:9;3768:22;3747:53;:::i;:::-;3737:63;;3692:118;3493:324;;;;;:::o;3823:405::-;3907:6;3956:2;3944:9;3935:7;3931:23;3927:32;3924:2;;;3972:1;3969;3962:12;3924:2;4043:1;4032:9;4028:17;4015:31;4073:18;4065:6;4062:30;4059:2;;;4105:1;4102;4095:12;4059:2;4133:78;4203:7;4194:6;4183:9;4179:22;4133:78;:::i;:::-;4123:88;;3986:235;3914:314;;;;:::o;4234:256::-;4290:6;4339:2;4327:9;4318:7;4314:23;4310:32;4307:2;;;4355:1;4352;4345:12;4307:2;4398:1;4423:50;4465:7;4456:6;4445:9;4441:22;4423:50;:::i;:::-;4413:60;;4369:114;4297:193;;;;:::o;4496:278::-;4563:6;4612:2;4600:9;4591:7;4587:23;4583:32;4580:2;;;4628:1;4625;4618:12;4580:2;4671:1;4696:61;4749:7;4740:6;4729:9;4725:22;4696:61;:::i;:::-;4686:71;;4642:125;4570:204;;;;:::o;4780:262::-;4839:6;4888:2;4876:9;4867:7;4863:23;4859:32;4856:2;;;4904:1;4901;4894:12;4856:2;4947:1;4972:53;5017:7;5008:6;4997:9;4993:22;4972:53;:::i;:::-;4962:63;;4918:117;4846:196;;;;:::o;5048:596::-;5136:6;5144;5152;5201:2;5189:9;5180:7;5176:23;5172:32;5169:2;;;5217:1;5214;5207:12;5169:2;5260:1;5285:64;5341:7;5332:6;5321:9;5317:22;5285:64;:::i;:::-;5275:74;;5231:128;5398:2;5424:64;5480:7;5471:6;5460:9;5456:22;5424:64;:::i;:::-;5414:74;;5369:129;5537:2;5563:64;5619:7;5610:6;5599:9;5595:22;5563:64;:::i;:::-;5553:74;;5508:129;5159:485;;;;;:::o;5650:179::-;5719:10;5740:46;5782:3;5774:6;5740:46;:::i;:::-;5818:4;5813:3;5809:14;5795:28;;5730:99;;;;:::o;5835:108::-;5912:24;5930:5;5912:24;:::i;:::-;5907:3;5900:37;5890:53;;:::o;5949:118::-;6036:24;6054:5;6036:24;:::i;:::-;6031:3;6024:37;6014:53;;:::o;6103:732::-;6222:3;6251:54;6299:5;6251:54;:::i;:::-;6321:86;6400:6;6395:3;6321:86;:::i;:::-;6314:93;;6431:56;6481:5;6431:56;:::i;:::-;6510:7;6541:1;6526:284;6551:6;6548:1;6545:13;6526:284;;;6627:6;6621:13;6654:63;6713:3;6698:13;6654:63;:::i;:::-;6647:70;;6740:60;6793:6;6740:60;:::i;:::-;6730:70;;6586:224;6573:1;6570;6566:9;6561:14;;6526:284;;;6530:14;6826:3;6819:10;;6227:608;;;;;;;:::o;6841:109::-;6922:21;6937:5;6922:21;:::i;:::-;6917:3;6910:34;6900:50;;:::o;6956:147::-;7051:45;7090:5;7051:45;:::i;:::-;7046:3;7039:58;7029:74;;:::o;7109:364::-;7197:3;7225:39;7258:5;7225:39;:::i;:::-;7280:71;7344:6;7339:3;7280:71;:::i;:::-;7273:78;;7360:52;7405:6;7400:3;7393:4;7386:5;7382:16;7360:52;:::i;:::-;7437:29;7459:6;7437:29;:::i;:::-;7432:3;7428:39;7421:46;;7201:272;;;;;:::o;7479:366::-;7621:3;7642:67;7706:2;7701:3;7642:67;:::i;:::-;7635:74;;7718:93;7807:3;7718:93;:::i;:::-;7836:2;7831:3;7827:12;7820:19;;7625:220;;;:::o;7851:366::-;7993:3;8014:67;8078:2;8073:3;8014:67;:::i;:::-;8007:74;;8090:93;8179:3;8090:93;:::i;:::-;8208:2;8203:3;8199:12;8192:19;;7997:220;;;:::o;8223:366::-;8365:3;8386:67;8450:2;8445:3;8386:67;:::i;:::-;8379:74;;8462:93;8551:3;8462:93;:::i;:::-;8580:2;8575:3;8571:12;8564:19;;8369:220;;;:::o;8595:366::-;8737:3;8758:67;8822:2;8817:3;8758:67;:::i;:::-;8751:74;;8834:93;8923:3;8834:93;:::i;:::-;8952:2;8947:3;8943:12;8936:19;;8741:220;;;:::o;8967:366::-;9109:3;9130:67;9194:2;9189:3;9130:67;:::i;:::-;9123:74;;9206:93;9295:3;9206:93;:::i;:::-;9324:2;9319:3;9315:12;9308:19;;9113:220;;;:::o;9339:366::-;9481:3;9502:67;9566:2;9561:3;9502:67;:::i;:::-;9495:74;;9578:93;9667:3;9578:93;:::i;:::-;9696:2;9691:3;9687:12;9680:19;;9485:220;;;:::o;9711:366::-;9853:3;9874:67;9938:2;9933:3;9874:67;:::i;:::-;9867:74;;9950:93;10039:3;9950:93;:::i;:::-;10068:2;10063:3;10059:12;10052:19;;9857:220;;;:::o;10083:366::-;10225:3;10246:67;10310:2;10305:3;10246:67;:::i;:::-;10239:74;;10322:93;10411:3;10322:93;:::i;:::-;10440:2;10435:3;10431:12;10424:19;;10229:220;;;:::o;10455:366::-;10597:3;10618:67;10682:2;10677:3;10618:67;:::i;:::-;10611:74;;10694:93;10783:3;10694:93;:::i;:::-;10812:2;10807:3;10803:12;10796:19;;10601:220;;;:::o;10827:366::-;10969:3;10990:67;11054:2;11049:3;10990:67;:::i;:::-;10983:74;;11066:93;11155:3;11066:93;:::i;:::-;11184:2;11179:3;11175:12;11168:19;;10973:220;;;:::o;11199:366::-;11341:3;11362:67;11426:2;11421:3;11362:67;:::i;:::-;11355:74;;11438:93;11527:3;11438:93;:::i;:::-;11556:2;11551:3;11547:12;11540:19;;11345:220;;;:::o;11571:366::-;11713:3;11734:67;11798:2;11793:3;11734:67;:::i;:::-;11727:74;;11810:93;11899:3;11810:93;:::i;:::-;11928:2;11923:3;11919:12;11912:19;;11717:220;;;:::o;11943:366::-;12085:3;12106:67;12170:2;12165:3;12106:67;:::i;:::-;12099:74;;12182:93;12271:3;12182:93;:::i;:::-;12300:2;12295:3;12291:12;12284:19;;12089:220;;;:::o;12315:118::-;12402:24;12420:5;12402:24;:::i;:::-;12397:3;12390:37;12380:53;;:::o;12439:112::-;12522:22;12538:5;12522:22;:::i;:::-;12517:3;12510:35;12500:51;;:::o;12557:222::-;12650:4;12688:2;12677:9;12673:18;12665:26;;12701:71;12769:1;12758:9;12754:17;12745:6;12701:71;:::i;:::-;12655:124;;;;:::o;12785:332::-;12906:4;12944:2;12933:9;12929:18;12921:26;;12957:71;13025:1;13014:9;13010:17;13001:6;12957:71;:::i;:::-;13038:72;13106:2;13095:9;13091:18;13082:6;13038:72;:::i;:::-;12911:206;;;;;:::o;13123:332::-;13244:4;13282:2;13271:9;13267:18;13259:26;;13295:71;13363:1;13352:9;13348:17;13339:6;13295:71;:::i;:::-;13376:72;13444:2;13433:9;13429:18;13420:6;13376:72;:::i;:::-;13249:206;;;;;:::o;13461:807::-;13710:4;13748:3;13737:9;13733:19;13725:27;;13762:71;13830:1;13819:9;13815:17;13806:6;13762:71;:::i;:::-;13843:72;13911:2;13900:9;13896:18;13887:6;13843:72;:::i;:::-;13925:80;14001:2;13990:9;13986:18;13977:6;13925:80;:::i;:::-;14015;14091:2;14080:9;14076:18;14067:6;14015:80;:::i;:::-;14105:73;14173:3;14162:9;14158:19;14149:6;14105:73;:::i;:::-;14188;14256:3;14245:9;14241:19;14232:6;14188:73;:::i;:::-;13715:553;;;;;;;;;:::o;14274:210::-;14361:4;14399:2;14388:9;14384:18;14376:26;;14412:65;14474:1;14463:9;14459:17;14450:6;14412:65;:::i;:::-;14366:118;;;;:::o;14490:313::-;14603:4;14641:2;14630:9;14626:18;14618:26;;14690:9;14684:4;14680:20;14676:1;14665:9;14661:17;14654:47;14718:78;14791:4;14782:6;14718:78;:::i;:::-;14710:86;;14608:195;;;;:::o;14809:419::-;14975:4;15013:2;15002:9;14998:18;14990:26;;15062:9;15056:4;15052:20;15048:1;15037:9;15033:17;15026:47;15090:131;15216:4;15090:131;:::i;:::-;15082:139;;14980:248;;;:::o;15234:419::-;15400:4;15438:2;15427:9;15423:18;15415:26;;15487:9;15481:4;15477:20;15473:1;15462:9;15458:17;15451:47;15515:131;15641:4;15515:131;:::i;:::-;15507:139;;15405:248;;;:::o;15659:419::-;15825:4;15863:2;15852:9;15848:18;15840:26;;15912:9;15906:4;15902:20;15898:1;15887:9;15883:17;15876:47;15940:131;16066:4;15940:131;:::i;:::-;15932:139;;15830:248;;;:::o;16084:419::-;16250:4;16288:2;16277:9;16273:18;16265:26;;16337:9;16331:4;16327:20;16323:1;16312:9;16308:17;16301:47;16365:131;16491:4;16365:131;:::i;:::-;16357:139;;16255:248;;;:::o;16509:419::-;16675:4;16713:2;16702:9;16698:18;16690:26;;16762:9;16756:4;16752:20;16748:1;16737:9;16733:17;16726:47;16790:131;16916:4;16790:131;:::i;:::-;16782:139;;16680:248;;;:::o;16934:419::-;17100:4;17138:2;17127:9;17123:18;17115:26;;17187:9;17181:4;17177:20;17173:1;17162:9;17158:17;17151:47;17215:131;17341:4;17215:131;:::i;:::-;17207:139;;17105:248;;;:::o;17359:419::-;17525:4;17563:2;17552:9;17548:18;17540:26;;17612:9;17606:4;17602:20;17598:1;17587:9;17583:17;17576:47;17640:131;17766:4;17640:131;:::i;:::-;17632:139;;17530:248;;;:::o;17784:419::-;17950:4;17988:2;17977:9;17973:18;17965:26;;18037:9;18031:4;18027:20;18023:1;18012:9;18008:17;18001:47;18065:131;18191:4;18065:131;:::i;:::-;18057:139;;17955:248;;;:::o;18209:419::-;18375:4;18413:2;18402:9;18398:18;18390:26;;18462:9;18456:4;18452:20;18448:1;18437:9;18433:17;18426:47;18490:131;18616:4;18490:131;:::i;:::-;18482:139;;18380:248;;;:::o;18634:419::-;18800:4;18838:2;18827:9;18823:18;18815:26;;18887:9;18881:4;18877:20;18873:1;18862:9;18858:17;18851:47;18915:131;19041:4;18915:131;:::i;:::-;18907:139;;18805:248;;;:::o;19059:419::-;19225:4;19263:2;19252:9;19248:18;19240:26;;19312:9;19306:4;19302:20;19298:1;19287:9;19283:17;19276:47;19340:131;19466:4;19340:131;:::i;:::-;19332:139;;19230:248;;;:::o;19484:419::-;19650:4;19688:2;19677:9;19673:18;19665:26;;19737:9;19731:4;19727:20;19723:1;19712:9;19708:17;19701:47;19765:131;19891:4;19765:131;:::i;:::-;19757:139;;19655:248;;;:::o;19909:419::-;20075:4;20113:2;20102:9;20098:18;20090:26;;20162:9;20156:4;20152:20;20148:1;20137:9;20133:17;20126:47;20190:131;20316:4;20190:131;:::i;:::-;20182:139;;20080:248;;;:::o;20334:222::-;20427:4;20465:2;20454:9;20450:18;20442:26;;20478:71;20546:1;20535:9;20531:17;20522:6;20478:71;:::i;:::-;20432:124;;;;:::o;20562:831::-;20825:4;20863:3;20852:9;20848:19;20840:27;;20877:71;20945:1;20934:9;20930:17;20921:6;20877:71;:::i;:::-;20958:80;21034:2;21023:9;21019:18;21010:6;20958:80;:::i;:::-;21085:9;21079:4;21075:20;21070:2;21059:9;21055:18;21048:48;21113:108;21216:4;21207:6;21113:108;:::i;:::-;21105:116;;21231:72;21299:2;21288:9;21284:18;21275:6;21231:72;:::i;:::-;21313:73;21381:3;21370:9;21366:19;21357:6;21313:73;:::i;:::-;20830:563;;;;;;;;:::o;21399:214::-;21488:4;21526:2;21515:9;21511:18;21503:26;;21539:67;21603:1;21592:9;21588:17;21579:6;21539:67;:::i;:::-;21493:120;;;;:::o;21619:129::-;21653:6;21680:20;;:::i;:::-;21670:30;;21709:33;21737:4;21729:6;21709:33;:::i;:::-;21660:88;;;:::o;21754:75::-;21787:6;21820:2;21814:9;21804:19;;21794:35;:::o;21835:311::-;21912:4;22002:18;21994:6;21991:30;21988:2;;;22024:18;;:::i;:::-;21988:2;22074:4;22066:6;22062:17;22054:25;;22134:4;22128;22124:15;22116:23;;21917:229;;;:::o;22152:132::-;22219:4;22242:3;22234:11;;22272:4;22267:3;22263:14;22255:22;;22224:60;;;:::o;22290:114::-;22357:6;22391:5;22385:12;22375:22;;22364:40;;;:::o;22410:99::-;22462:6;22496:5;22490:12;22480:22;;22469:40;;;:::o;22515:113::-;22585:4;22617;22612:3;22608:14;22600:22;;22590:38;;;:::o;22634:184::-;22733:11;22767:6;22762:3;22755:19;22807:4;22802:3;22798:14;22783:29;;22745:73;;;;:::o;22824:169::-;22908:11;22942:6;22937:3;22930:19;22982:4;22977:3;22973:14;22958:29;;22920:73;;;;:::o;22999:305::-;23039:3;23058:20;23076:1;23058:20;:::i;:::-;23053:25;;23092:20;23110:1;23092:20;:::i;:::-;23087:25;;23246:1;23178:66;23174:74;23171:1;23168:81;23165:2;;;23252:18;;:::i;:::-;23165:2;23296:1;23293;23289:9;23282:16;;23043:261;;;;:::o;23310:185::-;23350:1;23367:20;23385:1;23367:20;:::i;:::-;23362:25;;23401:20;23419:1;23401:20;:::i;:::-;23396:25;;23440:1;23430:2;;23445:18;;:::i;:::-;23430:2;23487:1;23484;23480:9;23475:14;;23352:143;;;;:::o;23501:348::-;23541:7;23564:20;23582:1;23564:20;:::i;:::-;23559:25;;23598:20;23616:1;23598:20;:::i;:::-;23593:25;;23786:1;23718:66;23714:74;23711:1;23708:81;23703:1;23696:9;23689:17;23685:105;23682:2;;;23793:18;;:::i;:::-;23682:2;23841:1;23838;23834:9;23823:20;;23549:300;;;;:::o;23855:191::-;23895:4;23915:20;23933:1;23915:20;:::i;:::-;23910:25;;23949:20;23967:1;23949:20;:::i;:::-;23944:25;;23988:1;23985;23982:8;23979:2;;;23993:18;;:::i;:::-;23979:2;24038:1;24035;24031:9;24023:17;;23900:146;;;;:::o;24052:96::-;24089:7;24118:24;24136:5;24118:24;:::i;:::-;24107:35;;24097:51;;;:::o;24154:90::-;24188:7;24231:5;24224:13;24217:21;24206:32;;24196:48;;;:::o;24250:126::-;24287:7;24327:42;24320:5;24316:54;24305:65;;24295:81;;;:::o;24382:77::-;24419:7;24448:5;24437:16;;24427:32;;;:::o;24465:86::-;24500:7;24540:4;24533:5;24529:16;24518:27;;24508:43;;;:::o;24557:121::-;24615:9;24648:24;24666:5;24648:24;:::i;:::-;24635:37;;24625:53;;;:::o;24684:307::-;24752:1;24762:113;24776:6;24773:1;24770:13;24762:113;;;24861:1;24856:3;24852:11;24846:18;24842:1;24837:3;24833:11;24826:39;24798:2;24795:1;24791:10;24786:15;;24762:113;;;24893:6;24890:1;24887:13;24884:2;;;24973:1;24964:6;24959:3;24955:16;24948:27;24884:2;24733:258;;;;:::o;24997:281::-;25080:27;25102:4;25080:27;:::i;:::-;25072:6;25068:40;25210:6;25198:10;25195:22;25174:18;25162:10;25159:34;25156:62;25153:2;;;25221:18;;:::i;:::-;25153:2;25261:10;25257:2;25250:22;25040:238;;;:::o;25284:233::-;25323:3;25346:24;25364:5;25346:24;:::i;:::-;25337:33;;25392:66;25385:5;25382:77;25379:2;;;25462:18;;:::i;:::-;25379:2;25509:1;25502:5;25498:13;25491:20;;25327:190;;;:::o;25523:180::-;25571:77;25568:1;25561:88;25668:4;25665:1;25658:15;25692:4;25689:1;25682:15;25709:180;25757:77;25754:1;25747:88;25854:4;25851:1;25844:15;25878:4;25875:1;25868:15;25895:180;25943:77;25940:1;25933:88;26040:4;26037:1;26030:15;26064:4;26061:1;26054:15;26081:102;26122:6;26173:2;26169:7;26164:2;26157:5;26153:14;26149:28;26139:38;;26129:54;;;:::o;26189:222::-;26329:34;26325:1;26317:6;26313:14;26306:58;26398:5;26393:2;26385:6;26381:15;26374:30;26295:116;:::o;26417:229::-;26557:34;26553:1;26545:6;26541:14;26534:58;26626:12;26621:2;26613:6;26609:15;26602:37;26523:123;:::o;26652:221::-;26792:34;26788:1;26780:6;26776:14;26769:58;26861:4;26856:2;26848:6;26844:15;26837:29;26758:115;:::o;26879:177::-;27019:29;27015:1;27007:6;27003:14;26996:53;26985:71;:::o;27062:177::-;27202:29;27198:1;27190:6;27186:14;27179:53;27168:71;:::o;27245:179::-;27385:31;27381:1;27373:6;27369:14;27362:55;27351:73;:::o;27430:173::-;27570:25;27566:1;27558:6;27554:14;27547:49;27536:67;:::o;27609:220::-;27749:34;27745:1;27737:6;27733:14;27726:58;27818:3;27813:2;27805:6;27801:15;27794:28;27715:114;:::o;27835:182::-;27975:34;27971:1;27963:6;27959:14;27952:58;27941:76;:::o;28023:228::-;28163:34;28159:1;28151:6;28147:14;28140:58;28232:11;28227:2;28219:6;28215:15;28208:36;28129:122;:::o;28257:224::-;28397:34;28393:1;28385:6;28381:14;28374:58;28466:7;28461:2;28453:6;28449:15;28442:32;28363:118;:::o;28487:223::-;28627:34;28623:1;28615:6;28611:14;28604:58;28696:6;28691:2;28683:6;28679:15;28672:31;28593:117;:::o;28716:167::-;28856:19;28852:1;28844:6;28840:14;28833:43;28822:61;:::o;28889:122::-;28962:24;28980:5;28962:24;:::i;:::-;28955:5;28952:35;28942:2;;29001:1;28998;28991:12;28942:2;28932:79;:::o;29017:116::-;29087:21;29102:5;29087:21;:::i;:::-;29080:5;29077:32;29067:2;;29123:1;29120;29113:12;29067:2;29057:76;:::o;29139:122::-;29212:24;29230:5;29212:24;:::i;:::-;29205:5;29202:35;29192:2;;29251:1;29248;29241:12;29192:2;29182:79;:::o
Swarm Source
ipfs://f63671974dc0933014862e5ca37d8d8602b7fba757bd5fe94ce6564e950f3ff8
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.