ERC-20
Overview
Max Total Supply
997,771.7220198 YUKI
Holders
16
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
YUKI
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-26 */ //https://yukionna.site/ //https://t.me/onnayukiERC //https://medium.com/@YukionnaERC/the-origin-of-yuki-onna-98eb3892b954 //https://twitter.com/OnnaYukiERC //MAX BUY AT LAUNCH: 50.000, tax 4%/5%, liq burned + renounced // SPDX-License-Identifier: NOLICENSE pragma solidity ^0.8.4; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } 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); } contract YUKI is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; string private constant _name = "YukiOnna"; string private constant _symbol = "YUKI"; uint8 private constant _decimals = 9; uint256 public buyAutoLiquidityFee = 0; uint256 public buyAutoBurnFee = 100; uint256 public buyMarketingFee = 400; uint256 public totalBuyFees = buyAutoLiquidityFee + buyAutoBurnFee + buyMarketingFee; uint256 public sellAutoLiquidityFee = 0; uint256 public sellAutoBurnFee = 0; uint256 public sellMarketingFee = 400; uint256 public totalSellFees = sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee; uint256 public tokensForAutoLiquidity; uint256 public tokensForAutoBurn; uint256 public tokensForMarketing; uint16 public masterTaxDivisor = 10000; address public constant DEAD = 0x000000000000000000000000000000000000dEaD; address public pairAddress; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private _tTotal = 1000000 * 10**9; uint256 private maxWalletAmount = 50001 * 10**9; uint256 private maxTxAmount = 50001 * 10**9; address payable private feeAddrWallet; event MaxWalletAmountUpdated(uint maxWalletAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); pairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH()); feeAddrWallet = payable(0xa45adc9767475AF510Cc45ceDb947BfF0e469CE5); _tOwned[owner()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[feeAddrWallet] = true; uint256 _buyAutoLiquidityFee = 0; uint256 _buyAutoBurnFee = 100; uint256 _buyMarketingFee = 400; uint256 _sellAutoLiquidityFee = 0; uint256 _sellAutoBurnFee = 0; uint256 _sellMarketingFee = 400; buyAutoLiquidityFee = _buyAutoLiquidityFee; buyAutoBurnFee = _buyAutoBurnFee; buyMarketingFee = _buyMarketingFee; totalBuyFees = buyAutoLiquidityFee + buyAutoBurnFee + buyMarketingFee; sellAutoLiquidityFee = _sellAutoLiquidityFee; sellAutoBurnFee = _sellAutoBurnFee; sellMarketingFee = _sellMarketingFee; totalSellFees = sellAutoLiquidityFee + sellAutoBurnFee + sellMarketingFee; swapEnabled = true; maxTxAmount = 50001 * 10**9; maxWalletAmount = 50001 * 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); emit Transfer(address(0), owner(), _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 view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), currentAllowance - amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _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"); require(amount <= balanceOf(from),"You are trying to transfer more than your balance"); require(tradingOpen || _isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading not enabled yet"); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) { require(amount <= maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= maxWalletAmount, "Exceeds the maxWalletSize."); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } _tokenTransfer(from, to, amount, !(_isExcludedFromFee[from] || _isExcludedFromFee[to])); } 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 _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { _tOwned[sender] -= amount; uint256 amountReceived = (takeFee) ? takeTaxes(sender, recipient, amount) : amount; _tOwned[recipient] += amountReceived; emit Transfer(sender, recipient, amountReceived); } function takeTaxes(address from, address to, uint256 amount) internal returns (uint256) { if(from == uniswapV2Pair && totalBuyFees > 0 ) { tokensForAutoLiquidity = amount * buyAutoLiquidityFee / masterTaxDivisor; tokensForAutoBurn = amount * buyAutoBurnFee / masterTaxDivisor; tokensForMarketing = amount * buyMarketingFee / masterTaxDivisor; } else if (to == uniswapV2Pair && totalSellFees > 0 ) { tokensForAutoLiquidity = amount * sellAutoLiquidityFee / masterTaxDivisor; tokensForAutoBurn = amount * sellAutoBurnFee / masterTaxDivisor; tokensForMarketing = amount * sellMarketingFee / masterTaxDivisor; } _tOwned[pairAddress] += tokensForAutoLiquidity; emit Transfer(from, pairAddress, tokensForAutoLiquidity); _tOwned[DEAD] += tokensForAutoBurn; _tTotal = _tTotal - tokensForAutoBurn; _tTotal = totalSupply(); emit Transfer(from, DEAD, tokensForAutoBurn); _tOwned[address(this)] += tokensForMarketing; emit Transfer(from, address(this), tokensForMarketing); uint256 feeAmount = tokensForAutoLiquidity + tokensForAutoBurn + tokensForMarketing; return amount - feeAmount; } function excludeFromFee(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function includeInFee(address account) public onlyOwner { _isExcludedFromFee[account] = false; } function SetWalletandTxtAmount(uint256 _maxTxAmount, uint256 _maxWalletSize) external onlyOwner{ maxTxAmount = _maxTxAmount * 10 **_decimals; maxWalletAmount = _maxWalletSize * 10 **_decimals; } function sendETHToFee(uint256 amount) private { feeAddrWallet.transfer(amount); } receive() external payable{ } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTxAmount","type":"uint256"},{"internalType":"uint256","name":"_maxWalletSize","type":"uint256"}],"name":"SetWalletandTxtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"masterTaxDivisor","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokensForAutoBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForAutoLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600455606460055561019060065560065460055460045462000029919062000c12565b62000035919062000c12565b60075560006008556000600955610190600a55600a546009546008546200005d919062000c12565b62000069919062000c12565b600b55612710600f60006101000a81548161ffff021916908361ffff1602179055506000601160156101000a81548160ff0219169083151502179055506000601160166101000a81548160ff02191690831515021790555066038d7ea4c68000601255652d79c3d7ea00601355652d79c3d7ea00601455348015620000ed57600080fd5b506200010e62000102620009a460201b60201c565b620009ac60201b60201c565b601160149054906101000a900460ff161562000161576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001589062000bc2565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200020257600080fd5b505afa15801562000217573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023d919062000ac7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a057600080fd5b505afa158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db919062000ac7565b6040518363ffffffff1660e01b8152600401620002fa92919062000b68565b602060405180830381600087803b1580156200031557600080fd5b505af11580156200032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000350919062000ac7565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003d757600080fd5b505afa158015620003ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000412919062000ac7565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200047557600080fd5b505afa1580156200048a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004b0919062000ac7565b6040518363ffffffff1660e01b8152600401620004cf92919062000b68565b60206040518083038186803b158015620004e857600080fd5b505afa158015620004fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000523919062000ac7565b600f60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073a45adc9767475af510cc45cedb947bff0e469ce5601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125460016000620005cf62000a7060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200062362000a7060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008060649050600061019090506000806000610190905085600481905550846005819055508360068190555060065460055460045462000788919062000c12565b62000794919062000c12565b600781905550826008819055508160098190555080600a81905550600a54600954600854620007c4919062000c12565b620007d0919062000c12565b600b819055506001601160166101000a81548160ff021916908315150217905550652d79c3d7ea00601481905550652d79c3d7ea006013819055506001601160146101000a81548160ff021916908315150217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401620008c792919062000b95565b602060405180830381600087803b158015620008e257600080fd5b505af1158015620008f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200091d919062000af3565b506200092e62000a7060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012546040516200098f919062000be4565b60405180910390a35050505050505062000d45565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008151905062000aaa8162000d11565b92915050565b60008151905062000ac18162000d2b565b92915050565b60006020828403121562000ada57600080fd5b600062000aea8482850162000a99565b91505092915050565b60006020828403121562000b0657600080fd5b600062000b168482850162000ab0565b91505092915050565b62000b2a8162000c6f565b82525050565b600062000b3f60178362000c01565b915062000b4c8262000ce8565b602082019050919050565b62000b628162000caf565b82525050565b600060408201905062000b7f600083018562000b1f565b62000b8e602083018462000b1f565b9392505050565b600060408201905062000bac600083018562000b1f565b62000bbb602083018462000b57565b9392505050565b6000602082019050818103600083015262000bdd8162000b30565b9050919050565b600060208201905062000bfb600083018462000b57565b92915050565b600082825260208201905092915050565b600062000c1f8262000caf565b915062000c2c8362000caf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000c645762000c6362000cb9565b5b828201905092915050565b600062000c7c8262000c8f565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b62000d1c8162000c6f565b811462000d2857600080fd5b50565b62000d368162000c83565b811462000d4257600080fd5b50565b612e058062000d556000396000f3fe6080604052600436106101c65760003560e01c80638da5cb5b116100f7578063c99f2fed11610095578063ea2f0b3711610064578063ea2f0b3714610649578063ebece9c914610672578063f239eab81461069b578063f2fde38b146106c6576101cd565b8063c99f2fed1461058b578063cc70acee146105b6578063d0a39814146105e1578063dd62ed3e1461060c576101cd565b80639740a946116100d15780639740a946146104cd578063a8b08982146104f8578063a9059cbb14610523578063b9e9370014610560576101cd565b80638da5cb5b1461044c578063921369131461047757806395d89b41146104a2576101cd565b8063313ce567116101645780636cce46fc1161013e5780636cce46fc146103a257806370a08231146103cd578063715018a61461040a5780637bce5a0414610421576101cd565b8063313ce56714610323578063437823ec1461034e57806347afcbfe14610377576101cd565b806318160ddd116101a057806318160ddd146102655780631d6167ac146102905780631f3fed8f146102bb57806323b872dd146102e6576101cd565b806303fd2a45146101d257806306fdde03146101fd578063095ea7b314610228576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76106ef565b6040516101f49190612403565b60405180910390f35b34801561020957600080fd5b506102126106f5565b60405161021f9190612439565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a91906120cf565b610732565b60405161025c919061241e565b60405180910390f35b34801561027157600080fd5b5061027a610750565b60405161028791906125f6565b60405180910390f35b34801561029c57600080fd5b506102a561075a565b6040516102b291906125db565b60405180910390f35b3480156102c757600080fd5b506102d061076e565b6040516102dd91906125f6565b60405180910390f35b3480156102f257600080fd5b5061030d60048036038101906103089190612080565b610774565b60405161031a919061241e565b60405180910390f35b34801561032f57600080fd5b50610338610875565b604051610345919061266b565b60405180910390f35b34801561035a57600080fd5b5061037560048036038101906103709190611ff2565b61087e565b005b34801561038357600080fd5b5061038c610955565b60405161039991906125f6565b60405180910390f35b3480156103ae57600080fd5b506103b761095b565b6040516103c491906125f6565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef9190611ff2565b610961565b60405161040191906125f6565b60405180910390f35b34801561041657600080fd5b5061041f6109aa565b005b34801561042d57600080fd5b50610436610a32565b60405161044391906125f6565b60405180910390f35b34801561045857600080fd5b50610461610a38565b60405161046e9190612403565b60405180910390f35b34801561048357600080fd5b5061048c610a61565b60405161049991906125f6565b60405180910390f35b3480156104ae57600080fd5b506104b7610a67565b6040516104c49190612439565b60405180910390f35b3480156104d957600080fd5b506104e2610aa4565b6040516104ef91906125f6565b60405180910390f35b34801561050457600080fd5b5061050d610aaa565b60405161051a9190612403565b60405180910390f35b34801561052f57600080fd5b5061054a600480360381019061054591906120cf565b610ad0565b604051610557919061241e565b60405180910390f35b34801561056c57600080fd5b50610575610aee565b60405161058291906125f6565b60405180910390f35b34801561059757600080fd5b506105a0610af4565b6040516105ad91906125f6565b60405180910390f35b3480156105c257600080fd5b506105cb610afa565b6040516105d891906125f6565b60405180910390f35b3480156105ed57600080fd5b506105f6610b00565b60405161060391906125f6565b60405180910390f35b34801561061857600080fd5b50610633600480360381019061062e9190612044565b610b06565b60405161064091906125f6565b60405180910390f35b34801561065557600080fd5b50610670600480360381019061066b9190611ff2565b610b8d565b005b34801561067e57600080fd5b506106996004803603810190610694919061210b565b610c64565b005b3480156106a757600080fd5b506106b0610d22565b6040516106bd91906125f6565b60405180910390f35b3480156106d257600080fd5b506106ed60048036038101906106e89190611ff2565b610d28565b005b61dead81565b60606040518060400160405280600881526020017f59756b694f6e6e61000000000000000000000000000000000000000000000000815250905090565b600061074661073f610e20565b8484610e28565b6001905092915050565b6000601254905090565b600f60009054906101000a900461ffff1681565b600e5481565b6000610781848484610ff3565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107cc610e20565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561084c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610843906124fb565b60405180910390fd5b61086985610858610e20565b8584610864919061292d565b610e28565b60019150509392505050565b60006009905090565b610886610e20565b73ffffffffffffffffffffffffffffffffffffffff166108a4610a38565b73ffffffffffffffffffffffffffffffffffffffff16146108fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f19061251b565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60095481565b60085481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109b2610e20565b73ffffffffffffffffffffffffffffffffffffffff166109d0610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1d9061251b565b60405180910390fd5b610a306000611573565b565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600481526020017f59554b4900000000000000000000000000000000000000000000000000000000815250905090565b600c5481565b600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ae4610add610e20565b8484610ff3565b6001905092915050565b60075481565b60055481565b600d5481565b600b5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b95610e20565b73ffffffffffffffffffffffffffffffffffffffff16610bb3610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c009061251b565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610c6c610e20565b73ffffffffffffffffffffffffffffffffffffffff16610c8a610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610ce0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd79061251b565b60405180910390fd5b6009600a610cee91906127b5565b82610cf991906128d3565b6014819055506009600a610d0d91906127b5565b81610d1891906128d3565b6013819055505050565b60045481565b610d30610e20565b73ffffffffffffffffffffffffffffffffffffffff16610d4e610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b9061251b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0b906124bb565b60405180910390fd5b610e1d81611573565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8f9061259b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eff906124db565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fe691906125f6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105a9061255b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ca9061245b565b60405180910390fd5b60008111611116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110d9061253b565b60405180910390fd5b61111f83610961565b811115611161576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111589061249b565b60405180910390fd5b601160149054906101000a900460ff16806111c55750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806112195750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124f906125bb565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113035750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113595750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113fc576014548111156113a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139a9061247b565b60405180910390fd5b601354816113b084610961565b6113ba91906126db565b11156113fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f29061257b565b60405180910390fd5b5b600061140730610961565b9050601160159054906101000a900460ff161580156114745750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561148c5750601160169054906101000a900460ff165b80156114985750600081115b156114c0576114a681611637565b600047905060008111156114be576114bd47611931565b5b505b61156d848484600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115675750600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561199d565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611695577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156116c35781602001602082028036833780820191505090505b5090503081600081518110611701577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a357600080fd5b505afa1580156117b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117db919061201b565b81600181518110611815577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061187c30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e28565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118e0959493929190612611565b600060405180830381600087803b1580156118fa57600080fd5b505af115801561190e573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611999573d6000803e3d6000fd5b5050565b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119ec919061292d565b92505081905550600081611a005782611a0c565b611a0b858585611ad0565b5b905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a5d91906126db565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ac191906125f6565b60405180910390a35050505050565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b3157506000600754115b15611bd457600f60009054906101000a900461ffff1661ffff1660045483611b5991906128d3565b611b639190612731565b600c81905550600f60009054906101000a900461ffff1661ffff1660055483611b8c91906128d3565b611b969190612731565b600d81905550600f60009054906101000a900461ffff1661ffff1660065483611bbf91906128d3565b611bc99190612731565b600e81905550611cd3565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c3357506000600b54115b15611cd257600f60009054906101000a900461ffff1661ffff1660085483611c5b91906128d3565b611c659190612731565b600c81905550600f60009054906101000a900461ffff1661ffff1660095483611c8e91906128d3565b611c989190612731565b600d81905550600f60009054906101000a900461ffff1661ffff16600a5483611cc191906128d3565b611ccb9190612731565b600e819055505b5b600c5460016000600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d4691906126db565b92505081905550600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051611dce91906125f6565b60405180910390a3600d546001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e2991906126db565b92505081905550600d54601254611e40919061292d565b601281905550611e4e610750565b60128190555061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d54604051611eb591906125f6565b60405180910390a3600e54600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f0e91906126db565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600e54604051611f7491906125f6565b60405180910390a36000600e54600d54600c54611f9191906126db565b611f9b91906126db565b90508083611fa9919061292d565b9150509392505050565b600081359050611fc281612da1565b92915050565b600081519050611fd781612da1565b92915050565b600081359050611fec81612db8565b92915050565b60006020828403121561200457600080fd5b600061201284828501611fb3565b91505092915050565b60006020828403121561202d57600080fd5b600061203b84828501611fc8565b91505092915050565b6000806040838503121561205757600080fd5b600061206585828601611fb3565b925050602061207685828601611fb3565b9150509250929050565b60008060006060848603121561209557600080fd5b60006120a386828701611fb3565b93505060206120b486828701611fb3565b92505060406120c586828701611fdd565b9150509250925092565b600080604083850312156120e257600080fd5b60006120f085828601611fb3565b925050602061210185828601611fdd565b9150509250929050565b6000806040838503121561211e57600080fd5b600061212c85828601611fdd565b925050602061213d85828601611fdd565b9150509250929050565b6000612153838361215f565b60208301905092915050565b61216881612961565b82525050565b61217781612961565b82525050565b600061218882612696565b61219281856126b9565b935061219d83612686565b8060005b838110156121ce5781516121b58882612147565b97506121c0836126ac565b9250506001810190506121a1565b5085935050505092915050565b6121e481612973565b82525050565b6121f3816129c4565b82525050565b6000612204826126a1565b61220e81856126ca565b935061221e8185602086016129d6565b61222781612a67565b840191505092915050565b600061223f6023836126ca565b915061224a82612a85565b604082019050919050565b60006122626019836126ca565b915061226d82612ad4565b602082019050919050565b60006122856031836126ca565b915061229082612afd565b604082019050919050565b60006122a86026836126ca565b91506122b382612b4c565b604082019050919050565b60006122cb6022836126ca565b91506122d682612b9b565b604082019050919050565b60006122ee6028836126ca565b91506122f982612bea565b604082019050919050565b60006123116020836126ca565b915061231c82612c39565b602082019050919050565b60006123346029836126ca565b915061233f82612c62565b604082019050919050565b60006123576025836126ca565b915061236282612cb1565b604082019050919050565b600061237a601a836126ca565b915061238582612d00565b602082019050919050565b600061239d6024836126ca565b91506123a882612d29565b604082019050919050565b60006123c06017836126ca565b91506123cb82612d78565b602082019050919050565b6123df8161297f565b82525050565b6123ee816129ad565b82525050565b6123fd816129b7565b82525050565b6000602082019050612418600083018461216e565b92915050565b600060208201905061243360008301846121db565b92915050565b6000602082019050818103600083015261245381846121f9565b905092915050565b6000602082019050818103600083015261247481612232565b9050919050565b6000602082019050818103600083015261249481612255565b9050919050565b600060208201905081810360008301526124b481612278565b9050919050565b600060208201905081810360008301526124d48161229b565b9050919050565b600060208201905081810360008301526124f4816122be565b9050919050565b60006020820190508181036000830152612514816122e1565b9050919050565b6000602082019050818103600083015261253481612304565b9050919050565b6000602082019050818103600083015261255481612327565b9050919050565b600060208201905081810360008301526125748161234a565b9050919050565b600060208201905081810360008301526125948161236d565b9050919050565b600060208201905081810360008301526125b481612390565b9050919050565b600060208201905081810360008301526125d4816123b3565b9050919050565b60006020820190506125f060008301846123d6565b92915050565b600060208201905061260b60008301846123e5565b92915050565b600060a08201905061262660008301886123e5565b61263360208301876121ea565b8181036040830152612645818661217d565b9050612654606083018561216e565b61266160808301846123e5565b9695505050505050565b600060208201905061268060008301846123f4565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126e6826129ad565b91506126f1836129ad565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561272657612725612a09565b5b828201905092915050565b600061273c826129ad565b9150612747836129ad565b92508261275757612756612a38565b5b828204905092915050565b6000808291508390505b60018511156127ac5780860481111561278857612787612a09565b5b60018516156127975780820291505b80810290506127a585612a78565b945061276c565b94509492505050565b60006127c0826129ad565b91506127cb836129b7565b92506127f87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612800565b905092915050565b60008261281057600190506128cc565b8161281e57600090506128cc565b8160018114612834576002811461283e5761286d565b60019150506128cc565b60ff8411156128505761284f612a09565b5b8360020a91508482111561286757612866612a09565b5b506128cc565b5060208310610133831016604e8410600b84101617156128a25782820a90508381111561289d5761289c612a09565b5b6128cc565b6128af8484846001612762565b925090508184048111156128c6576128c5612a09565b5b81810290505b9392505050565b60006128de826129ad565b91506128e9836129ad565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561292257612921612a09565b5b828202905092915050565b6000612938826129ad565b9150612943836129ad565b92508282101561295657612955612a09565b5b828203905092915050565b600061296c8261298d565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006129cf826129ad565b9050919050565b60005b838110156129f45780820151818401526020810190506129d9565b83811115612a03576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f596f752061726520747279696e6720746f207472616e73666572206d6f72652060008201527f7468616e20796f75722062616c616e6365000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f7420656e61626c656420796574000000000000000000600082015250565b612daa81612961565b8114612db557600080fd5b50565b612dc1816129ad565b8114612dcc57600080fd5b5056fea264697066735822122061a797131f2e7f4fc81a841234032b307ac09b5d5d109ea91ba353715732e4a364736f6c63430008040033
Deployed Bytecode
0x6080604052600436106101c65760003560e01c80638da5cb5b116100f7578063c99f2fed11610095578063ea2f0b3711610064578063ea2f0b3714610649578063ebece9c914610672578063f239eab81461069b578063f2fde38b146106c6576101cd565b8063c99f2fed1461058b578063cc70acee146105b6578063d0a39814146105e1578063dd62ed3e1461060c576101cd565b80639740a946116100d15780639740a946146104cd578063a8b08982146104f8578063a9059cbb14610523578063b9e9370014610560576101cd565b80638da5cb5b1461044c578063921369131461047757806395d89b41146104a2576101cd565b8063313ce567116101645780636cce46fc1161013e5780636cce46fc146103a257806370a08231146103cd578063715018a61461040a5780637bce5a0414610421576101cd565b8063313ce56714610323578063437823ec1461034e57806347afcbfe14610377576101cd565b806318160ddd116101a057806318160ddd146102655780631d6167ac146102905780631f3fed8f146102bb57806323b872dd146102e6576101cd565b806303fd2a45146101d257806306fdde03146101fd578063095ea7b314610228576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76106ef565b6040516101f49190612403565b60405180910390f35b34801561020957600080fd5b506102126106f5565b60405161021f9190612439565b60405180910390f35b34801561023457600080fd5b5061024f600480360381019061024a91906120cf565b610732565b60405161025c919061241e565b60405180910390f35b34801561027157600080fd5b5061027a610750565b60405161028791906125f6565b60405180910390f35b34801561029c57600080fd5b506102a561075a565b6040516102b291906125db565b60405180910390f35b3480156102c757600080fd5b506102d061076e565b6040516102dd91906125f6565b60405180910390f35b3480156102f257600080fd5b5061030d60048036038101906103089190612080565b610774565b60405161031a919061241e565b60405180910390f35b34801561032f57600080fd5b50610338610875565b604051610345919061266b565b60405180910390f35b34801561035a57600080fd5b5061037560048036038101906103709190611ff2565b61087e565b005b34801561038357600080fd5b5061038c610955565b60405161039991906125f6565b60405180910390f35b3480156103ae57600080fd5b506103b761095b565b6040516103c491906125f6565b60405180910390f35b3480156103d957600080fd5b506103f460048036038101906103ef9190611ff2565b610961565b60405161040191906125f6565b60405180910390f35b34801561041657600080fd5b5061041f6109aa565b005b34801561042d57600080fd5b50610436610a32565b60405161044391906125f6565b60405180910390f35b34801561045857600080fd5b50610461610a38565b60405161046e9190612403565b60405180910390f35b34801561048357600080fd5b5061048c610a61565b60405161049991906125f6565b60405180910390f35b3480156104ae57600080fd5b506104b7610a67565b6040516104c49190612439565b60405180910390f35b3480156104d957600080fd5b506104e2610aa4565b6040516104ef91906125f6565b60405180910390f35b34801561050457600080fd5b5061050d610aaa565b60405161051a9190612403565b60405180910390f35b34801561052f57600080fd5b5061054a600480360381019061054591906120cf565b610ad0565b604051610557919061241e565b60405180910390f35b34801561056c57600080fd5b50610575610aee565b60405161058291906125f6565b60405180910390f35b34801561059757600080fd5b506105a0610af4565b6040516105ad91906125f6565b60405180910390f35b3480156105c257600080fd5b506105cb610afa565b6040516105d891906125f6565b60405180910390f35b3480156105ed57600080fd5b506105f6610b00565b60405161060391906125f6565b60405180910390f35b34801561061857600080fd5b50610633600480360381019061062e9190612044565b610b06565b60405161064091906125f6565b60405180910390f35b34801561065557600080fd5b50610670600480360381019061066b9190611ff2565b610b8d565b005b34801561067e57600080fd5b506106996004803603810190610694919061210b565b610c64565b005b3480156106a757600080fd5b506106b0610d22565b6040516106bd91906125f6565b60405180910390f35b3480156106d257600080fd5b506106ed60048036038101906106e89190611ff2565b610d28565b005b61dead81565b60606040518060400160405280600881526020017f59756b694f6e6e61000000000000000000000000000000000000000000000000815250905090565b600061074661073f610e20565b8484610e28565b6001905092915050565b6000601254905090565b600f60009054906101000a900461ffff1681565b600e5481565b6000610781848484610ff3565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107cc610e20565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561084c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610843906124fb565b60405180910390fd5b61086985610858610e20565b8584610864919061292d565b610e28565b60019150509392505050565b60006009905090565b610886610e20565b73ffffffffffffffffffffffffffffffffffffffff166108a4610a38565b73ffffffffffffffffffffffffffffffffffffffff16146108fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f19061251b565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60095481565b60085481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109b2610e20565b73ffffffffffffffffffffffffffffffffffffffff166109d0610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1d9061251b565b60405180910390fd5b610a306000611573565b565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600481526020017f59554b4900000000000000000000000000000000000000000000000000000000815250905090565b600c5481565b600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ae4610add610e20565b8484610ff3565b6001905092915050565b60075481565b60055481565b600d5481565b600b5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b95610e20565b73ffffffffffffffffffffffffffffffffffffffff16610bb3610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c009061251b565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610c6c610e20565b73ffffffffffffffffffffffffffffffffffffffff16610c8a610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610ce0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd79061251b565b60405180910390fd5b6009600a610cee91906127b5565b82610cf991906128d3565b6014819055506009600a610d0d91906127b5565b81610d1891906128d3565b6013819055505050565b60045481565b610d30610e20565b73ffffffffffffffffffffffffffffffffffffffff16610d4e610a38565b73ffffffffffffffffffffffffffffffffffffffff1614610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b9061251b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0b906124bb565b60405180910390fd5b610e1d81611573565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8f9061259b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eff906124db565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fe691906125f6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105a9061255b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ca9061245b565b60405180910390fd5b60008111611116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110d9061253b565b60405180910390fd5b61111f83610961565b811115611161576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111589061249b565b60405180910390fd5b601160149054906101000a900460ff16806111c55750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806112195750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124f906125bb565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113035750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113595750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113fc576014548111156113a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139a9061247b565b60405180910390fd5b601354816113b084610961565b6113ba91906126db565b11156113fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f29061257b565b60405180910390fd5b5b600061140730610961565b9050601160159054906101000a900460ff161580156114745750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561148c5750601160169054906101000a900460ff165b80156114985750600081115b156114c0576114a681611637565b600047905060008111156114be576114bd47611931565b5b505b61156d848484600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115675750600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561199d565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611695577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156116c35781602001602082028036833780820191505090505b5090503081600081518110611701577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a357600080fd5b505afa1580156117b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117db919061201b565b81600181518110611815577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061187c30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e28565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118e0959493929190612611565b600060405180830381600087803b1580156118fa57600080fd5b505af115801561190e573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611999573d6000803e3d6000fd5b5050565b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119ec919061292d565b92505081905550600081611a005782611a0c565b611a0b858585611ad0565b5b905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a5d91906126db565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ac191906125f6565b60405180910390a35050505050565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b3157506000600754115b15611bd457600f60009054906101000a900461ffff1661ffff1660045483611b5991906128d3565b611b639190612731565b600c81905550600f60009054906101000a900461ffff1661ffff1660055483611b8c91906128d3565b611b969190612731565b600d81905550600f60009054906101000a900461ffff1661ffff1660065483611bbf91906128d3565b611bc99190612731565b600e81905550611cd3565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c3357506000600b54115b15611cd257600f60009054906101000a900461ffff1661ffff1660085483611c5b91906128d3565b611c659190612731565b600c81905550600f60009054906101000a900461ffff1661ffff1660095483611c8e91906128d3565b611c989190612731565b600d81905550600f60009054906101000a900461ffff1661ffff16600a5483611cc191906128d3565b611ccb9190612731565b600e819055505b5b600c5460016000600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d4691906126db565b92505081905550600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051611dce91906125f6565b60405180910390a3600d546001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e2991906126db565b92505081905550600d54601254611e40919061292d565b601281905550611e4e610750565b60128190555061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d54604051611eb591906125f6565b60405180910390a3600e54600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f0e91906126db565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600e54604051611f7491906125f6565b60405180910390a36000600e54600d54600c54611f9191906126db565b611f9b91906126db565b90508083611fa9919061292d565b9150509392505050565b600081359050611fc281612da1565b92915050565b600081519050611fd781612da1565b92915050565b600081359050611fec81612db8565b92915050565b60006020828403121561200457600080fd5b600061201284828501611fb3565b91505092915050565b60006020828403121561202d57600080fd5b600061203b84828501611fc8565b91505092915050565b6000806040838503121561205757600080fd5b600061206585828601611fb3565b925050602061207685828601611fb3565b9150509250929050565b60008060006060848603121561209557600080fd5b60006120a386828701611fb3565b93505060206120b486828701611fb3565b92505060406120c586828701611fdd565b9150509250925092565b600080604083850312156120e257600080fd5b60006120f085828601611fb3565b925050602061210185828601611fdd565b9150509250929050565b6000806040838503121561211e57600080fd5b600061212c85828601611fdd565b925050602061213d85828601611fdd565b9150509250929050565b6000612153838361215f565b60208301905092915050565b61216881612961565b82525050565b61217781612961565b82525050565b600061218882612696565b61219281856126b9565b935061219d83612686565b8060005b838110156121ce5781516121b58882612147565b97506121c0836126ac565b9250506001810190506121a1565b5085935050505092915050565b6121e481612973565b82525050565b6121f3816129c4565b82525050565b6000612204826126a1565b61220e81856126ca565b935061221e8185602086016129d6565b61222781612a67565b840191505092915050565b600061223f6023836126ca565b915061224a82612a85565b604082019050919050565b60006122626019836126ca565b915061226d82612ad4565b602082019050919050565b60006122856031836126ca565b915061229082612afd565b604082019050919050565b60006122a86026836126ca565b91506122b382612b4c565b604082019050919050565b60006122cb6022836126ca565b91506122d682612b9b565b604082019050919050565b60006122ee6028836126ca565b91506122f982612bea565b604082019050919050565b60006123116020836126ca565b915061231c82612c39565b602082019050919050565b60006123346029836126ca565b915061233f82612c62565b604082019050919050565b60006123576025836126ca565b915061236282612cb1565b604082019050919050565b600061237a601a836126ca565b915061238582612d00565b602082019050919050565b600061239d6024836126ca565b91506123a882612d29565b604082019050919050565b60006123c06017836126ca565b91506123cb82612d78565b602082019050919050565b6123df8161297f565b82525050565b6123ee816129ad565b82525050565b6123fd816129b7565b82525050565b6000602082019050612418600083018461216e565b92915050565b600060208201905061243360008301846121db565b92915050565b6000602082019050818103600083015261245381846121f9565b905092915050565b6000602082019050818103600083015261247481612232565b9050919050565b6000602082019050818103600083015261249481612255565b9050919050565b600060208201905081810360008301526124b481612278565b9050919050565b600060208201905081810360008301526124d48161229b565b9050919050565b600060208201905081810360008301526124f4816122be565b9050919050565b60006020820190508181036000830152612514816122e1565b9050919050565b6000602082019050818103600083015261253481612304565b9050919050565b6000602082019050818103600083015261255481612327565b9050919050565b600060208201905081810360008301526125748161234a565b9050919050565b600060208201905081810360008301526125948161236d565b9050919050565b600060208201905081810360008301526125b481612390565b9050919050565b600060208201905081810360008301526125d4816123b3565b9050919050565b60006020820190506125f060008301846123d6565b92915050565b600060208201905061260b60008301846123e5565b92915050565b600060a08201905061262660008301886123e5565b61263360208301876121ea565b8181036040830152612645818661217d565b9050612654606083018561216e565b61266160808301846123e5565b9695505050505050565b600060208201905061268060008301846123f4565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126e6826129ad565b91506126f1836129ad565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561272657612725612a09565b5b828201905092915050565b600061273c826129ad565b9150612747836129ad565b92508261275757612756612a38565b5b828204905092915050565b6000808291508390505b60018511156127ac5780860481111561278857612787612a09565b5b60018516156127975780820291505b80810290506127a585612a78565b945061276c565b94509492505050565b60006127c0826129ad565b91506127cb836129b7565b92506127f87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612800565b905092915050565b60008261281057600190506128cc565b8161281e57600090506128cc565b8160018114612834576002811461283e5761286d565b60019150506128cc565b60ff8411156128505761284f612a09565b5b8360020a91508482111561286757612866612a09565b5b506128cc565b5060208310610133831016604e8410600b84101617156128a25782820a90508381111561289d5761289c612a09565b5b6128cc565b6128af8484846001612762565b925090508184048111156128c6576128c5612a09565b5b81810290505b9392505050565b60006128de826129ad565b91506128e9836129ad565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561292257612921612a09565b5b828202905092915050565b6000612938826129ad565b9150612943836129ad565b92508282101561295657612955612a09565b5b828203905092915050565b600061296c8261298d565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006129cf826129ad565b9050919050565b60005b838110156129f45780820151818401526020810190506129d9565b83811115612a03576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f596f752061726520747279696e6720746f207472616e73666572206d6f72652060008201527f7468616e20796f75722062616c616e6365000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f7420656e61626c656420796574000000000000000000600082015250565b612daa81612961565b8114612db557600080fd5b50565b612dc1816129ad565b8114612dcc57600080fd5b5056fea264697066735822122061a797131f2e7f4fc81a841234032b307ac09b5d5d109ea91ba353715732e4a364736f6c63430008040033
Deployed Bytecode Sourcemap
4293:9300:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5330:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7834:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8544:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8063:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5283:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5243:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8690:420;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7988:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12980:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4975:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4929:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8150:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2956:94;;;;;;;;;;;;;:::i;:::-;;4793:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2733:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5016:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7909:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5158:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5410:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8259:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4836:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4751:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5202:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5060:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8409:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13099:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13217:223;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4706:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3058:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5330:73;5361:42;5330:73;:::o;7834:69::-;7871:13;7895:5;;;;;;;;;;;;;;;;;7888:12;;7834:69;:::o;8544:138::-;8619:4;8627:39;8636:12;:10;:12::i;:::-;8650:7;8659:6;8627:8;:39::i;:::-;8675:4;8668:11;;8544:138;;;;:::o;8063:81::-;8116:7;8134;;8127:14;;8063:81;:::o;5283:38::-;;;;;;;;;;;;;:::o;5243:33::-;;;;:::o;8690:420::-;8796:4;8813:36;8823:6;8831:9;8842:6;8813:9;:36::i;:::-;8862:24;8889:11;:19;8901:6;8889:19;;;;;;;;;;;;;;;:33;8909:12;:10;:12::i;:::-;8889:33;;;;;;;;;;;;;;;;8862:60;;8961:6;8941:16;:26;;8933:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9023:57;9032:6;9040:12;:10;:12::i;:::-;9073:6;9054:16;:25;;;;:::i;:::-;9023:8;:57::i;:::-;9098:4;9091:11;;;8690:420;;;;;:::o;7988:69::-;8029:5;4696:1;8038:16;;7988:69;:::o;12980:111::-;2879:12;:10;:12::i;:::-;2868:23;;:7;:5;:7::i;:::-;:23;;;2860:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13079:4:::1;13049:18;:27;13068:7;13049:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;12980:111:::0;:::o;4975:34::-;;;;:::o;4929:39::-;;;;:::o;8150:103::-;8216:7;8234;:16;8242:7;8234:16;;;;;;;;;;;;;;;;8227:23;;8150:103;;;:::o;2956:94::-;2879:12;:10;:12::i;:::-;2868:23;;:7;:5;:7::i;:::-;:23;;;2860:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3021:21:::1;3039:1;3021:9;:21::i;:::-;2956:94::o:0;4793:36::-;;;;:::o;2733:87::-;2779:7;2806:6;;;;;;;;;;;2799:13;;2733:87;:::o;5016:37::-;;;;:::o;7909:73::-;7948:13;7972:7;;;;;;;;;;;;;;;;;7965:14;;7909:73;:::o;5158:37::-;;;;:::o;5410:26::-;;;;;;;;;;;;;:::o;8259:144::-;8337:4;8345:42;8355:12;:10;:12::i;:::-;8369:9;8380:6;8345:9;:42::i;:::-;8396:4;8389:11;;8259:144;;;;:::o;4836:84::-;;;;:::o;4751:35::-;;;;:::o;5202:32::-;;;;:::o;5060:89::-;;;;:::o;8409:129::-;8490:7;8508:11;:18;8520:5;8508:18;;;;;;;;;;;;;;;:27;8527:7;8508:27;;;;;;;;;;;;;;;;8501:34;;8409:129;;;;:::o;13099:110::-;2879:12;:10;:12::i;:::-;2868:23;;:7;:5;:7::i;:::-;:23;;;2860:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13196:5:::1;13166:18;:27;13185:7;13166:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;13099:110:::0;:::o;13217:223::-;2879:12;:10;:12::i;:::-;2868:23;;:7;:5;:7::i;:::-;:23;;;2860:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4696:1:::1;13352:2;:14;;;;:::i;:::-;13337:12;:29;;;;:::i;:::-;13323:11;:43;;;;4696:1;13412:2;:14;;;;:::i;:::-;13395;:31;;;;:::i;:::-;13377:15;:49;;;;13217:223:::0;;:::o;4706:38::-;;;;:::o;3058:192::-;2879:12;:10;:12::i;:::-;2868:23;;:7;:5;:7::i;:::-;:23;;;2860:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3167:1:::1;3147:22;;:8;:22;;;;3139:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3223:19;3233:8;3223:9;:19::i;:::-;3058:192:::0;:::o;2154:98::-;2207:7;2234:10;2227:17;;2154:98;:::o;9118:335::-;9228:1;9211:19;;:5;:19;;;;9203:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9309:1;9290:21;;:7;:21;;;;9282:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9391:6;9361:11;:18;9373:5;9361:18;;;;;;;;;;;;;;;:27;9380:7;9361:27;;;;;;;;;;;;;;;:36;;;;9429:7;9413:32;;9422:5;9413:32;;;9438:6;9413:32;;;;;;:::i;:::-;;;;;;;;9118:335;;;:::o;9461:1335::-;9565:1;9549:18;;:4;:18;;;;9541:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9642:1;9628:16;;:2;:16;;;;9620:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9712:1;9703:6;:10;9695:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9788:15;9798:4;9788:9;:15::i;:::-;9778:6;:25;;9770:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;9879:11;;;;;;;;;;;:39;;;;9894:18;:24;9913:4;9894:24;;;;;;;;;;;;;;;;;;;;;;;;;9879:39;:65;;;;9922:18;:22;9941:2;9922:22;;;;;;;;;;;;;;;;;;;;;;;;;9879:65;9871:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;9997:13;;;;;;;;;;;9989:21;;:4;:21;;;:55;;;;;10028:15;;;;;;;;;;;10014:30;;:2;:30;;;;9989:55;:83;;;;;10050:18;:22;10069:2;10050:22;;;;;;;;;;;;;;;;;;;;;;;;;10048:24;9989:83;9985:278;;;10111:11;;10101:6;:21;;10093:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10205:15;;10195:6;10179:13;10189:2;10179:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;10171:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;9985:278;10275:28;10306:24;10324:4;10306:9;:24::i;:::-;10275:55;;10350:6;;;;;;;;;;;10349:7;:32;;;;;10368:13;;;;;;;;;;;10360:21;;:4;:21;;;;10349:32;:47;;;;;10385:11;;;;;;;;;;;10349:47;:73;;;;;10421:1;10400:20;:22;10349:73;10345:344;;;10443:38;10460:20;10443:16;:38::i;:::-;10500:26;10529:21;10500:50;;10593:1;10572:18;:22;10569:105;;;10619:35;10632:21;10619:12;:35::i;:::-;10569:105;10345:344;;10701:87;10716:4;10722:2;10726:6;10736:18;:24;10755:4;10736:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10764:18;:22;10783:2;10764:22;;;;;;;;;;;;;;;;;;;;;;;;;10736:50;10734:53;10701:14;:87::i;:::-;9461:1335;;;;:::o;3258:173::-;3314:16;3333:6;;;;;;;;;;;3314:25;;3359:8;3350:6;;:17;;;;;;;;;;;;;;;;;;3414:8;3383:40;;3404:8;3383:40;;;;;;;;;;;;3258:173;;:::o;10804:483::-;5939:4;5930:6;;:13;;;;;;;;;;;;;;;;;;10882:21:::1;10920:1;10906:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10882:40;;10951:4;10933;10938:1;10933:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;10977:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10967:4;10972:1;10967:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;11010:62;11027:4;11042:15;;;;;;;;;;;11060:11;11010:8;:62::i;:::-;11083:15;;;;;;;;;;;:66;;;11164:11;11190:1;11206:4;11233;11253:15;11083:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5954:1;5975:5:::0;5966:6;;:14;;;;;;;;;;;;;;;;;;10804:483;:::o;13452:95::-;13509:13;;;;;;;;;;;:22;;:30;13532:6;13509:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13452:95;:::o;11295:340::-;11422:6;11403:7;:15;11411:6;11403:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;11439:22;11465:7;11464:57;;11515:6;11464:57;;;11476:36;11486:6;11494:9;11505:6;11476:9;:36::i;:::-;11464:57;11439:82;;11554:14;11532:7;:18;11540:9;11532:18;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;11601:9;11584:43;;11593:6;11584:43;;;11612:14;11584:43;;;;;;:::i;:::-;;;;;;;;11295:340;;;;;:::o;11643:1329::-;11722:7;11753:13;;;;;;;;;;;11745:21;;:4;:21;;;:41;;;;;11785:1;11770:12;;:16;11745:41;11742:637;;;11861:16;;;;;;;;;;;11830:47;;11839:19;;11830:6;:28;;;;:::i;:::-;:47;;;;:::i;:::-;11805:22;:72;;;;11938:16;;;;;;;;;;;11912:42;;11921:14;;11912:6;:23;;;;:::i;:::-;:42;;;;:::i;:::-;11892:17;:62;;;;12026:16;;;;;;;;;;;11999:43;;12008:15;;11999:6;:24;;;;:::i;:::-;:43;;;;:::i;:::-;11978:18;:64;;;;11742:637;;;12074:13;;;;;;;;;;;12068:19;;:2;:19;;;:41;;;;;12108:1;12092:13;;:17;12068:41;12064:315;;;12185:16;;;;;;;;;;;12153:48;;12162:20;;12153:6;:29;;;;:::i;:::-;:48;;;;:::i;:::-;12128:22;:73;;;;12263:16;;;;;;;;;;;12236:43;;12245:15;;12236:6;:24;;;;:::i;:::-;:43;;;;:::i;:::-;12216:17;:63;;;;12343:16;;;;;;;;;;;12315:44;;12324:16;;12315:6;:25;;;;:::i;:::-;:44;;;;:::i;:::-;12294:18;:65;;;;12064:315;11742:637;12413:22;;12389:7;:20;12397:11;;;;;;;;;;;12389:20;;;;;;;;;;;;;;;;:46;;;;;;;:::i;:::-;;;;;;;;12466:11;;;;;;;;;;;12451:51;;12460:4;12451:51;;;12479:22;;12451:51;;;;;;:::i;:::-;;;;;;;;12540:17;;12523:7;:13;5361:42;12523:13;;;;;;;;;;;;;;;;:34;;;;;;;:::i;:::-;;;;;;;;12588:17;;12578:7;;:27;;;;:::i;:::-;12568:7;:37;;;;12626:13;:11;:13::i;:::-;12616:7;:23;;;;5361:42;12655:39;;12664:4;12655:39;;;12676:17;;12655:39;;;;;;:::i;:::-;;;;;;;;12749:18;;12723:7;:22;12739:4;12723:22;;;;;;;;;;;;;;;;:44;;;;;;;:::i;:::-;;;;;;;;12806:4;12783:49;;12792:4;12783:49;;;12813:18;;12783:49;;;;;;:::i;:::-;;;;;;;;12845:17;12910:18;;12890:17;;12865:22;;:42;;;;:::i;:::-;:63;;;;:::i;:::-;12845:83;;12955:9;12946:6;:18;;;;:::i;:::-;12939:25;;;11643:1329;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;353:87;;;;:::o;446:262::-;505:6;554:2;542:9;533:7;529:23;525:32;522:2;;;570:1;567;560:12;522:2;613:1;638:53;683:7;674:6;663:9;659:22;638:53;:::i;:::-;628:63;;584:117;512:196;;;;:::o;714:284::-;784:6;833:2;821:9;812:7;808:23;804:32;801:2;;;849:1;846;839:12;801:2;892:1;917:64;973:7;964:6;953:9;949:22;917:64;:::i;:::-;907:74;;863:128;791:207;;;;:::o;1004:407::-;1072:6;1080;1129:2;1117:9;1108:7;1104:23;1100:32;1097:2;;;1145:1;1142;1135:12;1097:2;1188:1;1213:53;1258:7;1249:6;1238:9;1234:22;1213:53;:::i;:::-;1203:63;;1159:117;1315:2;1341:53;1386:7;1377:6;1366:9;1362:22;1341:53;:::i;:::-;1331:63;;1286:118;1087:324;;;;;:::o;1417:552::-;1494:6;1502;1510;1559:2;1547:9;1538:7;1534:23;1530:32;1527:2;;;1575:1;1572;1565:12;1527:2;1618:1;1643:53;1688:7;1679:6;1668:9;1664:22;1643:53;:::i;:::-;1633:63;;1589:117;1745:2;1771:53;1816:7;1807:6;1796:9;1792:22;1771:53;:::i;:::-;1761:63;;1716:118;1873:2;1899:53;1944:7;1935:6;1924:9;1920:22;1899:53;:::i;:::-;1889:63;;1844:118;1517:452;;;;;:::o;1975:407::-;2043:6;2051;2100:2;2088:9;2079:7;2075:23;2071:32;2068:2;;;2116:1;2113;2106:12;2068:2;2159:1;2184:53;2229:7;2220:6;2209:9;2205:22;2184:53;:::i;:::-;2174:63;;2130:117;2286:2;2312:53;2357:7;2348:6;2337:9;2333:22;2312:53;:::i;:::-;2302:63;;2257:118;2058:324;;;;;:::o;2388:407::-;2456:6;2464;2513:2;2501:9;2492:7;2488:23;2484:32;2481:2;;;2529:1;2526;2519:12;2481:2;2572:1;2597:53;2642:7;2633:6;2622:9;2618:22;2597:53;:::i;:::-;2587:63;;2543:117;2699:2;2725:53;2770:7;2761:6;2750:9;2746:22;2725:53;:::i;:::-;2715:63;;2670:118;2471:324;;;;;:::o;2801:179::-;2870:10;2891:46;2933:3;2925:6;2891:46;:::i;:::-;2969:4;2964:3;2960:14;2946:28;;2881:99;;;;:::o;2986:108::-;3063:24;3081:5;3063:24;:::i;:::-;3058:3;3051:37;3041:53;;:::o;3100:118::-;3187:24;3205:5;3187:24;:::i;:::-;3182:3;3175:37;3165:53;;:::o;3254:732::-;3373:3;3402:54;3450:5;3402:54;:::i;:::-;3472:86;3551:6;3546:3;3472:86;:::i;:::-;3465:93;;3582:56;3632:5;3582:56;:::i;:::-;3661:7;3692:1;3677:284;3702:6;3699:1;3696:13;3677:284;;;3778:6;3772:13;3805:63;3864:3;3849:13;3805:63;:::i;:::-;3798:70;;3891:60;3944:6;3891:60;:::i;:::-;3881:70;;3737:224;3724:1;3721;3717:9;3712:14;;3677:284;;;3681:14;3977:3;3970:10;;3378:608;;;;;;;:::o;3992:109::-;4073:21;4088:5;4073:21;:::i;:::-;4068:3;4061:34;4051:50;;:::o;4107:147::-;4202:45;4241:5;4202:45;:::i;:::-;4197:3;4190:58;4180:74;;:::o;4260:364::-;4348:3;4376:39;4409:5;4376:39;:::i;:::-;4431:71;4495:6;4490:3;4431:71;:::i;:::-;4424:78;;4511:52;4556:6;4551:3;4544:4;4537:5;4533:16;4511:52;:::i;:::-;4588:29;4610:6;4588:29;:::i;:::-;4583:3;4579:39;4572:46;;4352:272;;;;;:::o;4630:366::-;4772:3;4793:67;4857:2;4852:3;4793:67;:::i;:::-;4786:74;;4869:93;4958:3;4869:93;:::i;:::-;4987:2;4982:3;4978:12;4971:19;;4776:220;;;:::o;5002:366::-;5144:3;5165:67;5229:2;5224:3;5165:67;:::i;:::-;5158:74;;5241:93;5330:3;5241:93;:::i;:::-;5359:2;5354:3;5350:12;5343:19;;5148:220;;;:::o;5374:366::-;5516:3;5537:67;5601:2;5596:3;5537:67;:::i;:::-;5530:74;;5613:93;5702:3;5613:93;:::i;:::-;5731:2;5726:3;5722:12;5715:19;;5520:220;;;:::o;5746:366::-;5888:3;5909:67;5973:2;5968:3;5909:67;:::i;:::-;5902:74;;5985:93;6074:3;5985:93;:::i;:::-;6103:2;6098:3;6094:12;6087:19;;5892:220;;;:::o;6118:366::-;6260:3;6281:67;6345:2;6340:3;6281:67;:::i;:::-;6274:74;;6357:93;6446:3;6357:93;:::i;:::-;6475:2;6470:3;6466:12;6459:19;;6264:220;;;:::o;6490:366::-;6632:3;6653:67;6717:2;6712:3;6653:67;:::i;:::-;6646:74;;6729:93;6818:3;6729:93;:::i;:::-;6847:2;6842:3;6838:12;6831:19;;6636:220;;;:::o;6862:366::-;7004:3;7025:67;7089:2;7084:3;7025:67;:::i;:::-;7018:74;;7101:93;7190:3;7101:93;:::i;:::-;7219:2;7214:3;7210:12;7203:19;;7008:220;;;:::o;7234:366::-;7376:3;7397:67;7461:2;7456:3;7397:67;:::i;:::-;7390:74;;7473:93;7562:3;7473:93;:::i;:::-;7591:2;7586:3;7582:12;7575:19;;7380:220;;;:::o;7606:366::-;7748:3;7769:67;7833:2;7828:3;7769:67;:::i;:::-;7762:74;;7845:93;7934:3;7845:93;:::i;:::-;7963:2;7958:3;7954:12;7947:19;;7752:220;;;:::o;7978:366::-;8120:3;8141:67;8205:2;8200:3;8141:67;:::i;:::-;8134:74;;8217:93;8306:3;8217:93;:::i;:::-;8335:2;8330:3;8326:12;8319:19;;8124:220;;;:::o;8350:366::-;8492:3;8513:67;8577:2;8572:3;8513:67;:::i;:::-;8506:74;;8589:93;8678:3;8589:93;:::i;:::-;8707:2;8702:3;8698:12;8691:19;;8496:220;;;:::o;8722:366::-;8864:3;8885:67;8949:2;8944:3;8885:67;:::i;:::-;8878:74;;8961:93;9050:3;8961:93;:::i;:::-;9079:2;9074:3;9070:12;9063:19;;8868:220;;;:::o;9094:115::-;9179:23;9196:5;9179:23;:::i;:::-;9174:3;9167:36;9157:52;;:::o;9215:118::-;9302:24;9320:5;9302:24;:::i;:::-;9297:3;9290:37;9280:53;;:::o;9339:112::-;9422:22;9438:5;9422:22;:::i;:::-;9417:3;9410:35;9400:51;;:::o;9457:222::-;9550:4;9588:2;9577:9;9573:18;9565:26;;9601:71;9669:1;9658:9;9654:17;9645:6;9601:71;:::i;:::-;9555:124;;;;:::o;9685:210::-;9772:4;9810:2;9799:9;9795:18;9787:26;;9823:65;9885:1;9874:9;9870:17;9861:6;9823:65;:::i;:::-;9777:118;;;;:::o;9901:313::-;10014:4;10052:2;10041:9;10037:18;10029:26;;10101:9;10095:4;10091:20;10087:1;10076:9;10072:17;10065:47;10129:78;10202:4;10193:6;10129:78;:::i;:::-;10121:86;;10019:195;;;;:::o;10220:419::-;10386:4;10424:2;10413:9;10409:18;10401:26;;10473:9;10467:4;10463:20;10459:1;10448:9;10444:17;10437:47;10501:131;10627:4;10501:131;:::i;:::-;10493:139;;10391:248;;;:::o;10645:419::-;10811:4;10849:2;10838:9;10834:18;10826:26;;10898:9;10892:4;10888:20;10884:1;10873:9;10869:17;10862:47;10926:131;11052:4;10926:131;:::i;:::-;10918:139;;10816:248;;;:::o;11070:419::-;11236:4;11274:2;11263:9;11259:18;11251:26;;11323:9;11317:4;11313:20;11309:1;11298:9;11294:17;11287:47;11351:131;11477:4;11351:131;:::i;:::-;11343:139;;11241:248;;;:::o;11495:419::-;11661:4;11699:2;11688:9;11684:18;11676:26;;11748:9;11742:4;11738:20;11734:1;11723:9;11719:17;11712:47;11776:131;11902:4;11776:131;:::i;:::-;11768:139;;11666:248;;;:::o;11920:419::-;12086:4;12124:2;12113:9;12109:18;12101:26;;12173:9;12167:4;12163:20;12159:1;12148:9;12144:17;12137:47;12201:131;12327:4;12201:131;:::i;:::-;12193:139;;12091:248;;;:::o;12345:419::-;12511:4;12549:2;12538:9;12534:18;12526:26;;12598:9;12592:4;12588:20;12584:1;12573:9;12569:17;12562:47;12626:131;12752:4;12626:131;:::i;:::-;12618:139;;12516:248;;;:::o;12770:419::-;12936:4;12974:2;12963:9;12959:18;12951:26;;13023:9;13017:4;13013:20;13009:1;12998:9;12994:17;12987:47;13051:131;13177:4;13051:131;:::i;:::-;13043:139;;12941:248;;;:::o;13195:419::-;13361:4;13399:2;13388:9;13384:18;13376:26;;13448:9;13442:4;13438:20;13434:1;13423:9;13419:17;13412:47;13476:131;13602:4;13476:131;:::i;:::-;13468:139;;13366:248;;;:::o;13620:419::-;13786:4;13824:2;13813:9;13809:18;13801:26;;13873:9;13867:4;13863:20;13859:1;13848:9;13844:17;13837:47;13901:131;14027:4;13901:131;:::i;:::-;13893:139;;13791:248;;;:::o;14045:419::-;14211:4;14249:2;14238:9;14234:18;14226:26;;14298:9;14292:4;14288:20;14284:1;14273:9;14269:17;14262:47;14326:131;14452:4;14326:131;:::i;:::-;14318:139;;14216:248;;;:::o;14470:419::-;14636:4;14674:2;14663:9;14659:18;14651:26;;14723:9;14717:4;14713:20;14709:1;14698:9;14694:17;14687:47;14751:131;14877:4;14751:131;:::i;:::-;14743:139;;14641:248;;;:::o;14895:419::-;15061:4;15099:2;15088:9;15084:18;15076:26;;15148:9;15142:4;15138:20;15134:1;15123:9;15119:17;15112:47;15176:131;15302:4;15176:131;:::i;:::-;15168:139;;15066:248;;;:::o;15320:218::-;15411:4;15449:2;15438:9;15434:18;15426:26;;15462:69;15528:1;15517:9;15513:17;15504:6;15462:69;:::i;:::-;15416:122;;;;:::o;15544:222::-;15637:4;15675:2;15664:9;15660:18;15652:26;;15688:71;15756:1;15745:9;15741:17;15732:6;15688:71;:::i;:::-;15642:124;;;;:::o;15772:831::-;16035:4;16073:3;16062:9;16058:19;16050:27;;16087:71;16155:1;16144:9;16140:17;16131:6;16087:71;:::i;:::-;16168:80;16244:2;16233:9;16229:18;16220:6;16168:80;:::i;:::-;16295:9;16289:4;16285:20;16280:2;16269:9;16265:18;16258:48;16323:108;16426:4;16417:6;16323:108;:::i;:::-;16315:116;;16441:72;16509:2;16498:9;16494:18;16485:6;16441:72;:::i;:::-;16523:73;16591:3;16580:9;16576:19;16567:6;16523:73;:::i;:::-;16040:563;;;;;;;;:::o;16609:214::-;16698:4;16736:2;16725:9;16721:18;16713:26;;16749:67;16813:1;16802:9;16798:17;16789:6;16749:67;:::i;:::-;16703:120;;;;:::o;16829:132::-;16896:4;16919:3;16911:11;;16949:4;16944:3;16940:14;16932:22;;16901:60;;;:::o;16967:114::-;17034:6;17068:5;17062:12;17052:22;;17041:40;;;:::o;17087:99::-;17139:6;17173:5;17167:12;17157:22;;17146:40;;;:::o;17192:113::-;17262:4;17294;17289:3;17285:14;17277:22;;17267:38;;;:::o;17311:184::-;17410:11;17444:6;17439:3;17432:19;17484:4;17479:3;17475:14;17460:29;;17422:73;;;;:::o;17501:169::-;17585:11;17619:6;17614:3;17607:19;17659:4;17654:3;17650:14;17635:29;;17597:73;;;;:::o;17676:305::-;17716:3;17735:20;17753:1;17735:20;:::i;:::-;17730:25;;17769:20;17787:1;17769:20;:::i;:::-;17764:25;;17923:1;17855:66;17851:74;17848:1;17845:81;17842:2;;;17929:18;;:::i;:::-;17842:2;17973:1;17970;17966:9;17959:16;;17720:261;;;;:::o;17987:185::-;18027:1;18044:20;18062:1;18044:20;:::i;:::-;18039:25;;18078:20;18096:1;18078:20;:::i;:::-;18073:25;;18117:1;18107:2;;18122:18;;:::i;:::-;18107:2;18164:1;18161;18157:9;18152:14;;18029:143;;;;:::o;18178:848::-;18239:5;18246:4;18270:6;18261:15;;18294:5;18285:14;;18308:712;18329:1;18319:8;18316:15;18308:712;;;18424:4;18419:3;18415:14;18409:4;18406:24;18403:2;;;18433:18;;:::i;:::-;18403:2;18483:1;18473:8;18469:16;18466:2;;;18898:4;18891:5;18887:16;18878:25;;18466:2;18948:4;18942;18938:15;18930:23;;18978:32;19001:8;18978:32;:::i;:::-;18966:44;;18308:712;;;18251:775;;;;;;;:::o;19032:281::-;19090:5;19114:23;19132:4;19114:23;:::i;:::-;19106:31;;19158:25;19174:8;19158:25;:::i;:::-;19146:37;;19202:104;19239:66;19229:8;19223:4;19202:104;:::i;:::-;19193:113;;19096:217;;;;:::o;19319:1073::-;19373:5;19564:8;19554:2;;19585:1;19576:10;;19587:5;;19554:2;19613:4;19603:2;;19630:1;19621:10;;19632:5;;19603:2;19699:4;19747:1;19742:27;;;;19783:1;19778:191;;;;19692:277;;19742:27;19760:1;19751:10;;19762:5;;;19778:191;19823:3;19813:8;19810:17;19807:2;;;19830:18;;:::i;:::-;19807:2;19879:8;19876:1;19872:16;19863:25;;19914:3;19907:5;19904:14;19901:2;;;19921:18;;:::i;:::-;19901:2;19954:5;;;19692:277;;20078:2;20068:8;20065:16;20059:3;20053:4;20050:13;20046:36;20028:2;20018:8;20015:16;20010:2;20004:4;20001:12;19997:35;19981:111;19978:2;;;20134:8;20128:4;20124:19;20115:28;;20169:3;20162:5;20159:14;20156:2;;;20176:18;;:::i;:::-;20156:2;20209:5;;19978:2;20249:42;20287:3;20277:8;20271:4;20268:1;20249:42;:::i;:::-;20234:57;;;;20323:4;20318:3;20314:14;20307:5;20304:25;20301:2;;;20332:18;;:::i;:::-;20301:2;20381:4;20374:5;20370:16;20361:25;;19379:1013;;;;;;:::o;20398:348::-;20438:7;20461:20;20479:1;20461:20;:::i;:::-;20456:25;;20495:20;20513:1;20495:20;:::i;:::-;20490:25;;20683:1;20615:66;20611:74;20608:1;20605:81;20600:1;20593:9;20586:17;20582:105;20579:2;;;20690:18;;:::i;:::-;20579:2;20738:1;20735;20731:9;20720:20;;20446:300;;;;:::o;20752:191::-;20792:4;20812:20;20830:1;20812:20;:::i;:::-;20807:25;;20846:20;20864:1;20846:20;:::i;:::-;20841:25;;20885:1;20882;20879:8;20876:2;;;20890:18;;:::i;:::-;20876:2;20935:1;20932;20928:9;20920:17;;20797:146;;;;:::o;20949:96::-;20986:7;21015:24;21033:5;21015:24;:::i;:::-;21004:35;;20994:51;;;:::o;21051:90::-;21085:7;21128:5;21121:13;21114:21;21103:32;;21093:48;;;:::o;21147:89::-;21183:7;21223:6;21216:5;21212:18;21201:29;;21191:45;;;:::o;21242:126::-;21279:7;21319:42;21312:5;21308:54;21297:65;;21287:81;;;:::o;21374:77::-;21411:7;21440:5;21429:16;;21419:32;;;:::o;21457:86::-;21492:7;21532:4;21525:5;21521:16;21510:27;;21500:43;;;:::o;21549:121::-;21607:9;21640:24;21658:5;21640:24;:::i;:::-;21627:37;;21617:53;;;:::o;21676:307::-;21744:1;21754:113;21768:6;21765:1;21762:13;21754:113;;;21853:1;21848:3;21844:11;21838:18;21834:1;21829:3;21825:11;21818:39;21790:2;21787:1;21783:10;21778:15;;21754:113;;;21885:6;21882:1;21879:13;21876:2;;;21965:1;21956:6;21951:3;21947:16;21940:27;21876:2;21725:258;;;;:::o;21989:180::-;22037:77;22034:1;22027:88;22134:4;22131:1;22124:15;22158:4;22155:1;22148:15;22175:180;22223:77;22220:1;22213:88;22320:4;22317:1;22310:15;22344:4;22341:1;22334:15;22361:102;22402:6;22453:2;22449:7;22444:2;22437:5;22433:14;22429:28;22419:38;;22409:54;;;:::o;22469:102::-;22511:8;22558:5;22555:1;22551:13;22530:34;;22520:51;;;:::o;22577:222::-;22717:34;22713:1;22705:6;22701:14;22694:58;22786:5;22781:2;22773:6;22769:15;22762:30;22683:116;:::o;22805:175::-;22945:27;22941:1;22933:6;22929:14;22922:51;22911:69;:::o;22986:236::-;23126:34;23122:1;23114:6;23110:14;23103:58;23195:19;23190:2;23182:6;23178:15;23171:44;23092:130;:::o;23228:225::-;23368:34;23364:1;23356:6;23352:14;23345:58;23437:8;23432:2;23424:6;23420:15;23413:33;23334:119;:::o;23459:221::-;23599:34;23595:1;23587:6;23583:14;23576:58;23668:4;23663:2;23655:6;23651:15;23644:29;23565:115;:::o;23686:227::-;23826:34;23822:1;23814:6;23810:14;23803:58;23895:10;23890:2;23882:6;23878:15;23871:35;23792:121;:::o;23919:182::-;24059:34;24055:1;24047:6;24043:14;24036:58;24025:76;:::o;24107:228::-;24247:34;24243:1;24235:6;24231:14;24224:58;24316:11;24311:2;24303:6;24299:15;24292:36;24213:122;:::o;24341:224::-;24481:34;24477:1;24469:6;24465:14;24458:58;24550:7;24545:2;24537:6;24533:15;24526:32;24447:118;:::o;24571:176::-;24711:28;24707:1;24699:6;24695:14;24688:52;24677:70;:::o;24753:223::-;24893:34;24889:1;24881:6;24877:14;24870:58;24962:6;24957:2;24949:6;24945:15;24938:31;24859:117;:::o;24982:173::-;25122:25;25118:1;25110:6;25106:14;25099:49;25088:67;:::o;25161:122::-;25234:24;25252:5;25234:24;:::i;:::-;25227:5;25224:35;25214:2;;25273:1;25270;25263:12;25214:2;25204:79;:::o;25289:122::-;25362:24;25380:5;25362:24;:::i;:::-;25355:5;25352:35;25342:2;;25401:1;25398;25391:12;25342:2;25332:79;:::o
Swarm Source
ipfs://61a797131f2e7f4fc81a841234032b307ac09b5d5d109ea91ba353715732e4a3
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.