ERC-20
Overview
Max Total Supply
1,000,000,000 ENRON
Holders
72
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,402,723.228301937959463109 ENRONValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Enron
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-01 */ // Website: https://enron.lol // Twitter: https://twitter.com/enroneth // Telegram: https://t.me/Enron_Portal // SPDX-License-Identifier: MIT pragma solidity 0.8.20; interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } contract Ownable is Context { address public _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; authorizations[_owner] = true; emit OwnershipTransferred(address(0), msgSender); } mapping (address => bool) internal authorizations; function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } interface InterfaceLP { function sync() external; } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Enron is Ownable, ERC20 { using SafeMath for uint256; address WETH; address constant DEAD = 0x000000000000000000000000000000000000dEaD; address constant ZERO = 0x0000000000000000000000000000000000000000; string constant _name = "ENRON"; string constant _symbol = "ENRON"; uint8 constant _decimals = 18; event AutoLiquify(uint256 amountETH, uint256 amountTokens); event EditTax(uint8 Buy, uint8 Sell, uint8 Transfer); event user_exemptfromfees(address Wallet, bool Exempt); event user_TxExempt(address Wallet, bool Exempt); event ClearStuck(uint256 amount); event ClearToken(address TokenAddressCleared, uint256 Amount); event set_Receivers(address marketingFeeReceiver, address buybackFeeReceiver,address burnFeeReceiver,address devFeeReceiver); event set_MaxWallet(uint256 maxWallet); event set_MaxTX(uint256 maxTX); event set_SwapBack(uint256 Amount, bool Enabled); uint256 _totalSupply = 1000000000 * 10**_decimals; uint256 public _maxTxAmount = _totalSupply.mul(5).div(100); uint256 public _maxWalletToken = _totalSupply.mul(5).div(100); mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isnotabot; mapping (address => bool) isexemptfromfees; mapping (address => bool) isexemptfrommaxTX; uint256 private liquidityFee = 0; uint256 private marketingFee = 990; uint256 private devFee = 0; uint256 private buybackFee = 0; uint256 private burnFee = 0; uint256 public totalFee = buybackFee + marketingFee + liquidityFee + devFee + burnFee; uint256 private feeDenominator = 1000; // no bots initial tax uint256 sellpercent = 990; uint256 buypercent = 990; uint256 transferpercent = 990; address private autoLiquidityReceiver; address private marketingFeeReceiver; address private devFeeReceiver; address private buybackFeeReceiver; address private burnFeeReceiver; uint256 setRatio = 30; uint256 setRatioDenominator = 100; IDEXRouter public router; InterfaceLP private pairContract; address public pair; bool public TradingOpen = false; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 1000; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); pairContract = InterfaceLP(pair); _allowances[address(this)][address(router)] = type(uint256).max; isexemptfromfees[msg.sender] = true; isexemptfromfees[marketingFeeReceiver] = true; isexemptfromfees[address(this)] = true; isexemptfromfees[DEAD] = true; isexemptfrommaxTX[msg.sender] = true; isexemptfrommaxTX[pair] = true; isexemptfrommaxTX[marketingFeeReceiver] = true; isexemptfrommaxTX[address(this)] = true; isexemptfrommaxTX[DEAD] = true; autoLiquidityReceiver = 0x4ede7d9E9d9b01dBD6fDb47a2821792B83da02ad; marketingFeeReceiver = 0x4ede7d9E9d9b01dBD6fDb47a2821792B83da02ad; devFeeReceiver = msg.sender; buybackFeeReceiver = msg.sender; burnFeeReceiver = DEAD; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) {return owner();} function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function maxWalletRule(uint256 maxWallPercent) external onlyOwner { require(maxWallPercent >= 1); _maxWalletToken = (_totalSupply * maxWallPercent ) / 1000; emit set_MaxWallet(_maxWalletToken); } function removeLimits () external onlyOwner { _maxTxAmount = _totalSupply; _maxWalletToken = _totalSupply; } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if(!authorizations[sender] && !authorizations[recipient]){ require(TradingOpen,"Trading not open yet"); } if (!authorizations[sender] && recipient != address(this) && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != marketingFeeReceiver && !isexemptfrommaxTX[recipient]){ uint256 heldTokens = balanceOf(recipient); require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");} checkTxLimit(sender, amount); if(shouldSwapBack()){ swapBack(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = (isexemptfromfees[sender] || isexemptfromfees[recipient]) ? amount : takeFee(sender, amount, recipient); _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function checkTxLimit(address sender, uint256 amount) internal view { require(amount <= _maxTxAmount || isexemptfrommaxTX[sender], "TX Limit Exceeded"); } function shouldTakeFee(address sender) internal view returns (bool) { return !isexemptfromfees[sender]; } function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) { uint256 percent = transferpercent; if(recipient == pair) { percent = sellpercent; } else if(sender == pair) { percent = buypercent; if(isnotabot[recipient]) { percent = 20; } } uint256 feeAmount = amount.mul(totalFee).mul(percent).div(feeDenominator * 1000); uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee); uint256 contractTokens = feeAmount.sub(burnTokens); _balances[address(this)] = _balances[address(this)].add(contractTokens); _balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens); emit Transfer(sender, address(this), contractTokens); if(burnTokens > 0){ _totalSupply = _totalSupply.sub(burnTokens); emit Transfer(sender, ZERO, burnTokens); } return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function manualSend() external { payable(autoLiquidityReceiver).transfer(address(this).balance); } function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) { if(tokens == 0){ tokens = ERC20(tokenAddress).balanceOf(address(this)); } emit ClearToken(tokenAddress, tokens); return ERC20(tokenAddress).transfer(autoLiquidityReceiver, tokens); } function setStructure(uint256 _percentonbuy, uint256 _percentonsell, uint256 _wallettransfer) external onlyOwner { sellpercent = _percentonsell; buypercent = _percentonbuy; transferpercent = _wallettransfer; } function startTrading() public onlyOwner { TradingOpen = true; } function reduceFee() public onlyOwner { buypercent = 20; sellpercent = 20; transferpercent = 0; } function swapBack() internal swapping { uint256 dynamicLiquidityFee = checkRatio(setRatio, setRatioDenominator) ? 0 : liquidityFee; uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2); uint256 amountToSwap = swapThreshold.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2); uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee); uint256 amountETHbuyback = amountETH.mul(buybackFee).div(totalETHFee); uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee); (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}(""); (tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}(""); (tmpSuccess,) = payable(buybackFeeReceiver).call{value: amountETHbuyback}(""); tmpSuccess = false; if(amountToLiquify > 0){ router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } function set_fees() internal { emit EditTax( uint8(totalFee.mul(buypercent).div(feeDenominator)), uint8(totalFee.mul(sellpercent).div(feeDenominator)), uint8(totalFee.mul(transferpercent).div(feeDenominator)) ); } function setParameters(uint256 _liquidityFee, uint256 _buybackFee, uint256 _marketingFee, uint256 _devFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner { liquidityFee = _liquidityFee; buybackFee = _buybackFee; marketingFee = _marketingFee; devFee = _devFee; burnFee = _burnFee; totalFee = _liquidityFee.add(_buybackFee).add(_marketingFee).add(_devFee).add(_burnFee); feeDenominator = _feeDenominator; set_fees(); } function setWallets(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _burnFeeReceiver, address _buybackFeeReceiver) external onlyOwner { autoLiquidityReceiver = _autoLiquidityReceiver; marketingFeeReceiver = _marketingFeeReceiver; devFeeReceiver = _devFeeReceiver; burnFeeReceiver = _burnFeeReceiver; buybackFeeReceiver = _buybackFeeReceiver; emit set_Receivers(marketingFeeReceiver, buybackFeeReceiver, burnFeeReceiver, devFeeReceiver); } function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner { swapEnabled = _enabled; swapThreshold = _amount; emit set_SwapBack(swapThreshold, swapEnabled); } function addNotBot(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { isnotabot[accounts[i]] = excluded; } } function checkRatio(uint256 ratio, uint256 accuracy) public view returns (bool) { return showBacking(accuracy) > ratio; } function showBacking(uint256 accuracy) public view returns (uint256) { return accuracy.mul(balanceOf(pair).mul(2)).div(showSupply()); } function showSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClearStuck","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"ClearToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"Buy","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Sell","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Transfer","type":"uint8"}],"name":"EditTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTX","type":"uint256"}],"name":"set_MaxTX","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"set_MaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketingFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"buybackFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"burnFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"devFeeReceiver","type":"address"}],"name":"set_Receivers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"Enabled","type":"bool"}],"name":"set_SwapBack","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Exempt","type":"bool"}],"name":"user_TxExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Exempt","type":"bool"}],"name":"user_exemptfromfees","type":"event"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"addNotBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"ratio","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"checkRatio","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"maxWalletRule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percentonbuy","type":"uint256"},{"internalType":"uint256","name":"_percentonsell","type":"uint256"},{"internalType":"uint256","name":"_wallettransfer","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_buybackFeeReceiver","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"showBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","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":"totalFee","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
60806040526012600a62000014919062000e7e565b633b9aca0062000025919062000ece565b60035562000055606462000046600560035462000bae60201b90919060201c565b62000c2e60201b90919060201c565b60045562000085606462000076600560035462000bae60201b90919060201c565b62000c2e60201b90919060201c565b6005555f600b556103de600c555f600d555f600e555f600f55600f54600d54600b54600c54600e54620000b9919062000f18565b620000c5919062000f18565b620000d1919062000f18565b620000dd919062000f18565b6010556103e86011556103de6012556103de6013556103de601455601e601a556064601b555f601e60146101000a81548160ff0219169083151502179055506001601e60156101000a81548160ff0219169083151502179055506103e860035462000149919062000f7f565b601f5534801562000158575f80fd5b505f6200016a62000c7f60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001805f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d601c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000339573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200035f91906200101b565b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000409573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200042f91906200101b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200048c9291906200105c565b6020604051808303815f875af1158015620004a9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004cf91906200101b565b601e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550734ede7d9e9d9b01dbd6fdb47a2821792b83da02ad60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734ede7d9e9d9b01dbd6fdb47a2821792b83da02ad60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead60195f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060035460065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000ba0919062001098565b60405180910390a3620011fd565b5f80830362000bc0575f905062000c28565b5f828462000bcf919062000ece565b905082848262000be0919062000f7f565b1462000c23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c1a9062001137565b60405180910390fd5b809150505b92915050565b5f62000c7783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000c8660201b60201c565b905092915050565b5f33905090565b5f808311829062000ccf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cc69190620011db565b60405180910390fd5b505f838562000cdf919062000f7f565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000d765780860481111562000d4e5762000d4d62000cec565b5b600185161562000d5e5780820291505b808102905062000d6e8562000d19565b945062000d2e565b94509492505050565b5f8262000d90576001905062000e62565b8162000d9f575f905062000e62565b816001811462000db8576002811462000dc35762000df9565b600191505062000e62565b60ff84111562000dd85762000dd762000cec565b5b8360020a91508482111562000df25762000df162000cec565b5b5062000e62565b5060208310610133831016604e8410600b841016171562000e335782820a90508381111562000e2d5762000e2c62000cec565b5b62000e62565b62000e42848484600162000d25565b9250905081840481111562000e5c5762000e5b62000cec565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000e8a8262000e69565b915062000e978362000e72565b925062000ec67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000d7f565b905092915050565b5f62000eda8262000e69565b915062000ee78362000e69565b925082820262000ef78162000e69565b9150828204841483151762000f115762000f1062000cec565b5b5092915050565b5f62000f248262000e69565b915062000f318362000e69565b925082820190508082111562000f4c5762000f4b62000cec565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000f8b8262000e69565b915062000f988362000e69565b92508262000fab5762000faa62000f52565b5b828204905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000fe58262000fba565b9050919050565b62000ff78162000fd9565b811462001002575f80fd5b50565b5f81519050620010158162000fec565b92915050565b5f6020828403121562001033576200103262000fb6565b5b5f620010428482850162001005565b91505092915050565b620010568162000fd9565b82525050565b5f604082019050620010715f8301856200104b565b6200108060208301846200104b565b9392505050565b620010928162000e69565b82525050565b5f602082019050620010ad5f83018462001087565b92915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6200111f602183620010b3565b91506200112c82620010c3565b604082019050919050565b5f6020820190508181035f830152620011508162001111565b9050919050565b5f81519050919050565b5f5b838110156200118057808201518184015260208101905062001163565b5f8484015250505050565b5f601f19601f8301169050919050565b5f620011a78262001157565b620011b38185620010b3565b9350620011c581856020860162001161565b620011d0816200118b565b840191505092915050565b5f6020820190508181035f830152620011f581846200119b565b905092915050565b61432a806200120b5f395ff3fe60806040526004361061021d575f3560e01c806377b54bad11610122578063a9059cbb116100aa578063ded1e4381161006e578063ded1e4381461079e578063df20fd49146107da578063f2fde38b14610802578063f42938901461082a578063f887ea401461084057610224565b8063a9059cbb146106ac578063b2bdfa7b146106e8578063c0cbdea414610712578063c6bb9bd41461073a578063dd62ed3e1461076257610224565b8063893d20e8116100f1578063893d20e8146105ee5780638da5cb5b1461061857806395d89b4114610642578063a70419d21461066c578063a8aa1b311461068257610224565b806377b54bad1461053657806378109e54146105725780637d1db4a51461059c57806382528791146105c657610224565b806330c9a6a0116101a55780635d83e1d5116101745780635d83e1d51461047c5780636ddd1713146104a457806370a08231146104ce578063715018a61461050a578063751039fc1461052057610224565b806330c9a6a0146103b0578063313ce567146103ec5780635526566914610416578063571ac8b01461044057610224565b806318160ddd116101ec57806318160ddd146102e25780631df4ccfc1461030c57806323b872dd14610336578063282c874914610372578063293230b81461039a57610224565b80630445b6671461022857806306fdde031461025257806308fd3d051461027c578063095ea7b3146102a657610224565b3661022457005b5f80fd5b348015610233575f80fd5b5061023c61086a565b604051610249919061340d565b60405180910390f35b34801561025d575f80fd5b50610266610870565b60405161027391906134b0565b60405180910390f35b348015610287575f80fd5b506102906108ad565b60405161029d91906134ea565b60405180910390f35b3480156102b1575f80fd5b506102cc60048036038101906102c7919061358f565b6108c0565b6040516102d991906134ea565b60405180910390f35b3480156102ed575f80fd5b506102f66109ad565b604051610303919061340d565b60405180910390f35b348015610317575f80fd5b506103206109b6565b60405161032d919061340d565b60405180910390f35b348015610341575f80fd5b5061035c600480360381019061035791906135cd565b6109bc565b60405161036991906134ea565b60405180910390f35b34801561037d575f80fd5b506103986004803603810190610393919061361d565b610baf565b005b3480156103a5575f80fd5b506103ae610ccc565b005b3480156103bb575f80fd5b506103d660048036038101906103d191906136a6565b610d7d565b6040516103e3919061340d565b60405180910390f35b3480156103f7575f80fd5b50610400610ded565b60405161040d91906136ec565b60405180910390f35b348015610421575f80fd5b5061042a610df5565b604051610437919061340d565b60405180910390f35b34801561044b575f80fd5b5061046660048036038101906104619190613705565b610e34565b60405161047391906134ea565b60405180910390f35b348015610487575f80fd5b506104a2600480360381019061049d91906136a6565b610e66565b005b3480156104af575f80fd5b506104b8610f64565b6040516104c591906134ea565b60405180910390f35b3480156104d9575f80fd5b506104f460048036038101906104ef9190613705565b610f77565b604051610501919061340d565b60405180910390f35b348015610515575f80fd5b5061051e610fbd565b005b34801561052b575f80fd5b5061053461110b565b005b348015610541575f80fd5b5061055c6004803603810190610557919061358f565b6111b3565b60405161056991906134ea565b60405180910390f35b34801561057d575f80fd5b506105866113a7565b604051610593919061340d565b60405180910390f35b3480156105a7575f80fd5b506105b06113ad565b6040516105bd919061340d565b60405180910390f35b3480156105d1575f80fd5b506105ec60048036038101906105e79190613730565b6113b3565b005b3480156105f9575f80fd5b5061060261164f565b60405161060f91906137b6565b60405180910390f35b348015610623575f80fd5b5061062c61165d565b60405161063991906137b6565b60405180910390f35b34801561064d575f80fd5b50610656611684565b60405161066391906134b0565b60405180910390f35b348015610677575f80fd5b506106806116c1565b005b34801561068d575f80fd5b5061069661176e565b6040516106a391906137b6565b60405180910390f35b3480156106b7575f80fd5b506106d260048036038101906106cd919061358f565b611793565b6040516106df91906134ea565b60405180910390f35b3480156106f3575f80fd5b506106fc6117a7565b60405161070991906137b6565b60405180910390f35b34801561071d575f80fd5b50610738600480360381019061073391906137cf565b6117ca565b005b348015610745575f80fd5b50610760600480360381019061075b91906138aa565b611878565b005b34801561076d575f80fd5b5061078860048036038101906107839190613907565b6119ad565b604051610795919061340d565b60405180910390f35b3480156107a9575f80fd5b506107c460048036038101906107bf9190613945565b611a2f565b6040516107d191906134ea565b60405180910390f35b3480156107e5575f80fd5b5061080060048036038101906107fb9190613983565b611a43565b005b34801561080d575f80fd5b5061082860048036038101906108239190613705565b611b46565b005b348015610835575f80fd5b5061083e611d03565b005b34801561084b575f80fd5b50610854611d6a565b6040516108619190613a1c565b60405180910390f35b601f5481565b60606040518060400160405280600581526020017f454e524f4e000000000000000000000000000000000000000000000000000000815250905090565b601e60149054906101000a900460ff1681565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161099b919061340d565b60405180910390a36001905092915050565b5f600354905090565b60105481565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414610b9b57610b1e826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e63650000000000000000000081525060075f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d8f9092919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b610ba6848484611df1565b90509392505050565b610bb7612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90613a7f565b60405180910390fd5b85600b8190555084600e8190555083600c8190555082600d8190555081600f81905550610caf82610ca185610c9388610c858b8d61242f90919063ffffffff16565b61242f90919063ffffffff16565b61242f90919063ffffffff16565b61242f90919063ffffffff16565b60108190555080601181905550610cc461248c565b505050505050565b610cd4612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5790613a7f565b60405180910390fd5b6001601e60146101000a81548160ff021916908315150217905550565b5f610de6610d89610df5565b610dd8610dc96002610dbb601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f77565b61254790919063ffffffff16565b8561254790919063ffffffff16565b6125be90919063ffffffff16565b9050919050565b5f6012905090565b5f610e2f610e025f610f77565b610e21610e1061dead610f77565b60035461260790919063ffffffff16565b61260790919063ffffffff16565b905090565b5f610e5f827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108c0565b9050919050565b610e6e612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef190613a7f565b60405180910390fd5b6001811015610f07575f80fd5b6103e881600354610f189190613aca565b610f229190613b38565b6005819055507f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be51600554604051610f59919061340d565b60405180910390a150565b601e60159054906101000a900460ff1681565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610fc5612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890613a7f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611113612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461119f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119690613a7f565b60405180910390fd5b600354600481905550600354600581905550565b5f6111bc612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611248576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123f90613a7f565b60405180910390fd5b5f82036112ca578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161128891906137b6565b602060405180830381865afa1580156112a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c79190613b7c565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f83836040516112fb929190613ba7565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040161135f929190613ba7565b6020604051808303815f875af115801561137b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061139f9190613be2565b905092915050565b60055481565b60045481565b6113bb612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143e90613a7f565b60405180910390fd5b8460155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160195f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b1560165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516116409493929190613c0d565b60405180910390a15050505050565b5f61165861165d565b905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f454e524f4e000000000000000000000000000000000000000000000000000000815250905090565b6116c9612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174c90613a7f565b60405180910390fd5b601460138190555060146012819055505f601481905550565b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61179f338484611df1565b905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117d2612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461185e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185590613a7f565b60405180910390fd5b816012819055508260138190555080601481905550505050565b611880612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461190c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190390613a7f565b60405180910390fd5b5f5b838390508110156119a7578160085f8686858181106119305761192f613c50565b5b90506020020160208101906119459190613705565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061199f90613c7d565b91505061190e565b50505050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f82611a3a83610d7d565b11905092915050565b611a4b612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ad7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ace90613a7f565b60405180910390fd5b81601e60156101000a81548160ff02191690831515021790555080601f819055507f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60601f54601e60159054906101000a900460ff16604051611b3a929190613cc4565b60405180910390a15050565b611b4e612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd190613a7f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3f90613d5b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611d67573d5f803e3d5ffd5b50565b601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f838311158290611dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcd91906134b0565b60405180910390fd5b505f8385611de49190613d79565b9050809150509392505050565b5f60205f9054906101000a900460ff1615611e1857611e11848484612650565b9050612421565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611eb6575060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f0b57601e60149054906101000a900460ff16611f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0190613df6565b60405180910390fd5b5b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611f8e57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611fc8575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120215750601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561207a575060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120d3575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156121265750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612189575f61213584610f77565b905060055483826121469190613e14565b1115612187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217e90613eb7565b60405180910390fd5b505b612193848361281a565b61219b6128b4565b156121a9576121a8612986565b5b612230826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d8f9092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061230d575060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6123215761231c858486612f81565b612323565b825b90506123758160065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242f90919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612413919061340d565b60405180910390a360019150505b9392505050565b5f33905090565b5f80828461243d9190613e14565b905083811015612482576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247990613f1f565b60405180910390fd5b8091505092915050565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b9328006124d86011546124ca60135460105461254790919063ffffffff16565b6125be90919063ffffffff16565b6125036011546124f560125460105461254790919063ffffffff16565b6125be90919063ffffffff16565b61252e60115461252060145460105461254790919063ffffffff16565b6125be90919063ffffffff16565b60405161253d93929190613f3d565b60405180910390a1565b5f808303612557575f90506125b8565b5f82846125649190613aca565b90508284826125739190613b38565b146125b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125aa90613fe2565b60405180910390fd5b809150505b92915050565b5f6125ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613394565b905092915050565b5f61264883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d8f565b905092915050565b5f6126d8826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d8f9092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506127698260065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242f90919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612807919061340d565b60405180910390a3600190509392505050565b600454811115806128715750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6128b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128a79061404a565b60405180910390fd5b5050565b5f601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561291e575060205f9054906101000a900460ff16155b80156129365750601e60159054906101000a900460ff165b80156129815750601f5460065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b905090565b600160205f6101000a81548160ff0219169083151502179055505f6129af601a54601b54611a2f565b6129bb57600b546129bd565b5f5b90505f6129fc60026129ee6010546129e086601f5461254790919063ffffffff16565b6125be90919063ffffffff16565b6125be90919063ffffffff16565b90505f612a1482601f5461260790919063ffffffff16565b90505f600267ffffffffffffffff811115612a3257612a31614068565b5b604051908082528060200260200182016040528015612a605781602001602082028036833780820191505090505b50905030815f81518110612a7757612a76613c50565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612ae757612ae6613c50565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f479050601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8530426040518663ffffffff1660e01b8152600401612b87959493929190614185565b5f604051808303815f87803b158015612b9e575f80fd5b505af1158015612bb0573d5f803e3d5ffd5b505050505f612bc8824761260790919063ffffffff16565b90505f612bf3612be26002896125be90919063ffffffff16565b60105461260790919063ffffffff16565b90505f612c2e6002612c2084612c128c8861254790919063ffffffff16565b6125be90919063ffffffff16565b6125be90919063ffffffff16565b90505f612c5883612c4a600c548761254790919063ffffffff16565b6125be90919063ffffffff16565b90505f612c8284612c74600e548861254790919063ffffffff16565b6125be90919063ffffffff16565b90505f612cac85612c9e600d548961254790919063ffffffff16565b6125be90919063ffffffff16565b90505f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051612cf49061420a565b5f6040518083038185875af1925050503d805f8114612d2e576040519150601f19603f3d011682016040523d82523d5f602084013e612d33565b606091505b5050905060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612d7c9061420a565b5f6040518083038185875af1925050503d805f8114612db6576040519150601f19603f3d011682016040523d82523d5f602084013e612dbb565b606091505b50508091505060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051612e069061420a565b5f6040518083038185875af1925050503d805f8114612e40576040519150601f19603f3d011682016040523d82523d5f602084013e612e45565b606091505b5050809150505f90505f8b1115612f5a57601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71986308e5f8060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612edc9695949392919061421e565b60606040518083038185885af1158015612ef8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190612f1d919061427d565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506858c604051612f519291906142cd565b60405180910390a15b5050505050505050505050505f60205f6101000a81548160ff021916908315150217905550565b5f806014549050601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612fe6576012549050613095565b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361309457601354905060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561309357601490505b5b5b5f6130de6103e86011546130a99190613aca565b6130d0846130c26010548a61254790919063ffffffff16565b61254790919063ffffffff16565b6125be90919063ffffffff16565b90505f61310a6010546130fc600f548561254790919063ffffffff16565b6125be90919063ffffffff16565b90505f613120828461260790919063ffffffff16565b90506131728160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242f90919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506132248260065f60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242f90919063ffffffff16565b60065f60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132e3919061340d565b60405180910390a35f821115613374576133088260035461260790919063ffffffff16565b6003819055505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161336b919061340d565b60405180910390a35b613387838861260790919063ffffffff16565b9450505050509392505050565b5f80831182906133da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133d191906134b0565b60405180910390fd5b505f83856133e89190613b38565b9050809150509392505050565b5f819050919050565b613407816133f5565b82525050565b5f6020820190506134205f8301846133fe565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561345d578082015181840152602081019050613442565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61348282613426565b61348c8185613430565b935061349c818560208601613440565b6134a581613468565b840191505092915050565b5f6020820190508181035f8301526134c88184613478565b905092915050565b5f8115159050919050565b6134e4816134d0565b82525050565b5f6020820190506134fd5f8301846134db565b92915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6135348261350b565b9050919050565b6135448161352a565b811461354e575f80fd5b50565b5f8135905061355f8161353b565b92915050565b61356e816133f5565b8114613578575f80fd5b50565b5f8135905061358981613565565b92915050565b5f80604083850312156135a5576135a4613503565b5b5f6135b285828601613551565b92505060206135c38582860161357b565b9150509250929050565b5f805f606084860312156135e4576135e3613503565b5b5f6135f186828701613551565b935050602061360286828701613551565b92505060406136138682870161357b565b9150509250925092565b5f805f805f8060c0878903121561363757613636613503565b5b5f61364489828a0161357b565b965050602061365589828a0161357b565b955050604061366689828a0161357b565b945050606061367789828a0161357b565b935050608061368889828a0161357b565b92505060a061369989828a0161357b565b9150509295509295509295565b5f602082840312156136bb576136ba613503565b5b5f6136c88482850161357b565b91505092915050565b5f60ff82169050919050565b6136e6816136d1565b82525050565b5f6020820190506136ff5f8301846136dd565b92915050565b5f6020828403121561371a57613719613503565b5b5f61372784828501613551565b91505092915050565b5f805f805f60a0868803121561374957613748613503565b5b5f61375688828901613551565b955050602061376788828901613551565b945050604061377888828901613551565b935050606061378988828901613551565b925050608061379a88828901613551565b9150509295509295909350565b6137b08161352a565b82525050565b5f6020820190506137c95f8301846137a7565b92915050565b5f805f606084860312156137e6576137e5613503565b5b5f6137f38682870161357b565b93505060206138048682870161357b565b92505060406138158682870161357b565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126138405761383f61381f565b5b8235905067ffffffffffffffff81111561385d5761385c613823565b5b60208301915083602082028301111561387957613878613827565b5b9250929050565b613889816134d0565b8114613893575f80fd5b50565b5f813590506138a481613880565b92915050565b5f805f604084860312156138c1576138c0613503565b5b5f84013567ffffffffffffffff8111156138de576138dd613507565b5b6138ea8682870161382b565b935093505060206138fd86828701613896565b9150509250925092565b5f806040838503121561391d5761391c613503565b5b5f61392a85828601613551565b925050602061393b85828601613551565b9150509250929050565b5f806040838503121561395b5761395a613503565b5b5f6139688582860161357b565b92505060206139798582860161357b565b9150509250929050565b5f806040838503121561399957613998613503565b5b5f6139a685828601613896565b92505060206139b78582860161357b565b9150509250929050565b5f819050919050565b5f6139e46139df6139da8461350b565b6139c1565b61350b565b9050919050565b5f6139f5826139ca565b9050919050565b5f613a06826139eb565b9050919050565b613a16816139fc565b82525050565b5f602082019050613a2f5f830184613a0d565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a69602083613430565b9150613a7482613a35565b602082019050919050565b5f6020820190508181035f830152613a9681613a5d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613ad4826133f5565b9150613adf836133f5565b9250828202613aed816133f5565b91508282048414831517613b0457613b03613a9d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613b42826133f5565b9150613b4d836133f5565b925082613b5d57613b5c613b0b565b5b828204905092915050565b5f81519050613b7681613565565b92915050565b5f60208284031215613b9157613b90613503565b5b5f613b9e84828501613b68565b91505092915050565b5f604082019050613bba5f8301856137a7565b613bc760208301846133fe565b9392505050565b5f81519050613bdc81613880565b92915050565b5f60208284031215613bf757613bf6613503565b5b5f613c0484828501613bce565b91505092915050565b5f608082019050613c205f8301876137a7565b613c2d60208301866137a7565b613c3a60408301856137a7565b613c4760608301846137a7565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f613c87826133f5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613cb957613cb8613a9d565b5b600182019050919050565b5f604082019050613cd75f8301856133fe565b613ce460208301846134db565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613d45602683613430565b9150613d5082613ceb565b604082019050919050565b5f6020820190508181035f830152613d7281613d39565b9050919050565b5f613d83826133f5565b9150613d8e836133f5565b9250828203905081811115613da657613da5613a9d565b5b92915050565b7f54726164696e67206e6f74206f70656e207965740000000000000000000000005f82015250565b5f613de0601483613430565b9150613deb82613dac565b602082019050919050565b5f6020820190508181035f830152613e0d81613dd4565b9050919050565b5f613e1e826133f5565b9150613e29836133f5565b9250828201905080821115613e4157613e40613a9d565b5b92915050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d69745f8201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000602082015250565b5f613ea1603e83613430565b9150613eac82613e47565b604082019050919050565b5f6020820190508181035f830152613ece81613e95565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613f09601b83613430565b9150613f1482613ed5565b602082019050919050565b5f6020820190508181035f830152613f3681613efd565b9050919050565b5f606082019050613f505f8301866136dd565b613f5d60208301856136dd565b613f6a60408301846136dd565b949350505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613fcc602183613430565b9150613fd782613f72565b604082019050919050565b5f6020820190508181035f830152613ff981613fc0565b9050919050565b7f5458204c696d69742045786365656465640000000000000000000000000000005f82015250565b5f614034601183613430565b915061403f82614000565b602082019050919050565b5f6020820190508181035f83015261406181614028565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f819050919050565b5f6140b86140b36140ae84614095565b6139c1565b6133f5565b9050919050565b6140c88161409e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6141008161352a565b82525050565b5f61411183836140f7565b60208301905092915050565b5f602082019050919050565b5f614133826140ce565b61413d81856140d8565b9350614148836140e8565b805f5b8381101561417857815161415f8882614106565b975061416a8361411d565b92505060018101905061414b565b5085935050505092915050565b5f60a0820190506141985f8301886133fe565b6141a560208301876140bf565b81810360408301526141b78186614129565b90506141c660608301856137a7565b6141d360808301846133fe565b9695505050505050565b5f81905092915050565b50565b5f6141f55f836141dd565b9150614200826141e7565b5f82019050919050565b5f614214826141ea565b9150819050919050565b5f60c0820190506142315f8301896137a7565b61423e60208301886133fe565b61424b60408301876140bf565b61425860608301866140bf565b61426560808301856137a7565b61427260a08301846133fe565b979650505050505050565b5f805f6060848603121561429457614293613503565b5b5f6142a186828701613b68565b93505060206142b286828701613b68565b92505060406142c386828701613b68565b9150509250925092565b5f6040820190506142e05f8301856133fe565b6142ed60208301846133fe565b939250505056fea2646970667358221220010aa4fe4267da0b361b3ddd38b243c662df5d4d6e980ad9600080caa059d26d64736f6c63430008140033
Deployed Bytecode
0x60806040526004361061021d575f3560e01c806377b54bad11610122578063a9059cbb116100aa578063ded1e4381161006e578063ded1e4381461079e578063df20fd49146107da578063f2fde38b14610802578063f42938901461082a578063f887ea401461084057610224565b8063a9059cbb146106ac578063b2bdfa7b146106e8578063c0cbdea414610712578063c6bb9bd41461073a578063dd62ed3e1461076257610224565b8063893d20e8116100f1578063893d20e8146105ee5780638da5cb5b1461061857806395d89b4114610642578063a70419d21461066c578063a8aa1b311461068257610224565b806377b54bad1461053657806378109e54146105725780637d1db4a51461059c57806382528791146105c657610224565b806330c9a6a0116101a55780635d83e1d5116101745780635d83e1d51461047c5780636ddd1713146104a457806370a08231146104ce578063715018a61461050a578063751039fc1461052057610224565b806330c9a6a0146103b0578063313ce567146103ec5780635526566914610416578063571ac8b01461044057610224565b806318160ddd116101ec57806318160ddd146102e25780631df4ccfc1461030c57806323b872dd14610336578063282c874914610372578063293230b81461039a57610224565b80630445b6671461022857806306fdde031461025257806308fd3d051461027c578063095ea7b3146102a657610224565b3661022457005b5f80fd5b348015610233575f80fd5b5061023c61086a565b604051610249919061340d565b60405180910390f35b34801561025d575f80fd5b50610266610870565b60405161027391906134b0565b60405180910390f35b348015610287575f80fd5b506102906108ad565b60405161029d91906134ea565b60405180910390f35b3480156102b1575f80fd5b506102cc60048036038101906102c7919061358f565b6108c0565b6040516102d991906134ea565b60405180910390f35b3480156102ed575f80fd5b506102f66109ad565b604051610303919061340d565b60405180910390f35b348015610317575f80fd5b506103206109b6565b60405161032d919061340d565b60405180910390f35b348015610341575f80fd5b5061035c600480360381019061035791906135cd565b6109bc565b60405161036991906134ea565b60405180910390f35b34801561037d575f80fd5b506103986004803603810190610393919061361d565b610baf565b005b3480156103a5575f80fd5b506103ae610ccc565b005b3480156103bb575f80fd5b506103d660048036038101906103d191906136a6565b610d7d565b6040516103e3919061340d565b60405180910390f35b3480156103f7575f80fd5b50610400610ded565b60405161040d91906136ec565b60405180910390f35b348015610421575f80fd5b5061042a610df5565b604051610437919061340d565b60405180910390f35b34801561044b575f80fd5b5061046660048036038101906104619190613705565b610e34565b60405161047391906134ea565b60405180910390f35b348015610487575f80fd5b506104a2600480360381019061049d91906136a6565b610e66565b005b3480156104af575f80fd5b506104b8610f64565b6040516104c591906134ea565b60405180910390f35b3480156104d9575f80fd5b506104f460048036038101906104ef9190613705565b610f77565b604051610501919061340d565b60405180910390f35b348015610515575f80fd5b5061051e610fbd565b005b34801561052b575f80fd5b5061053461110b565b005b348015610541575f80fd5b5061055c6004803603810190610557919061358f565b6111b3565b60405161056991906134ea565b60405180910390f35b34801561057d575f80fd5b506105866113a7565b604051610593919061340d565b60405180910390f35b3480156105a7575f80fd5b506105b06113ad565b6040516105bd919061340d565b60405180910390f35b3480156105d1575f80fd5b506105ec60048036038101906105e79190613730565b6113b3565b005b3480156105f9575f80fd5b5061060261164f565b60405161060f91906137b6565b60405180910390f35b348015610623575f80fd5b5061062c61165d565b60405161063991906137b6565b60405180910390f35b34801561064d575f80fd5b50610656611684565b60405161066391906134b0565b60405180910390f35b348015610677575f80fd5b506106806116c1565b005b34801561068d575f80fd5b5061069661176e565b6040516106a391906137b6565b60405180910390f35b3480156106b7575f80fd5b506106d260048036038101906106cd919061358f565b611793565b6040516106df91906134ea565b60405180910390f35b3480156106f3575f80fd5b506106fc6117a7565b60405161070991906137b6565b60405180910390f35b34801561071d575f80fd5b50610738600480360381019061073391906137cf565b6117ca565b005b348015610745575f80fd5b50610760600480360381019061075b91906138aa565b611878565b005b34801561076d575f80fd5b5061078860048036038101906107839190613907565b6119ad565b604051610795919061340d565b60405180910390f35b3480156107a9575f80fd5b506107c460048036038101906107bf9190613945565b611a2f565b6040516107d191906134ea565b60405180910390f35b3480156107e5575f80fd5b5061080060048036038101906107fb9190613983565b611a43565b005b34801561080d575f80fd5b5061082860048036038101906108239190613705565b611b46565b005b348015610835575f80fd5b5061083e611d03565b005b34801561084b575f80fd5b50610854611d6a565b6040516108619190613a1c565b60405180910390f35b601f5481565b60606040518060400160405280600581526020017f454e524f4e000000000000000000000000000000000000000000000000000000815250905090565b601e60149054906101000a900460ff1681565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161099b919061340d565b60405180910390a36001905092915050565b5f600354905090565b60105481565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414610b9b57610b1e826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e63650000000000000000000081525060075f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d8f9092919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b610ba6848484611df1565b90509392505050565b610bb7612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90613a7f565b60405180910390fd5b85600b8190555084600e8190555083600c8190555082600d8190555081600f81905550610caf82610ca185610c9388610c858b8d61242f90919063ffffffff16565b61242f90919063ffffffff16565b61242f90919063ffffffff16565b61242f90919063ffffffff16565b60108190555080601181905550610cc461248c565b505050505050565b610cd4612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5790613a7f565b60405180910390fd5b6001601e60146101000a81548160ff021916908315150217905550565b5f610de6610d89610df5565b610dd8610dc96002610dbb601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f77565b61254790919063ffffffff16565b8561254790919063ffffffff16565b6125be90919063ffffffff16565b9050919050565b5f6012905090565b5f610e2f610e025f610f77565b610e21610e1061dead610f77565b60035461260790919063ffffffff16565b61260790919063ffffffff16565b905090565b5f610e5f827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108c0565b9050919050565b610e6e612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef190613a7f565b60405180910390fd5b6001811015610f07575f80fd5b6103e881600354610f189190613aca565b610f229190613b38565b6005819055507f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be51600554604051610f59919061340d565b60405180910390a150565b601e60159054906101000a900460ff1681565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610fc5612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890613a7f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611113612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461119f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119690613a7f565b60405180910390fd5b600354600481905550600354600581905550565b5f6111bc612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611248576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123f90613a7f565b60405180910390fd5b5f82036112ca578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161128891906137b6565b602060405180830381865afa1580156112a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c79190613b7c565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f83836040516112fb929190613ba7565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040161135f929190613ba7565b6020604051808303815f875af115801561137b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061139f9190613be2565b905092915050565b60055481565b60045481565b6113bb612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143e90613a7f565b60405180910390fd5b8460155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160195f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b1560165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516116409493929190613c0d565b60405180910390a15050505050565b5f61165861165d565b905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f454e524f4e000000000000000000000000000000000000000000000000000000815250905090565b6116c9612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174c90613a7f565b60405180910390fd5b601460138190555060146012819055505f601481905550565b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61179f338484611df1565b905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117d2612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461185e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185590613a7f565b60405180910390fd5b816012819055508260138190555080601481905550505050565b611880612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461190c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190390613a7f565b60405180910390fd5b5f5b838390508110156119a7578160085f8686858181106119305761192f613c50565b5b90506020020160208101906119459190613705565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061199f90613c7d565b91505061190e565b50505050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f82611a3a83610d7d565b11905092915050565b611a4b612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ad7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ace90613a7f565b60405180910390fd5b81601e60156101000a81548160ff02191690831515021790555080601f819055507f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60601f54601e60159054906101000a900460ff16604051611b3a929190613cc4565b60405180910390a15050565b611b4e612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd190613a7f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3f90613d5b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611d67573d5f803e3d5ffd5b50565b601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f838311158290611dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcd91906134b0565b60405180910390fd5b505f8385611de49190613d79565b9050809150509392505050565b5f60205f9054906101000a900460ff1615611e1857611e11848484612650565b9050612421565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611eb6575060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f0b57601e60149054906101000a900460ff16611f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0190613df6565b60405180910390fd5b5b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611f8e57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611fc8575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120215750601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561207a575060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120d3575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156121265750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612189575f61213584610f77565b905060055483826121469190613e14565b1115612187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217e90613eb7565b60405180910390fd5b505b612193848361281a565b61219b6128b4565b156121a9576121a8612986565b5b612230826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d8f9092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061230d575060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6123215761231c858486612f81565b612323565b825b90506123758160065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242f90919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612413919061340d565b60405180910390a360019150505b9392505050565b5f33905090565b5f80828461243d9190613e14565b905083811015612482576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247990613f1f565b60405180910390fd5b8091505092915050565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b9328006124d86011546124ca60135460105461254790919063ffffffff16565b6125be90919063ffffffff16565b6125036011546124f560125460105461254790919063ffffffff16565b6125be90919063ffffffff16565b61252e60115461252060145460105461254790919063ffffffff16565b6125be90919063ffffffff16565b60405161253d93929190613f3d565b60405180910390a1565b5f808303612557575f90506125b8565b5f82846125649190613aca565b90508284826125739190613b38565b146125b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125aa90613fe2565b60405180910390fd5b809150505b92915050565b5f6125ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613394565b905092915050565b5f61264883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d8f565b905092915050565b5f6126d8826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d8f9092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506127698260065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242f90919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612807919061340d565b60405180910390a3600190509392505050565b600454811115806128715750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6128b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128a79061404a565b60405180910390fd5b5050565b5f601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561291e575060205f9054906101000a900460ff16155b80156129365750601e60159054906101000a900460ff165b80156129815750601f5460065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b905090565b600160205f6101000a81548160ff0219169083151502179055505f6129af601a54601b54611a2f565b6129bb57600b546129bd565b5f5b90505f6129fc60026129ee6010546129e086601f5461254790919063ffffffff16565b6125be90919063ffffffff16565b6125be90919063ffffffff16565b90505f612a1482601f5461260790919063ffffffff16565b90505f600267ffffffffffffffff811115612a3257612a31614068565b5b604051908082528060200260200182016040528015612a605781602001602082028036833780820191505090505b50905030815f81518110612a7757612a76613c50565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612ae757612ae6613c50565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f479050601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8530426040518663ffffffff1660e01b8152600401612b87959493929190614185565b5f604051808303815f87803b158015612b9e575f80fd5b505af1158015612bb0573d5f803e3d5ffd5b505050505f612bc8824761260790919063ffffffff16565b90505f612bf3612be26002896125be90919063ffffffff16565b60105461260790919063ffffffff16565b90505f612c2e6002612c2084612c128c8861254790919063ffffffff16565b6125be90919063ffffffff16565b6125be90919063ffffffff16565b90505f612c5883612c4a600c548761254790919063ffffffff16565b6125be90919063ffffffff16565b90505f612c8284612c74600e548861254790919063ffffffff16565b6125be90919063ffffffff16565b90505f612cac85612c9e600d548961254790919063ffffffff16565b6125be90919063ffffffff16565b90505f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051612cf49061420a565b5f6040518083038185875af1925050503d805f8114612d2e576040519150601f19603f3d011682016040523d82523d5f602084013e612d33565b606091505b5050905060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612d7c9061420a565b5f6040518083038185875af1925050503d805f8114612db6576040519150601f19603f3d011682016040523d82523d5f602084013e612dbb565b606091505b50508091505060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051612e069061420a565b5f6040518083038185875af1925050503d805f8114612e40576040519150601f19603f3d011682016040523d82523d5f602084013e612e45565b606091505b5050809150505f90505f8b1115612f5a57601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71986308e5f8060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612edc9695949392919061421e565b60606040518083038185885af1158015612ef8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190612f1d919061427d565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506858c604051612f519291906142cd565b60405180910390a15b5050505050505050505050505f60205f6101000a81548160ff021916908315150217905550565b5f806014549050601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612fe6576012549050613095565b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361309457601354905060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561309357601490505b5b5b5f6130de6103e86011546130a99190613aca565b6130d0846130c26010548a61254790919063ffffffff16565b61254790919063ffffffff16565b6125be90919063ffffffff16565b90505f61310a6010546130fc600f548561254790919063ffffffff16565b6125be90919063ffffffff16565b90505f613120828461260790919063ffffffff16565b90506131728160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242f90919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506132248260065f60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242f90919063ffffffff16565b60065f60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132e3919061340d565b60405180910390a35f821115613374576133088260035461260790919063ffffffff16565b6003819055505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161336b919061340d565b60405180910390a35b613387838861260790919063ffffffff16565b9450505050509392505050565b5f80831182906133da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133d191906134b0565b60405180910390fd5b505f83856133e89190613b38565b9050809150509392505050565b5f819050919050565b613407816133f5565b82525050565b5f6020820190506134205f8301846133fe565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561345d578082015181840152602081019050613442565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61348282613426565b61348c8185613430565b935061349c818560208601613440565b6134a581613468565b840191505092915050565b5f6020820190508181035f8301526134c88184613478565b905092915050565b5f8115159050919050565b6134e4816134d0565b82525050565b5f6020820190506134fd5f8301846134db565b92915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6135348261350b565b9050919050565b6135448161352a565b811461354e575f80fd5b50565b5f8135905061355f8161353b565b92915050565b61356e816133f5565b8114613578575f80fd5b50565b5f8135905061358981613565565b92915050565b5f80604083850312156135a5576135a4613503565b5b5f6135b285828601613551565b92505060206135c38582860161357b565b9150509250929050565b5f805f606084860312156135e4576135e3613503565b5b5f6135f186828701613551565b935050602061360286828701613551565b92505060406136138682870161357b565b9150509250925092565b5f805f805f8060c0878903121561363757613636613503565b5b5f61364489828a0161357b565b965050602061365589828a0161357b565b955050604061366689828a0161357b565b945050606061367789828a0161357b565b935050608061368889828a0161357b565b92505060a061369989828a0161357b565b9150509295509295509295565b5f602082840312156136bb576136ba613503565b5b5f6136c88482850161357b565b91505092915050565b5f60ff82169050919050565b6136e6816136d1565b82525050565b5f6020820190506136ff5f8301846136dd565b92915050565b5f6020828403121561371a57613719613503565b5b5f61372784828501613551565b91505092915050565b5f805f805f60a0868803121561374957613748613503565b5b5f61375688828901613551565b955050602061376788828901613551565b945050604061377888828901613551565b935050606061378988828901613551565b925050608061379a88828901613551565b9150509295509295909350565b6137b08161352a565b82525050565b5f6020820190506137c95f8301846137a7565b92915050565b5f805f606084860312156137e6576137e5613503565b5b5f6137f38682870161357b565b93505060206138048682870161357b565b92505060406138158682870161357b565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126138405761383f61381f565b5b8235905067ffffffffffffffff81111561385d5761385c613823565b5b60208301915083602082028301111561387957613878613827565b5b9250929050565b613889816134d0565b8114613893575f80fd5b50565b5f813590506138a481613880565b92915050565b5f805f604084860312156138c1576138c0613503565b5b5f84013567ffffffffffffffff8111156138de576138dd613507565b5b6138ea8682870161382b565b935093505060206138fd86828701613896565b9150509250925092565b5f806040838503121561391d5761391c613503565b5b5f61392a85828601613551565b925050602061393b85828601613551565b9150509250929050565b5f806040838503121561395b5761395a613503565b5b5f6139688582860161357b565b92505060206139798582860161357b565b9150509250929050565b5f806040838503121561399957613998613503565b5b5f6139a685828601613896565b92505060206139b78582860161357b565b9150509250929050565b5f819050919050565b5f6139e46139df6139da8461350b565b6139c1565b61350b565b9050919050565b5f6139f5826139ca565b9050919050565b5f613a06826139eb565b9050919050565b613a16816139fc565b82525050565b5f602082019050613a2f5f830184613a0d565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a69602083613430565b9150613a7482613a35565b602082019050919050565b5f6020820190508181035f830152613a9681613a5d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613ad4826133f5565b9150613adf836133f5565b9250828202613aed816133f5565b91508282048414831517613b0457613b03613a9d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613b42826133f5565b9150613b4d836133f5565b925082613b5d57613b5c613b0b565b5b828204905092915050565b5f81519050613b7681613565565b92915050565b5f60208284031215613b9157613b90613503565b5b5f613b9e84828501613b68565b91505092915050565b5f604082019050613bba5f8301856137a7565b613bc760208301846133fe565b9392505050565b5f81519050613bdc81613880565b92915050565b5f60208284031215613bf757613bf6613503565b5b5f613c0484828501613bce565b91505092915050565b5f608082019050613c205f8301876137a7565b613c2d60208301866137a7565b613c3a60408301856137a7565b613c4760608301846137a7565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f613c87826133f5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613cb957613cb8613a9d565b5b600182019050919050565b5f604082019050613cd75f8301856133fe565b613ce460208301846134db565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613d45602683613430565b9150613d5082613ceb565b604082019050919050565b5f6020820190508181035f830152613d7281613d39565b9050919050565b5f613d83826133f5565b9150613d8e836133f5565b9250828203905081811115613da657613da5613a9d565b5b92915050565b7f54726164696e67206e6f74206f70656e207965740000000000000000000000005f82015250565b5f613de0601483613430565b9150613deb82613dac565b602082019050919050565b5f6020820190508181035f830152613e0d81613dd4565b9050919050565b5f613e1e826133f5565b9150613e29836133f5565b9250828201905080821115613e4157613e40613a9d565b5b92915050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d69745f8201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000602082015250565b5f613ea1603e83613430565b9150613eac82613e47565b604082019050919050565b5f6020820190508181035f830152613ece81613e95565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613f09601b83613430565b9150613f1482613ed5565b602082019050919050565b5f6020820190508181035f830152613f3681613efd565b9050919050565b5f606082019050613f505f8301866136dd565b613f5d60208301856136dd565b613f6a60408301846136dd565b949350505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613fcc602183613430565b9150613fd782613f72565b604082019050919050565b5f6020820190508181035f830152613ff981613fc0565b9050919050565b7f5458204c696d69742045786365656465640000000000000000000000000000005f82015250565b5f614034601183613430565b915061403f82614000565b602082019050919050565b5f6020820190508181035f83015261406181614028565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f819050919050565b5f6140b86140b36140ae84614095565b6139c1565b6133f5565b9050919050565b6140c88161409e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6141008161352a565b82525050565b5f61411183836140f7565b60208301905092915050565b5f602082019050919050565b5f614133826140ce565b61413d81856140d8565b9350614148836140e8565b805f5b8381101561417857815161415f8882614106565b975061416a8361411d565b92505060018101905061414b565b5085935050505092915050565b5f60a0820190506141985f8301886133fe565b6141a560208301876140bf565b81810360408301526141b78186614129565b90506141c660608301856137a7565b6141d360808301846133fe565b9695505050505050565b5f81905092915050565b50565b5f6141f55f836141dd565b9150614200826141e7565b5f82019050919050565b5f614214826141ea565b9150819050919050565b5f60c0820190506142315f8301896137a7565b61423e60208301886133fe565b61424b60408301876140bf565b61425860608301866140bf565b61426560808301856137a7565b61427260a08301846133fe565b979650505050505050565b5f805f6060848603121561429457614293613503565b5b5f6142a186828701613b68565b93505060206142b286828701613b68565b92505060406142c386828701613b68565b9150509250925092565b5f6040820190506142e05f8301856133fe565b6142ed60208301846133fe565b939250505056fea2646970667358221220010aa4fe4267da0b361b3ddd38b243c662df5d4d6e980ad9600080caa059d26d64736f6c63430008140033
Deployed Bytecode Sourcemap
5096:14056:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7491:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9131:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7408:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9553:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8861:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6748:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10071:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17207:508;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14810:81;;;;;;;;;;;;;:::i;:::-;;18856:149;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8955:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19017:132;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9777:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10449:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7454:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9301:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2010:148;;;;;;;;;;;;;:::i;:::-;;10706:139;;;;;;;;;;;;;:::i;:::-;;14187:343;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6207:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6142:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17728:547;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9217:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1796:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9041:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14899:129;;;;;;;;;;;;;:::i;:::-;;7376:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9907:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1416:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14538:257;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18502:203;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9412:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18713:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18283:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2166:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14048:132;;;;;;;;;;;;;:::i;:::-;;7306:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7491:50;;;;:::o;9131:80::-;9179:13;9203:5;;;;;;;;;;;;;;;;;9196:12;;9131:80;:::o;7408:31::-;;;;;;;;;;;;;:::o;9553:216::-;9628:4;9680:6;9645:11;:23;9657:10;9645:23;;;;;;;;;;;;;;;:32;9669:7;9645:32;;;;;;;;;;;;;;;:41;;;;9723:7;9702:37;;9711:10;9702:37;;;9732:6;9702:37;;;;;;:::i;:::-;;;;;;;;9757:4;9750:11;;9553:216;;;;:::o;8861:88::-;8916:7;8934:12;;8927:19;;8861:88;:::o;6748:93::-;;;;:::o;10071:370::-;10171:4;10226:17;10191:11;:19;10203:6;10191:19;;;;;;;;;;;;;;;:31;10211:10;10191:31;;;;;;;;;;;;;;;;:52;10188:186;;10293:69;10329:6;10293:69;;;;;;;;;;;;;;;;;:11;:19;10305:6;10293:19;;;;;;;;;;;;;;;:31;10313:10;10293:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;10259:11;:19;10271:6;10259:19;;;;;;;;;;;;;;;:31;10279:10;10259:31;;;;;;;;;;;;;;;:103;;;;10188:186;10393:40;10407:6;10415:9;10426:6;10393:13;:40::i;:::-;10386:47;;10071:370;;;;;:::o;17207:508::-;1933:12;:10;:12::i;:::-;1923:22;;:6;;;;;;;;;;:22;;;1915:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17402:13:::1;17387:12;:28;;;;17439:11;17426:10;:24;;;;17476:13;17461:12;:28;;;;17509:7;17500:6;:16;;;;17537:8;17527:7;:18;;;;17567:76;17634:8;17567:62;17621:7;17567:49;17602:13;17567:30;17585:11;17567:13;:17;;:30;;;;:::i;:::-;:34;;:49;;;;:::i;:::-;:53;;:62;;;;:::i;:::-;:66;;:76;;;;:::i;:::-;17556:8;:87;;;;17671:15;17654:14;:32;;;;17697:10;:8;:10::i;:::-;17207:508:::0;;;;;;:::o;14810:81::-;1933:12;:10;:12::i;:::-;1923:22;;:6;;;;;;;;;;:22;;;1915:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14876:4:::1;14862:11;;:18;;;;;;;;;;;;;;;;;;14810:81::o:0;18856:149::-;18916:7;18943:54;18984:12;:10;:12::i;:::-;18943:36;18956:22;18976:1;18956:15;18966:4;;;;;;;;;;;18956:9;:15::i;:::-;:19;;:22;;;;:::i;:::-;18943:8;:12;;:36;;;;:::i;:::-;:40;;:54;;;;:::i;:::-;18936:61;;18856:149;;;:::o;8955:80::-;9007:5;5449:2;9016:16;;8955:80;:::o;19017:132::-;19060:7;19087:54;19125:15;5287:42;19125:9;:15::i;:::-;19087:33;19104:15;5214:42;19104:9;:15::i;:::-;19087:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;19080:61;;19017:132;:::o;9777:122::-;9832:4;9856:35;9864:7;9873:17;9856:7;:35::i;:::-;9849:42;;9777:122;;;:::o;10449:247::-;1933:12;:10;:12::i;:::-;1923:22;;:6;;;;;;;;;;:22;;;1915:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10553:1:::1;10535:14;:19;;10527:28;;;::::0;::::1;;10620:4;10601:14;10586:12;;:29;;;;:::i;:::-;10585:39;;;;:::i;:::-;10567:15;:57;;;;10640:30;10654:15;;10640:30;;;;;;:::i;:::-;;;;;;;;10449:247:::0;:::o;7454:30::-;;;;;;;;;;;;;:::o;9301:105::-;9367:7;9385:9;:18;9395:7;9385:18;;;;;;;;;;;;;;;;9378:25;;9301:105;;;:::o;2010:148::-;1933:12;:10;:12::i;:::-;1923:22;;:6;;;;;;;;;;:22;;;1915:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2117:1:::1;2080:40;;2101:6;::::0;::::1;;;;;;;;2080:40;;;;;;;;;;;;2148:1;2131:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2010:148::o:0;10706:139::-;1933:12;:10;:12::i;:::-;1923:22;;:6;;;;;;;;;;:22;;;1915:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10780:12:::1;;10765;:27;;;;10825:12;;10807:15;:30;;;;10706:139::o:0;14187:343::-;14278:12;1933;:10;:12::i;:::-;1923:22;;:6;;;;;;;;;;:22;;;1915:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14316:1:::1;14306:6;:11:::0;14303:95:::1;;14348:12;14342:29;;;14380:4;14342:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14333:53;;14303:95;14413:32;14424:12;14438:6;14413:32;;;;;;;:::i;:::-;;;;;;;;14469:12;14463:28;;;14492:21;;;;;;;;;;;14515:6;14463:59;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14456:66;;14187:343:::0;;;;:::o;6207:61::-;;;;:::o;6142:58::-;;;;:::o;17728:547::-;1933:12;:10;:12::i;:::-;1923:22;;:6;;;;;;;;;;:22;;;1915:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17945:22:::1;17921:21;;:46;;;;;;;;;;;;;;;;;;18001:21;17978:20;;:44;;;;;;;;;;;;;;;;;;18050:15;18033:14;;:32;;;;;;;;;;;;;;;;;;18094:16;18076:15;;:34;;;;;;;;;;;;;;;;;;18142:19;18121:18;;:40;;;;;;;;;;;;;;;;;;18179:88;18193:20;;;;;;;;;;;18215:18;;;;;;;;;;;18235:15;;;;;;;;;;;18252:14;;;;;;;;;;;18179:88;;;;;;;;;:::i;:::-;;;;;;;;17728:547:::0;;;;;:::o;9217:78::-;9269:7;9286;:5;:7::i;:::-;9279:14;;9217:78;:::o;1796:79::-;1834:7;1861:6;;;;;;;;;;;1854:13;;1796:79;:::o;9041:84::-;9091:13;9115:7;;;;;;;;;;;;;;;;;9108:14;;9041:84;:::o;14899:129::-;1933:12;:10;:12::i;:::-;1923:22;;:6;;;;;;;;;;:22;;;1915:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14961:2:::1;14948:10;:15;;;;14988:2;14974:11;:16;;;;15019:1;15001:15;:19;;;;14899:129::o:0;7376:19::-;;;;;;;;;;;;;:::o;9907:156::-;9987:4;10011:44;10025:10;10037:9;10048:6;10011:13;:44::i;:::-;10004:51;;9907:156;;;;:::o;1416:21::-;;;;;;;;;;;;:::o;14538:257::-;1933:12;:10;:12::i;:::-;1923:22;;:6;;;;;;;;;;:22;;;1915:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14676:14:::1;14662:11;:28;;;;14714:13;14701:10;:26;;;;14756:15;14738;:33;;;;14538:257:::0;;;:::o;18502:203::-;1933:12;:10;:12::i;:::-;1923:22;;:6;;;;;;;;;;:22;;;1915:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18597:9:::1;18593:105;18616:8;;:15;;18612:1;:19;18593:105;;;18678:8;18653:9;:22;18663:8;;18672:1;18663:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18653:22;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;18633:3;;;;;:::i;:::-;;;;18593:105;;;;18502:203:::0;;;:::o;9412:133::-;9496:7;9514:11;:19;9526:6;9514:19;;;;;;;;;;;;;;;:28;9534:7;9514:28;;;;;;;;;;;;;;;;9507:35;;9412:133;;;;:::o;18713:135::-;18787:4;18835:5;18811:21;18823:8;18811:11;:21::i;:::-;:29;18804:36;;18713:135;;;;:::o;18283:211::-;1933:12;:10;:12::i;:::-;1923:22;;:6;;;;;;;;;;:22;;;1915:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18388:8:::1;18374:11;;:22;;;;;;;;;;;;;;;;;;18423:7;18407:13;:23;;;;18446:40;18459:13;;18474:11;;;;;;;;;;;18446:40;;;;;;;:::i;:::-;;;;;;;;18283:211:::0;;:::o;2166:244::-;1933:12;:10;:12::i;:::-;1923:22;;:6;;;;;;;;;;:22;;;1915:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2275:1:::1;2255:22;;:8;:22;;::::0;2247:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2365:8;2336:38;;2357:6;::::0;::::1;;;;;;;;2336:38;;;;;;;;;;;;2394:8;2385:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2166:244:::0;:::o;14048:132::-;14104:21;;;;;;;;;;;14096:39;;:62;14136:21;14096:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14048:132::o;7306:24::-;;;;;;;;;;;;;:::o;4308:192::-;4394:7;4427:1;4422;:6;;4430:12;4414:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4454:9;4470:1;4466;:5;;;;:::i;:::-;4454:17;;4491:1;4484:8;;;4308:192;;;;;:::o;10861:1238::-;10953:4;10973:6;;;;;;;;;;;10970:63;;;10989:41;11004:6;11012:9;11023:6;10989:14;:41::i;:::-;10982:48;;;;10970:63;11049:14;:22;11064:6;11049:22;;;;;;;;;;;;;;;;;;;;;;;;;11048:23;:53;;;;;11076:14;:25;11091:9;11076:25;;;;;;;;;;;;;;;;;;;;;;;;;11075:26;11048:53;11045:139;;;11125:11;;;;;;;;;;;11117:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;11045:139;11226:14;:22;11241:6;11226:22;;;;;;;;;;;;;;;;;;;;;;;;;11225:23;:53;;;;;11273:4;11252:26;;:9;:26;;;;11225:53;:84;;;;;5214:42;11283:26;;:9;:26;;;;11225:84;:105;;;;;11326:4;;;;;;;;;;;11313:17;;:9;:17;;;;11225:105;:137;;;;;11347:15;;;;;;;;;;;11334:28;;:9;:28;;;;11225:137;:174;;;;;11379:20;;;;;;;;;;;11366:33;;:9;:33;;;;11225:174;:207;;;;;11404:17;:28;11422:9;11404:28;;;;;;;;;;;;;;;;;;;;;;;;;11403:29;11225:207;11221:399;;;11448:18;11469:20;11479:9;11469;:20::i;:::-;11448:41;;11537:15;;11526:6;11513:10;:19;;;;:::i;:::-;11512:40;;11504:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;11433:187;11221:399;11632:28;11645:6;11653;11632:12;:28::i;:::-;11678:16;:14;:16::i;:::-;11675:35;;;11697:10;:8;:10::i;:::-;11675:35;11740:53;11762:6;11740:53;;;;;;;;;;;;;;;;;:9;:17;11750:6;11740:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;11720:9;:17;11730:6;11720:17;;;;;;;;;;;;;;;:73;;;;11806:22;11832:16;:24;11849:6;11832:24;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;11860:16;:27;11877:9;11860:27;;;;;;;;;;;;;;;;;;;;;;;;;11832:55;11831:103;;11900:34;11908:6;11916;11924:9;11900:7;:34::i;:::-;11831:103;;;11891:6;11831:103;11806:128;;11968:40;11993:14;11968:9;:20;11978:9;11968:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;11945:9;:20;11955:9;11945:20;;;;;;;;;;;;;;;:63;;;;12043:9;12026:43;;12035:6;12026:43;;;12054:14;12026:43;;;;;;:::i;:::-;;;;;;;;12087:4;12080:11;;;10861:1238;;;;;;:::o;1137:115::-;1190:15;1233:10;1218:26;;1137:115;:::o;3979:181::-;4037:7;4057:9;4073:1;4069;:5;;;;:::i;:::-;4057:17;;4098:1;4093;:6;;4085:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4151:1;4144:8;;;3979:181;;;;:::o;16921:274::-;16974:213;16989:44;17018:14;;16989:24;17002:10;;16989:8;;:12;;:24;;;;:::i;:::-;:28;;:44;;;;:::i;:::-;17055:45;17085:14;;17055:25;17068:11;;17055:8;;:12;;:25;;;;:::i;:::-;:29;;:45;;;;:::i;:::-;17122:49;17156:14;;17122:29;17135:15;;17122:8;;:12;;:29;;;;:::i;:::-;:33;;:49;;;;:::i;:::-;16974:213;;;;;;;;:::i;:::-;;;;;;;;16921:274::o;4506:250::-;4564:7;4593:1;4588;:6;4584:47;;4618:1;4611:8;;;;4584:47;4643:9;4659:1;4655;:5;;;;:::i;:::-;4643:17;;4688:1;4683;4679;:5;;;;:::i;:::-;:10;4671:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;4747:1;4740:8;;;4506:250;;;;;:::o;4762:132::-;4820:7;4847:39;4851:1;4854;4847:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;4840:46;;4762:132;;;;:::o;4166:136::-;4224:7;4251:43;4255:1;4258;4251:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;4244:50;;4166:136;;;;:::o;12108:330::-;12201:4;12238:53;12260:6;12238:53;;;;;;;;;;;;;;;;;:9;:17;12248:6;12238:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;12218:9;:17;12228:6;12218:17;;;;;;;;;;;;;;;:73;;;;12325:32;12350:6;12325:9;:20;12335:9;12325:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;12302:9;:20;12312:9;12302:20;;;;;;;;;;;;;;;:55;;;;12390:9;12373:35;;12382:6;12373:35;;;12401:6;12373:35;;;;;;:::i;:::-;;;;;;;;12426:4;12419:11;;12108:330;;;;;:::o;12446:168::-;12543:12;;12533:6;:22;;:51;;;;12559:17;:25;12577:6;12559:25;;;;;;;;;;;;;;;;;;;;;;;;;12533:51;12525:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;12446:168;;:::o;13839:197::-;13888:4;13926;;;;;;;;;;;13912:18;;:10;:18;;;;:38;;;;;13944:6;;;;;;;;;;;13943:7;13912:38;:62;;;;;13963:11;;;;;;;;;;;13912:62;:116;;;;;14015:13;;13987:9;:24;14005:4;13987:24;;;;;;;;;;;;;;;;:41;;13912:116;13905:123;;13839:197;:::o;15051:1854::-;7598:4;7589:6;;:13;;;;;;;;;;;;;;;;;;15100:27:::1;15130:41;15141:8;;15151:19;;15130:10;:41::i;:::-;:60;;15178:12;;15130:60;;;15174:1;15130:60;15100:90;;15201:23;15227:59;15284:1;15227:52;15270:8;;15227:38;15245:19;15227:13;;:17;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;15201:85;;15297:20;15320:34;15338:15;15320:13;;:17;;:34;;;;:::i;:::-;15297:57;;15367:21;15405:1;15391:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15367:40;;15436:4;15418;15423:1;15418:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;15462:4;;;;;;;;;;;15452;15457:1;15452:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;15479:21;15503;15479:45;;15537:6;;;;;;;;;;;:57;;;15609:12;15636:1;15652:4;15679;15699:15;15537:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15738:17;15758:40;15784:13;15758:21;:25;;:40;;;;:::i;:::-;15738:60;;15811:19;15833:40;15846:26;15870:1;15846:19;:23;;:26;;;;:::i;:::-;15833:8;;:12;;:40;;;;:::i;:::-;15811:62;;15894:26;15923:58;15979:1;15923:51;15962:11;15923:34;15937:19;15923:9;:13;;:34;;;;:::i;:::-;:38;;:51;;;;:::i;:::-;:55;;:58;;;;:::i;:::-;15894:87;;15992:26;16021:44;16053:11;16021:27;16035:12;;16021:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;15992:73;;16076:24;16103:42;16133:11;16103:25;16117:10;;16103:9;:13;;:25;;;;:::i;:::-;:29;;:42;;;;:::i;:::-;16076:69;;16156:20;16179:38;16205:11;16179:21;16193:6;;16179:9;:13;;:21;;;;:::i;:::-;:25;;:38;;;;:::i;:::-;16156:61;;16231:15;16259:20;;;;;;;;;;;16251:34;;16293:18;16251:65;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16230:86;;;16351:14;;;;;;;;;;;16343:28;;16379:12;16343:53;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16327:69;;;;;16431:18;;;;;;;;;;;16423:32;;16463:16;16423:61;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16407:77;;;;;16518:5;16505:18;;16557:1;16539:15;:19;16536:362;;;16574:6;;;;;;;;;;;:22;;;16604:18;16650:4;16674:15;16708:1;16728::::0;16748:21:::1;;;;;;;;;;;16788:15;16574:244;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16838:48;16850:18;16870:15;16838:48;;;;;;;:::i;:::-;;;;;;;;16536:362;15089:1816;;;;;;;;;;;;7616:5:::0;7607:6;;:14;;;;;;;;;;;;;;;;;;15051:1854::o;12749:1082::-;12835:7;12865:15;12883;;12865:33;;12925:4;;;;;;;;;;;12912:17;;:9;:17;;;12909:241;;12956:11;;12946:21;;12909:241;;;12998:4;;;;;;;;;;;12988:14;;:6;:14;;;12985:165;;13029:10;;13019:20;;13057:9;:20;13067:9;13057:20;;;;;;;;;;;;;;;;;;;;;;;;;13054:85;;;13121:2;13111:12;;13054:85;12985:165;12909:241;13162:17;13182:60;13237:4;13220:14;;:21;;;;:::i;:::-;13182:33;13207:7;13182:20;13193:8;;13182:6;:10;;:20;;;;:::i;:::-;:24;;:33;;;;:::i;:::-;:37;;:60;;;;:::i;:::-;13162:80;;13253:18;13274:36;13301:8;;13274:22;13288:7;;13274:9;:13;;:22;;;;:::i;:::-;:26;;:36;;;;:::i;:::-;13253:57;;13321:22;13346:25;13360:10;13346:9;:13;;:25;;;;:::i;:::-;13321:50;;13409:44;13438:14;13409:9;:24;13427:4;13409:24;;;;;;;;;;;;;;;;:28;;:44;;;;:::i;:::-;13382:9;:24;13400:4;13382:24;;;;;;;;;;;;;;;:71;;;;13493:42;13524:10;13493:9;:26;13503:15;;;;;;;;;;;13493:26;;;;;;;;;;;;;;;;:30;;:42;;;;:::i;:::-;13464:9;:26;13474:15;;;;;;;;;;;13464:26;;;;;;;;;;;;;;;:71;;;;13576:4;13551:47;;13560:6;13551:47;;;13583:14;13551:47;;;;;;:::i;:::-;;;;;;;;13645:1;13632:10;:14;13629:154;;;13677:28;13694:10;13677:12;;:16;;:28;;;;:::i;:::-;13662:12;:43;;;;5287:42;13725:34;;13734:6;13725:34;;;13748:10;13725:34;;;;;;:::i;:::-;;;;;;;;13629:154;13802:21;13813:9;13802:6;:10;;:21;;;;:::i;:::-;13795:28;;;;;;12749:1082;;;;;:::o;4900:189::-;4986:7;5018:1;5014;:5;5021:12;5006:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;5045:9;5061:1;5057;:5;;;;:::i;:::-;5045:17;;5080:1;5073:8;;;4900:189;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1784:90::-;1818:7;1861:5;1854:13;1847:21;1836:32;;1784:90;;;:::o;1880:109::-;1961:21;1976:5;1961:21;:::i;:::-;1956:3;1949:34;1880:109;;:::o;1995:210::-;2082:4;2120:2;2109:9;2105:18;2097:26;;2133:65;2195:1;2184:9;2180:17;2171:6;2133:65;:::i;:::-;1995:210;;;;:::o;2292:117::-;2401:1;2398;2391:12;2415:117;2524:1;2521;2514:12;2538:126;2575:7;2615:42;2608:5;2604:54;2593:65;;2538:126;;;:::o;2670:96::-;2707:7;2736:24;2754:5;2736:24;:::i;:::-;2725:35;;2670:96;;;:::o;2772:122::-;2845:24;2863:5;2845:24;:::i;:::-;2838:5;2835:35;2825:63;;2884:1;2881;2874:12;2825:63;2772:122;:::o;2900:139::-;2946:5;2984:6;2971:20;2962:29;;3000:33;3027:5;3000:33;:::i;:::-;2900:139;;;;:::o;3045:122::-;3118:24;3136:5;3118:24;:::i;:::-;3111:5;3108:35;3098:63;;3157:1;3154;3147:12;3098:63;3045:122;:::o;3173:139::-;3219:5;3257:6;3244:20;3235:29;;3273:33;3300:5;3273:33;:::i;:::-;3173:139;;;;:::o;3318:474::-;3386:6;3394;3443:2;3431:9;3422:7;3418:23;3414:32;3411:119;;;3449:79;;:::i;:::-;3411:119;3569:1;3594:53;3639:7;3630:6;3619:9;3615:22;3594:53;:::i;:::-;3584:63;;3540:117;3696:2;3722:53;3767:7;3758:6;3747:9;3743:22;3722:53;:::i;:::-;3712:63;;3667:118;3318:474;;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:1057::-;4527:6;4535;4543;4551;4559;4567;4616:3;4604:9;4595:7;4591:23;4587:33;4584:120;;;4623:79;;:::i;:::-;4584:120;4743:1;4768:53;4813:7;4804:6;4793:9;4789:22;4768:53;:::i;:::-;4758:63;;4714:117;4870:2;4896:53;4941:7;4932:6;4921:9;4917:22;4896:53;:::i;:::-;4886:63;;4841:118;4998:2;5024:53;5069:7;5060:6;5049:9;5045:22;5024:53;:::i;:::-;5014:63;;4969:118;5126:2;5152:53;5197:7;5188:6;5177:9;5173:22;5152:53;:::i;:::-;5142:63;;5097:118;5254:3;5281:53;5326:7;5317:6;5306:9;5302:22;5281:53;:::i;:::-;5271:63;;5225:119;5383:3;5410:53;5455:7;5446:6;5435:9;5431:22;5410:53;:::i;:::-;5400:63;;5354:119;4423:1057;;;;;;;;:::o;5486:329::-;5545:6;5594:2;5582:9;5573:7;5569:23;5565:32;5562:119;;;5600:79;;:::i;:::-;5562:119;5720:1;5745:53;5790:7;5781:6;5770:9;5766:22;5745:53;:::i;:::-;5735:63;;5691:117;5486:329;;;;:::o;5821:86::-;5856:7;5896:4;5889:5;5885:16;5874:27;;5821:86;;;:::o;5913:112::-;5996:22;6012:5;5996:22;:::i;:::-;5991:3;5984:35;5913:112;;:::o;6031:214::-;6120:4;6158:2;6147:9;6143:18;6135:26;;6171:67;6235:1;6224:9;6220:17;6211:6;6171:67;:::i;:::-;6031:214;;;;:::o;6251:329::-;6310:6;6359:2;6347:9;6338:7;6334:23;6330:32;6327:119;;;6365:79;;:::i;:::-;6327:119;6485:1;6510:53;6555:7;6546:6;6535:9;6531:22;6510:53;:::i;:::-;6500:63;;6456:117;6251:329;;;;:::o;6586:911::-;6681:6;6689;6697;6705;6713;6762:3;6750:9;6741:7;6737:23;6733:33;6730:120;;;6769:79;;:::i;:::-;6730:120;6889:1;6914:53;6959:7;6950:6;6939:9;6935:22;6914:53;:::i;:::-;6904:63;;6860:117;7016:2;7042:53;7087:7;7078:6;7067:9;7063:22;7042:53;:::i;:::-;7032:63;;6987:118;7144:2;7170:53;7215:7;7206:6;7195:9;7191:22;7170:53;:::i;:::-;7160:63;;7115:118;7272:2;7298:53;7343:7;7334:6;7323:9;7319:22;7298:53;:::i;:::-;7288:63;;7243:118;7400:3;7427:53;7472:7;7463:6;7452:9;7448:22;7427:53;:::i;:::-;7417:63;;7371:119;6586:911;;;;;;;;:::o;7503:118::-;7590:24;7608:5;7590:24;:::i;:::-;7585:3;7578:37;7503:118;;:::o;7627:222::-;7720:4;7758:2;7747:9;7743:18;7735:26;;7771:71;7839:1;7828:9;7824:17;7815:6;7771:71;:::i;:::-;7627:222;;;;:::o;7855:619::-;7932:6;7940;7948;7997:2;7985:9;7976:7;7972:23;7968:32;7965:119;;;8003:79;;:::i;:::-;7965:119;8123:1;8148:53;8193:7;8184:6;8173:9;8169:22;8148:53;:::i;:::-;8138:63;;8094:117;8250:2;8276:53;8321:7;8312:6;8301:9;8297:22;8276:53;:::i;:::-;8266:63;;8221:118;8378:2;8404:53;8449:7;8440:6;8429:9;8425:22;8404:53;:::i;:::-;8394:63;;8349:118;7855:619;;;;;:::o;8480:117::-;8589:1;8586;8579:12;8603:117;8712:1;8709;8702:12;8726:117;8835:1;8832;8825:12;8866:568;8939:8;8949:6;8999:3;8992:4;8984:6;8980:17;8976:27;8966:122;;9007:79;;:::i;:::-;8966:122;9120:6;9107:20;9097:30;;9150:18;9142:6;9139:30;9136:117;;;9172:79;;:::i;:::-;9136:117;9286:4;9278:6;9274:17;9262:29;;9340:3;9332:4;9324:6;9320:17;9310:8;9306:32;9303:41;9300:128;;;9347:79;;:::i;:::-;9300:128;8866:568;;;;;:::o;9440:116::-;9510:21;9525:5;9510:21;:::i;:::-;9503:5;9500:32;9490:60;;9546:1;9543;9536:12;9490:60;9440:116;:::o;9562:133::-;9605:5;9643:6;9630:20;9621:29;;9659:30;9683:5;9659:30;:::i;:::-;9562:133;;;;:::o;9701:698::-;9793:6;9801;9809;9858:2;9846:9;9837:7;9833:23;9829:32;9826:119;;;9864:79;;:::i;:::-;9826:119;10012:1;10001:9;9997:17;9984:31;10042:18;10034:6;10031:30;10028:117;;;10064:79;;:::i;:::-;10028:117;10177:80;10249:7;10240:6;10229:9;10225:22;10177:80;:::i;:::-;10159:98;;;;9955:312;10306:2;10332:50;10374:7;10365:6;10354:9;10350:22;10332:50;:::i;:::-;10322:60;;10277:115;9701:698;;;;;:::o;10405:474::-;10473:6;10481;10530:2;10518:9;10509:7;10505:23;10501:32;10498:119;;;10536:79;;:::i;:::-;10498:119;10656:1;10681:53;10726:7;10717:6;10706:9;10702:22;10681:53;:::i;:::-;10671:63;;10627:117;10783:2;10809:53;10854:7;10845:6;10834:9;10830:22;10809:53;:::i;:::-;10799:63;;10754:118;10405:474;;;;;:::o;10885:::-;10953:6;10961;11010:2;10998:9;10989:7;10985:23;10981:32;10978:119;;;11016:79;;:::i;:::-;10978:119;11136:1;11161:53;11206:7;11197:6;11186:9;11182:22;11161:53;:::i;:::-;11151:63;;11107:117;11263:2;11289:53;11334:7;11325:6;11314:9;11310:22;11289:53;:::i;:::-;11279:63;;11234:118;10885:474;;;;;:::o;11365:468::-;11430:6;11438;11487:2;11475:9;11466:7;11462:23;11458:32;11455:119;;;11493:79;;:::i;:::-;11455:119;11613:1;11638:50;11680:7;11671:6;11660:9;11656:22;11638:50;:::i;:::-;11628:60;;11584:114;11737:2;11763:53;11808:7;11799:6;11788:9;11784:22;11763:53;:::i;:::-;11753:63;;11708:118;11365:468;;;;;:::o;11839:60::-;11867:3;11888:5;11881:12;;11839:60;;;:::o;11905:142::-;11955:9;11988:53;12006:34;12015:24;12033:5;12015:24;:::i;:::-;12006:34;:::i;:::-;11988:53;:::i;:::-;11975:66;;11905:142;;;:::o;12053:126::-;12103:9;12136:37;12167:5;12136:37;:::i;:::-;12123:50;;12053:126;;;:::o;12185:144::-;12253:9;12286:37;12317:5;12286:37;:::i;:::-;12273:50;;12185:144;;;:::o;12335:167::-;12440:55;12489:5;12440:55;:::i;:::-;12435:3;12428:68;12335:167;;:::o;12508:258::-;12619:4;12657:2;12646:9;12642:18;12634:26;;12670:89;12756:1;12745:9;12741:17;12732:6;12670:89;:::i;:::-;12508:258;;;;:::o;12772:182::-;12912:34;12908:1;12900:6;12896:14;12889:58;12772:182;:::o;12960:366::-;13102:3;13123:67;13187:2;13182:3;13123:67;:::i;:::-;13116:74;;13199:93;13288:3;13199:93;:::i;:::-;13317:2;13312:3;13308:12;13301:19;;12960:366;;;:::o;13332:419::-;13498:4;13536:2;13525:9;13521:18;13513:26;;13585:9;13579:4;13575:20;13571:1;13560:9;13556:17;13549:47;13613:131;13739:4;13613:131;:::i;:::-;13605:139;;13332:419;;;:::o;13757:180::-;13805:77;13802:1;13795:88;13902:4;13899:1;13892:15;13926:4;13923:1;13916:15;13943:410;13983:7;14006:20;14024:1;14006:20;:::i;:::-;14001:25;;14040:20;14058:1;14040:20;:::i;:::-;14035:25;;14095:1;14092;14088:9;14117:30;14135:11;14117:30;:::i;:::-;14106:41;;14296:1;14287:7;14283:15;14280:1;14277:22;14257:1;14250:9;14230:83;14207:139;;14326:18;;:::i;:::-;14207:139;13991:362;13943:410;;;;:::o;14359:180::-;14407:77;14404:1;14397:88;14504:4;14501:1;14494:15;14528:4;14525:1;14518:15;14545:185;14585:1;14602:20;14620:1;14602:20;:::i;:::-;14597:25;;14636:20;14654:1;14636:20;:::i;:::-;14631:25;;14675:1;14665:35;;14680:18;;:::i;:::-;14665:35;14722:1;14719;14715:9;14710:14;;14545:185;;;;:::o;14736:143::-;14793:5;14824:6;14818:13;14809:22;;14840:33;14867:5;14840:33;:::i;:::-;14736:143;;;;:::o;14885:351::-;14955:6;15004:2;14992:9;14983:7;14979:23;14975:32;14972:119;;;15010:79;;:::i;:::-;14972:119;15130:1;15155:64;15211:7;15202:6;15191:9;15187:22;15155:64;:::i;:::-;15145:74;;15101:128;14885:351;;;;:::o;15242:332::-;15363:4;15401:2;15390:9;15386:18;15378:26;;15414:71;15482:1;15471:9;15467:17;15458:6;15414:71;:::i;:::-;15495:72;15563:2;15552:9;15548:18;15539:6;15495:72;:::i;:::-;15242:332;;;;;:::o;15580:137::-;15634:5;15665:6;15659:13;15650:22;;15681:30;15705:5;15681:30;:::i;:::-;15580:137;;;;:::o;15723:345::-;15790:6;15839:2;15827:9;15818:7;15814:23;15810:32;15807:119;;;15845:79;;:::i;:::-;15807:119;15965:1;15990:61;16043:7;16034:6;16023:9;16019:22;15990:61;:::i;:::-;15980:71;;15936:125;15723:345;;;;:::o;16074:553::-;16251:4;16289:3;16278:9;16274:19;16266:27;;16303:71;16371:1;16360:9;16356:17;16347:6;16303:71;:::i;:::-;16384:72;16452:2;16441:9;16437:18;16428:6;16384:72;:::i;:::-;16466;16534:2;16523:9;16519:18;16510:6;16466:72;:::i;:::-;16548;16616:2;16605:9;16601:18;16592:6;16548:72;:::i;:::-;16074:553;;;;;;;:::o;16633:180::-;16681:77;16678:1;16671:88;16778:4;16775:1;16768:15;16802:4;16799:1;16792:15;16819:233;16858:3;16881:24;16899:5;16881:24;:::i;:::-;16872:33;;16927:66;16920:5;16917:77;16914:103;;16997:18;;:::i;:::-;16914:103;17044:1;17037:5;17033:13;17026:20;;16819:233;;;:::o;17058:320::-;17173:4;17211:2;17200:9;17196:18;17188:26;;17224:71;17292:1;17281:9;17277:17;17268:6;17224:71;:::i;:::-;17305:66;17367:2;17356:9;17352:18;17343:6;17305:66;:::i;:::-;17058:320;;;;;:::o;17384:225::-;17524:34;17520:1;17512:6;17508:14;17501:58;17593:8;17588:2;17580:6;17576:15;17569:33;17384:225;:::o;17615:366::-;17757:3;17778:67;17842:2;17837:3;17778:67;:::i;:::-;17771:74;;17854:93;17943:3;17854:93;:::i;:::-;17972:2;17967:3;17963:12;17956:19;;17615:366;;;:::o;17987:419::-;18153:4;18191:2;18180:9;18176:18;18168:26;;18240:9;18234:4;18230:20;18226:1;18215:9;18211:17;18204:47;18268:131;18394:4;18268:131;:::i;:::-;18260:139;;17987:419;;;:::o;18412:194::-;18452:4;18472:20;18490:1;18472:20;:::i;:::-;18467:25;;18506:20;18524:1;18506:20;:::i;:::-;18501:25;;18550:1;18547;18543:9;18535:17;;18574:1;18568:4;18565:11;18562:37;;;18579:18;;:::i;:::-;18562:37;18412:194;;;;:::o;18612:170::-;18752:22;18748:1;18740:6;18736:14;18729:46;18612:170;:::o;18788:366::-;18930:3;18951:67;19015:2;19010:3;18951:67;:::i;:::-;18944:74;;19027:93;19116:3;19027:93;:::i;:::-;19145:2;19140:3;19136:12;19129:19;;18788:366;;;:::o;19160:419::-;19326:4;19364:2;19353:9;19349:18;19341:26;;19413:9;19407:4;19403:20;19399:1;19388:9;19384:17;19377:47;19441:131;19567:4;19441:131;:::i;:::-;19433:139;;19160:419;;;:::o;19585:191::-;19625:3;19644:20;19662:1;19644:20;:::i;:::-;19639:25;;19678:20;19696:1;19678:20;:::i;:::-;19673:25;;19721:1;19718;19714:9;19707:16;;19742:3;19739:1;19736:10;19733:36;;;19749:18;;:::i;:::-;19733:36;19585:191;;;;:::o;19782:249::-;19922:34;19918:1;19910:6;19906:14;19899:58;19991:32;19986:2;19978:6;19974:15;19967:57;19782:249;:::o;20037:366::-;20179:3;20200:67;20264:2;20259:3;20200:67;:::i;:::-;20193:74;;20276:93;20365:3;20276:93;:::i;:::-;20394:2;20389:3;20385:12;20378:19;;20037:366;;;:::o;20409:419::-;20575:4;20613:2;20602:9;20598:18;20590:26;;20662:9;20656:4;20652:20;20648:1;20637:9;20633:17;20626:47;20690:131;20816:4;20690:131;:::i;:::-;20682:139;;20409:419;;;:::o;20834:177::-;20974:29;20970:1;20962:6;20958:14;20951:53;20834:177;:::o;21017:366::-;21159:3;21180:67;21244:2;21239:3;21180:67;:::i;:::-;21173:74;;21256:93;21345:3;21256:93;:::i;:::-;21374:2;21369:3;21365:12;21358:19;;21017:366;;;:::o;21389:419::-;21555:4;21593:2;21582:9;21578:18;21570:26;;21642:9;21636:4;21632:20;21628:1;21617:9;21613:17;21606:47;21670:131;21796:4;21670:131;:::i;:::-;21662:139;;21389:419;;;:::o;21814:418::-;21951:4;21989:2;21978:9;21974:18;21966:26;;22002:67;22066:1;22055:9;22051:17;22042:6;22002:67;:::i;:::-;22079:68;22143:2;22132:9;22128:18;22119:6;22079:68;:::i;:::-;22157;22221:2;22210:9;22206:18;22197:6;22157:68;:::i;:::-;21814:418;;;;;;:::o;22238:220::-;22378:34;22374:1;22366:6;22362:14;22355:58;22447:3;22442:2;22434:6;22430:15;22423:28;22238:220;:::o;22464:366::-;22606:3;22627:67;22691:2;22686:3;22627:67;:::i;:::-;22620:74;;22703:93;22792:3;22703:93;:::i;:::-;22821:2;22816:3;22812:12;22805:19;;22464:366;;;:::o;22836:419::-;23002:4;23040:2;23029:9;23025:18;23017:26;;23089:9;23083:4;23079:20;23075:1;23064:9;23060:17;23053:47;23117:131;23243:4;23117:131;:::i;:::-;23109:139;;22836:419;;;:::o;23261:167::-;23401:19;23397:1;23389:6;23385:14;23378:43;23261:167;:::o;23434:366::-;23576:3;23597:67;23661:2;23656:3;23597:67;:::i;:::-;23590:74;;23673:93;23762:3;23673:93;:::i;:::-;23791:2;23786:3;23782:12;23775:19;;23434:366;;;:::o;23806:419::-;23972:4;24010:2;23999:9;23995:18;23987:26;;24059:9;24053:4;24049:20;24045:1;24034:9;24030:17;24023:47;24087:131;24213:4;24087:131;:::i;:::-;24079:139;;23806:419;;;:::o;24231:180::-;24279:77;24276:1;24269:88;24376:4;24373:1;24366:15;24400:4;24397:1;24390:15;24417:85;24462:7;24491:5;24480:16;;24417:85;;;:::o;24508:158::-;24566:9;24599:61;24617:42;24626:32;24652:5;24626:32;:::i;:::-;24617:42;:::i;:::-;24599:61;:::i;:::-;24586:74;;24508:158;;;:::o;24672:147::-;24767:45;24806:5;24767:45;:::i;:::-;24762:3;24755:58;24672:147;;:::o;24825:114::-;24892:6;24926:5;24920:12;24910:22;;24825:114;;;:::o;24945:184::-;25044:11;25078:6;25073:3;25066:19;25118:4;25113:3;25109:14;25094:29;;24945:184;;;;:::o;25135:132::-;25202:4;25225:3;25217:11;;25255:4;25250:3;25246:14;25238:22;;25135:132;;;:::o;25273:108::-;25350:24;25368:5;25350:24;:::i;:::-;25345:3;25338:37;25273:108;;:::o;25387:179::-;25456:10;25477:46;25519:3;25511:6;25477:46;:::i;:::-;25555:4;25550:3;25546:14;25532:28;;25387:179;;;;:::o;25572:113::-;25642:4;25674;25669:3;25665:14;25657:22;;25572:113;;;:::o;25721:732::-;25840:3;25869:54;25917:5;25869:54;:::i;:::-;25939:86;26018:6;26013:3;25939:86;:::i;:::-;25932:93;;26049:56;26099:5;26049:56;:::i;:::-;26128:7;26159:1;26144:284;26169:6;26166:1;26163:13;26144:284;;;26245:6;26239:13;26272:63;26331:3;26316:13;26272:63;:::i;:::-;26265:70;;26358:60;26411:6;26358:60;:::i;:::-;26348:70;;26204:224;26191:1;26188;26184:9;26179:14;;26144:284;;;26148:14;26444:3;26437:10;;25845:608;;;25721:732;;;;:::o;26459:831::-;26722:4;26760:3;26749:9;26745:19;26737:27;;26774:71;26842:1;26831:9;26827:17;26818:6;26774:71;:::i;:::-;26855:80;26931:2;26920:9;26916:18;26907:6;26855:80;:::i;:::-;26982:9;26976:4;26972:20;26967:2;26956:9;26952:18;26945:48;27010:108;27113:4;27104:6;27010:108;:::i;:::-;27002:116;;27128:72;27196:2;27185:9;27181:18;27172:6;27128:72;:::i;:::-;27210:73;27278:3;27267:9;27263:19;27254:6;27210:73;:::i;:::-;26459:831;;;;;;;;:::o;27296:147::-;27397:11;27434:3;27419:18;;27296:147;;;;:::o;27449:114::-;;:::o;27569:398::-;27728:3;27749:83;27830:1;27825:3;27749:83;:::i;:::-;27742:90;;27841:93;27930:3;27841:93;:::i;:::-;27959:1;27954:3;27950:11;27943:18;;27569:398;;;:::o;27973:379::-;28157:3;28179:147;28322:3;28179:147;:::i;:::-;28172:154;;28343:3;28336:10;;27973:379;;;:::o;28358:807::-;28607:4;28645:3;28634:9;28630:19;28622:27;;28659:71;28727:1;28716:9;28712:17;28703:6;28659:71;:::i;:::-;28740:72;28808:2;28797:9;28793:18;28784:6;28740:72;:::i;:::-;28822:80;28898:2;28887:9;28883:18;28874:6;28822:80;:::i;:::-;28912;28988:2;28977:9;28973:18;28964:6;28912:80;:::i;:::-;29002:73;29070:3;29059:9;29055:19;29046:6;29002:73;:::i;:::-;29085;29153:3;29142:9;29138:19;29129:6;29085:73;:::i;:::-;28358:807;;;;;;;;;:::o;29171:663::-;29259:6;29267;29275;29324:2;29312:9;29303:7;29299:23;29295:32;29292:119;;;29330:79;;:::i;:::-;29292:119;29450:1;29475:64;29531:7;29522:6;29511:9;29507:22;29475:64;:::i;:::-;29465:74;;29421:128;29588:2;29614:64;29670:7;29661:6;29650:9;29646:22;29614:64;:::i;:::-;29604:74;;29559:129;29727:2;29753:64;29809:7;29800:6;29789:9;29785:22;29753:64;:::i;:::-;29743:74;;29698:129;29171:663;;;;;:::o;29840:332::-;29961:4;29999:2;29988:9;29984:18;29976:26;;30012:71;30080:1;30069:9;30065:17;30056:6;30012:71;:::i;:::-;30093:72;30161:2;30150:9;30146:18;30137:6;30093:72;:::i;:::-;29840:332;;;;;:::o
Swarm Source
ipfs://010aa4fe4267da0b361b3ddd38b243c662df5d4d6e980ad9600080caa059d26d
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.