ERC-20
Overview
Max Total Supply
1,000,000,000,000 AMEN
Holders
46
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.252868792 AMENValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
AMEN
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-09 */ // SPDX-License-Identifier: UNLICENSED /* Telegram: https://t.me/Amenerc AMENSite: https://amenerc.xyz/ Twitter: https://twitter.com/AMENerc */ // // ___ //-__ /\\ -__ /\ - -_, -_ _ ,- _~, -__ /\ // || \\ || \, ( ~/|| |,- ` (' /| / || \, // /||__|| /|| / ( / || ~||__)) (( ||/= /|| / // \||__|| \||/- \/==|| ~||__)) (( || \||/- // || |, || \ /_ _|| |_ _, ( / | || \ //_-||-_/ _---_-|, ( - \\, -' - -____- _---_-|, // || ( _-_ // // // Oh sacred essence of the digital realm, we call upon the ethereal spirits of blockchain to bless our token. In the infinite ledger we trust, recording each transaction with the precision of the stars in the night sky. // May the nodes align to fortify our chain, and hash rates soar with the eagles' flight. Let our token circulate with the grace of the wind, its value steadfast as the ancient mountains. // In every smart contract and every stake, we see the manifestation of our collective faith—our token, a beacon of progress in the cryptic dance of market's embrace. // We seek the wisdom of the ledger, the courage of the bull, and the caution of the bear. May our token thrive, resilient through volatility's test, rising with the dawn of innovation's light. // Bless our endeavors, oh guardians of the cryptosphere, for in the digital pulse of our token, we place our hope, our work, and our dreams. Amen. // pragma solidity 0.8.18; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract AMEN is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; mapping(address => uint256) private cooldownTimer; bool public buyCooldownEnabled = true; uint8 public cooldownTimerInterval = 1; address payable _devWallet; uint256 private _initialBuyTax = 24; uint256 private _initialSellTax = 24; uint256 private _finalBuyTax = 0; uint256 private _finalSellTax = 0; uint256 private _reduceBuyTaxAt = 19; uint256 private _reduceSellTaxAt = 19; uint256 private _preventSwapBefore = 19; uint256 private _buyCount = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1000000000000 * 10 **_decimals; string private constant _name = unicode"AMEN"; string private constant _symbol = unicode"AMEN"; uint256 public _maxTxAmount = 20000000000 * 10 **_decimals; uint256 public _maxWalletSize = 20000000000 * 10 **_decimals; uint256 public _taxSwapThreshold = 15500000000 * 10 **_decimals; uint256 public _maxTaxSwap= 15500000000 * 10 **_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _devWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_devWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount = 0; if (from != owner() && to != owner()) { taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require(_holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) { swapTokensForEth(min(amount, min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } if (from == uniswapV2Pair && buyCooldownEnabled && ! _isExcludedFromFee[to]) { require( cooldownTimer[to] < block.timestamp, "buy Cooldown exists" ); cooldownTimer[to] = block.timestamp + cooldownTimerInterval; } } if(taxAmount>0) { _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this), taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner { _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; emit MaxTxAmountUpdated(_tTotal); } function openTrading() external onlyOwner() { require(!tradingOpen, "Trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; } function removeTransferDelay() external onlyOwner { transferDelayEnabled = false; } function transferAMEN(address tokenAddress, uint256 amount) external onlyOwner { IERC20 token = IERC20(tokenAddress); require(token.transfer(_devWallet, amount), "Token transfer failed"); } function sendETHToFee(uint256 amount) private { _devWallet.transfer(amount); } receive() external payable {} function manualSwap() external { require(_msgSender()==_devWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function transferETHToDev() external onlyOwner() { require(address(this).balance > 0, "No ETH to transfer"); _devWallet.transfer(address(this).balance); } }
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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyCooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferAMEN","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transferETHToDev","outputs":[],"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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526001600560006101000a81548160ff0219169083151502179055506001600760006101000a81548160ff0219169083151502179055506001600760016101000a81548160ff021916908360ff160217905550601860085560186009556000600a556000600b556013600c556013600d556013600e556000600f556009600a6200008e91906200066b565b6404a817c800620000a09190620006bc565b6010556009600a620000b391906200066b565b6404a817c800620000c59190620006bc565b6011556009600a620000d891906200066b565b64039bdf3b00620000ea9190620006bc565b6012556009600a620000fd91906200066b565b64039bdf3b006200010f9190620006bc565b60135560006015806101000a81548160ff0219169083151502179055506000601560166101000a81548160ff0219169083151502179055503480156200015457600080fd5b50600062000167620004a060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000215620004a060201b60201c565b600760026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200026591906200066b565b64e8d4a51000620002779190620006bc565b600160006200028b620004a060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002df620004a860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000412620004a060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200047191906200066b565b64e8d4a51000620004839190620006bc565b60405162000492919062000718565b60405180910390a362000735565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200055f57808604811115620005375762000536620004d1565b5b6001851615620005475780820291505b8081029050620005578562000500565b945062000517565b94509492505050565b6000826200057a57600190506200064d565b816200058a57600090506200064d565b8160018114620005a35760028114620005ae57620005e4565b60019150506200064d565b60ff841115620005c357620005c2620004d1565b5b8360020a915084821115620005dd57620005dc620004d1565b5b506200064d565b5060208310610133831016604e8410600b84101617156200061e5782820a905083811115620006185762000617620004d1565b5b6200064d565b6200062d84848460016200050d565b92509050818404811115620006475762000646620004d1565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620006788262000654565b915062000685836200065e565b9250620006b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000568565b905092915050565b6000620006c98262000654565b9150620006d68362000654565b9250828202620006e68162000654565b915082820484148315176200070057620006ff620004d1565b5b5092915050565b620007128162000654565b82525050565b60006020820190506200072f600083018462000707565b92915050565b61383280620007456000396000f3fe60806040526004361061014f5760003560e01c8063751039fc116100b6578063a9059cbb1161006f578063a9059cbb14610445578063bf474bed14610482578063c876d0b9146104ad578063c9567bf9146104d8578063dd62ed3e146104ef578063f8686f071461052c57610156565b8063751039fc146103595780637d1db4a5146103705780638da5cb5b1461039b5780638f9a55c0146103c657806395d89b41146103f1578063a1b9ece71461041c57610156565b806351bc3c851161010857806351bc3c8514610281578063617fe0ed14610298578063692cda7a146102c357806370a08231146102da578063715018a614610317578063722b62ad1461032e57610156565b806306fdde031461015b578063095ea7b3146101865780630faee56f146101c357806318160ddd146101ee57806323b872dd14610219578063313ce5671461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610543565b60405161017d91906126e6565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a891906127a1565b610580565b6040516101ba91906127fc565b60405180910390f35b3480156101cf57600080fd5b506101d861059e565b6040516101e59190612826565b60405180910390f35b3480156101fa57600080fd5b506102036105a4565b6040516102109190612826565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b9190612841565b6105c9565b60405161024d91906127fc565b60405180910390f35b34801561026257600080fd5b5061026b6106a2565b60405161027891906128b0565b60405180910390f35b34801561028d57600080fd5b506102966106ab565b005b3480156102a457600080fd5b506102ad610748565b6040516102ba91906127fc565b60405180910390f35b3480156102cf57600080fd5b506102d861075b565b005b3480156102e657600080fd5b5061030160048036038101906102fc91906128cb565b61089e565b60405161030e9190612826565b60405180910390f35b34801561032357600080fd5b5061032c6108e7565b005b34801561033a57600080fd5b50610343610a3a565b60405161035091906128b0565b60405180910390f35b34801561036557600080fd5b5061036e610a4d565b005b34801561037c57600080fd5b50610385610b80565b6040516103929190612826565b60405180910390f35b3480156103a757600080fd5b506103b0610b86565b6040516103bd9190612907565b60405180910390f35b3480156103d257600080fd5b506103db610baf565b6040516103e89190612826565b60405180910390f35b3480156103fd57600080fd5b50610406610bb5565b60405161041391906126e6565b60405180910390f35b34801561042857600080fd5b50610443600480360381019061043e91906127a1565b610bf2565b005b34801561045157600080fd5b5061046c600480360381019061046791906127a1565b610d70565b60405161047991906127fc565b60405180910390f35b34801561048e57600080fd5b50610497610d8e565b6040516104a49190612826565b60405180910390f35b3480156104b957600080fd5b506104c2610d94565b6040516104cf91906127fc565b60405180910390f35b3480156104e457600080fd5b506104ed610da7565b005b3480156104fb57600080fd5b5061051660048036038101906105119190612922565b6112e0565b6040516105239190612826565b60405180910390f35b34801561053857600080fd5b50610541611367565b005b60606040518060400160405280600481526020017f414d454e00000000000000000000000000000000000000000000000000000000815250905090565b600061059461058d611419565b8484611421565b6001905092915050565b60135481565b60006009600a6105b49190612ac4565b64e8d4a510006105c49190612b0f565b905090565b60006105d68484846115ea565b610697846105e2611419565b610692856040518060600160405280602881526020016137d560289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610648611419565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121279092919063ffffffff16565b611421565b600190509392505050565b60006009905090565b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106ec611419565b73ffffffffffffffffffffffffffffffffffffffff161461070c57600080fd5b60006107173061089e565b9050600081111561072c5761072b8161218b565b5b600047905060008111156107445761074381612402565b5b5050565b600760009054906101000a900460ff1681565b610763611419565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e790612b9d565b60405180910390fd5b60004711610833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082a90612c09565b60405180910390fd5b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561089b573d6000803e3d6000fd5b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108ef611419565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461097c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097390612b9d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600760019054906101000a900460ff1681565b610a55611419565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad990612b9d565b60405180910390fd5b6009600a610af09190612ac4565b64e8d4a51000610b009190612b0f565b6010819055506009600a610b149190612ac4565b64e8d4a51000610b249190612b0f565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b599190612ac4565b64e8d4a51000610b699190612b0f565b604051610b769190612826565b60405180910390a1565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600481526020017f414d454e00000000000000000000000000000000000000000000000000000000815250905090565b610bfa611419565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7e90612b9d565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610ce9929190612c88565b6020604051808303816000875af1158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c9190612cdd565b610d6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6290612d56565b60405180910390fd5b505050565b6000610d84610d7d611419565b84846115ea565b6001905092915050565b60125481565b600560009054906101000a900460ff1681565b610daf611419565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3390612b9d565b60405180910390fd5b601560149054906101000a900460ff1615610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8390612dc2565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f2b30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610f169190612ac4565b64e8d4a51000610f269190612b0f565b611421565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbc9190612df7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611045573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110699190612df7565b6040518363ffffffff1660e01b8152600401611086929190612e24565b6020604051808303816000875af11580156110a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c99190612df7565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306111523061089e565b60008061115d610b86565b426040518863ffffffff1660e01b815260040161117f96959493929190612e88565b60606040518083038185885af115801561119d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111c29190612efe565b505050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611264929190612f51565b6020604051808303816000875af1158015611283573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a79190612cdd565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61136f611419565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f390612b9d565b60405180910390fd5b6000600560006101000a81548160ff021916908315150217905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148790612fec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f69061307e565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115dd9190612826565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165090613110565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bf906131a2565b60405180910390fd5b6000811161170b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170290613234565b60405180910390fd5b6000611715610b86565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117835750611753610b86565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e6a576117c460646117b6600c54600f54116117a3576008546117a7565b600a545b8561246e90919063ffffffff16565b6124e890919063ffffffff16565b9050600560009054906101000a900460ff161561195357601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118875750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156119525743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061190d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611904906132ec565b60405180910390fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119fe5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a545750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611b0f57601054821115611a9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9590613358565b60405180910390fd5b60115482611aab8561089e565b611ab59190613378565b1115611af6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aed906133f8565b60405180910390fd5b600f6000815480929190611b0990613418565b91905055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b9857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611bdc57611bd96064611bcb600d54600f5411611bb857600954611bbc565b600b545b8561246e90919063ffffffff16565b6124e890919063ffffffff16565b90505b6000611be73061089e565b905060158054906101000a900460ff16158015611c515750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c695750601560169054906101000a900460ff165b8015611c76575060125481115b8015611c855750600e54600f54115b15611cc157611ca7611ca284611c9d84601354612532565b612532565b61218b565b60004790506000811115611cbf57611cbe47612402565b5b505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611d2a5750600760009054906101000a900460ff165b8015611d805750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e685742600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611e06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfd906134ac565b60405180910390fd5b600760019054906101000a900460ff1660ff1642611e249190613378565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505b6000811115611f6e57611ec581600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461254b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f659190612826565b60405180910390a35b611fc082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061206761201982846125a990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461254b90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61210c84866125a990919063ffffffff16565b6040516121199190612826565b60405180910390a350505050565b600083831115829061216f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216691906126e6565b60405180910390fd5b506000838561217e91906134cc565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156121c2576121c1613500565b5b6040519080825280602002602001820160405280156121f05781602001602082028036833780820191505090505b50905030816000815181106122085761220761352f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d39190612df7565b816001815181106122e7576122e661352f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061234e30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611421565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123b295949392919061361c565b600060405180830381600087803b1580156123cc57600080fd5b505af11580156123e0573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561246a573d6000803e3d6000fd5b5050565b600080830361248057600090506124e2565b6000828461248e9190612b0f565b905082848261249d91906136a5565b146124dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d490613748565b60405180910390fd5b809150505b92915050565b600061252a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125f3565b905092915050565b60008183116125415782612543565b815b905092915050565b600080828461255a9190613378565b90508381101561259f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612596906137b4565b60405180910390fd5b8091505092915050565b60006125eb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612127565b905092915050565b6000808311829061263a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263191906126e6565b60405180910390fd5b506000838561264991906136a5565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612690578082015181840152602081019050612675565b60008484015250505050565b6000601f19601f8301169050919050565b60006126b882612656565b6126c28185612661565b93506126d2818560208601612672565b6126db8161269c565b840191505092915050565b6000602082019050818103600083015261270081846126ad565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127388261270d565b9050919050565b6127488161272d565b811461275357600080fd5b50565b6000813590506127658161273f565b92915050565b6000819050919050565b61277e8161276b565b811461278957600080fd5b50565b60008135905061279b81612775565b92915050565b600080604083850312156127b8576127b7612708565b5b60006127c685828601612756565b92505060206127d78582860161278c565b9150509250929050565b60008115159050919050565b6127f6816127e1565b82525050565b600060208201905061281160008301846127ed565b92915050565b6128208161276b565b82525050565b600060208201905061283b6000830184612817565b92915050565b60008060006060848603121561285a57612859612708565b5b600061286886828701612756565b935050602061287986828701612756565b925050604061288a8682870161278c565b9150509250925092565b600060ff82169050919050565b6128aa81612894565b82525050565b60006020820190506128c560008301846128a1565b92915050565b6000602082840312156128e1576128e0612708565b5b60006128ef84828501612756565b91505092915050565b6129018161272d565b82525050565b600060208201905061291c60008301846128f8565b92915050565b6000806040838503121561293957612938612708565b5b600061294785828601612756565b925050602061295885828601612756565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156129e8578086048111156129c4576129c3612962565b5b60018516156129d35780820291505b80810290506129e185612991565b94506129a8565b94509492505050565b600082612a015760019050612abd565b81612a0f5760009050612abd565b8160018114612a255760028114612a2f57612a5e565b6001915050612abd565b60ff841115612a4157612a40612962565b5b8360020a915084821115612a5857612a57612962565b5b50612abd565b5060208310610133831016604e8410600b8410161715612a935782820a905083811115612a8e57612a8d612962565b5b612abd565b612aa0848484600161299e565b92509050818404811115612ab757612ab6612962565b5b81810290505b9392505050565b6000612acf8261276b565b9150612ada83612894565b9250612b077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846129f1565b905092915050565b6000612b1a8261276b565b9150612b258361276b565b9250828202612b338161276b565b91508282048414831517612b4a57612b49612962565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b87602083612661565b9150612b9282612b51565b602082019050919050565b60006020820190508181036000830152612bb681612b7a565b9050919050565b7f4e6f2045544820746f207472616e736665720000000000000000000000000000600082015250565b6000612bf3601283612661565b9150612bfe82612bbd565b602082019050919050565b60006020820190508181036000830152612c2281612be6565b9050919050565b6000819050919050565b6000612c4e612c49612c448461270d565b612c29565b61270d565b9050919050565b6000612c6082612c33565b9050919050565b6000612c7282612c55565b9050919050565b612c8281612c67565b82525050565b6000604082019050612c9d6000830185612c79565b612caa6020830184612817565b9392505050565b612cba816127e1565b8114612cc557600080fd5b50565b600081519050612cd781612cb1565b92915050565b600060208284031215612cf357612cf2612708565b5b6000612d0184828501612cc8565b91505092915050565b7f546f6b656e207472616e73666572206661696c65640000000000000000000000600082015250565b6000612d40601583612661565b9150612d4b82612d0a565b602082019050919050565b60006020820190508181036000830152612d6f81612d33565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612dac601783612661565b9150612db782612d76565b602082019050919050565b60006020820190508181036000830152612ddb81612d9f565b9050919050565b600081519050612df18161273f565b92915050565b600060208284031215612e0d57612e0c612708565b5b6000612e1b84828501612de2565b91505092915050565b6000604082019050612e3960008301856128f8565b612e4660208301846128f8565b9392505050565b6000819050919050565b6000612e72612e6d612e6884612e4d565b612c29565b61276b565b9050919050565b612e8281612e57565b82525050565b600060c082019050612e9d60008301896128f8565b612eaa6020830188612817565b612eb76040830187612e79565b612ec46060830186612e79565b612ed160808301856128f8565b612ede60a0830184612817565b979650505050505050565b600081519050612ef881612775565b92915050565b600080600060608486031215612f1757612f16612708565b5b6000612f2586828701612ee9565b9350506020612f3686828701612ee9565b9250506040612f4786828701612ee9565b9150509250925092565b6000604082019050612f6660008301856128f8565b612f736020830184612817565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612fd6602483612661565b9150612fe182612f7a565b604082019050919050565b6000602082019050818103600083015261300581612fc9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613068602283612661565b91506130738261300c565b604082019050919050565b600060208201905081810360008301526130978161305b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006130fa602583612661565b91506131058261309e565b604082019050919050565b60006020820190508181036000830152613129816130ed565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061318c602383612661565b915061319782613130565b604082019050919050565b600060208201905081810360008301526131bb8161317f565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061321e602983612661565b9150613229826131c2565b604082019050919050565b6000602082019050818103600083015261324d81613211565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060208201527f616c6c6f7765642e000000000000000000000000000000000000000000000000604082015250565b60006132d6604883612661565b91506132e182613254565b606082019050919050565b60006020820190508181036000830152613305816132c9565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000613342601983612661565b915061334d8261330c565b602082019050919050565b6000602082019050818103600083015261337181613335565b9050919050565b60006133838261276b565b915061338e8361276b565b92508282019050808211156133a6576133a5612962565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006133e2601a83612661565b91506133ed826133ac565b602082019050919050565b60006020820190508181036000830152613411816133d5565b9050919050565b60006134238261276b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361345557613454612962565b5b600182019050919050565b7f62757920436f6f6c646f776e2065786973747300000000000000000000000000600082015250565b6000613496601383612661565b91506134a182613460565b602082019050919050565b600060208201905081810360008301526134c581613489565b9050919050565b60006134d78261276b565b91506134e28361276b565b92508282039050818111156134fa576134f9612962565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135938161272d565b82525050565b60006135a5838361358a565b60208301905092915050565b6000602082019050919050565b60006135c98261355e565b6135d38185613569565b93506135de8361357a565b8060005b8381101561360f5781516135f68882613599565b9750613601836135b1565b9250506001810190506135e2565b5085935050505092915050565b600060a0820190506136316000830188612817565b61363e6020830187612e79565b818103604083015261365081866135be565b905061365f60608301856128f8565b61366c6080830184612817565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006136b08261276b565b91506136bb8361276b565b9250826136cb576136ca613676565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613732602183612661565b915061373d826136d6565b604082019050919050565b6000602082019050818103600083015261376181613725565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061379e601b83612661565b91506137a982613768565b602082019050919050565b600060208201905081810360008301526137cd81613791565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220dc59a1472ba91f5664a8b7b73136ba1a4a42207e72a09d0364b9ceb661eaa3d264736f6c63430008120033
Deployed Bytecode
0x60806040526004361061014f5760003560e01c8063751039fc116100b6578063a9059cbb1161006f578063a9059cbb14610445578063bf474bed14610482578063c876d0b9146104ad578063c9567bf9146104d8578063dd62ed3e146104ef578063f8686f071461052c57610156565b8063751039fc146103595780637d1db4a5146103705780638da5cb5b1461039b5780638f9a55c0146103c657806395d89b41146103f1578063a1b9ece71461041c57610156565b806351bc3c851161010857806351bc3c8514610281578063617fe0ed14610298578063692cda7a146102c357806370a08231146102da578063715018a614610317578063722b62ad1461032e57610156565b806306fdde031461015b578063095ea7b3146101865780630faee56f146101c357806318160ddd146101ee57806323b872dd14610219578063313ce5671461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b50610170610543565b60405161017d91906126e6565b60405180910390f35b34801561019257600080fd5b506101ad60048036038101906101a891906127a1565b610580565b6040516101ba91906127fc565b60405180910390f35b3480156101cf57600080fd5b506101d861059e565b6040516101e59190612826565b60405180910390f35b3480156101fa57600080fd5b506102036105a4565b6040516102109190612826565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b9190612841565b6105c9565b60405161024d91906127fc565b60405180910390f35b34801561026257600080fd5b5061026b6106a2565b60405161027891906128b0565b60405180910390f35b34801561028d57600080fd5b506102966106ab565b005b3480156102a457600080fd5b506102ad610748565b6040516102ba91906127fc565b60405180910390f35b3480156102cf57600080fd5b506102d861075b565b005b3480156102e657600080fd5b5061030160048036038101906102fc91906128cb565b61089e565b60405161030e9190612826565b60405180910390f35b34801561032357600080fd5b5061032c6108e7565b005b34801561033a57600080fd5b50610343610a3a565b60405161035091906128b0565b60405180910390f35b34801561036557600080fd5b5061036e610a4d565b005b34801561037c57600080fd5b50610385610b80565b6040516103929190612826565b60405180910390f35b3480156103a757600080fd5b506103b0610b86565b6040516103bd9190612907565b60405180910390f35b3480156103d257600080fd5b506103db610baf565b6040516103e89190612826565b60405180910390f35b3480156103fd57600080fd5b50610406610bb5565b60405161041391906126e6565b60405180910390f35b34801561042857600080fd5b50610443600480360381019061043e91906127a1565b610bf2565b005b34801561045157600080fd5b5061046c600480360381019061046791906127a1565b610d70565b60405161047991906127fc565b60405180910390f35b34801561048e57600080fd5b50610497610d8e565b6040516104a49190612826565b60405180910390f35b3480156104b957600080fd5b506104c2610d94565b6040516104cf91906127fc565b60405180910390f35b3480156104e457600080fd5b506104ed610da7565b005b3480156104fb57600080fd5b5061051660048036038101906105119190612922565b6112e0565b6040516105239190612826565b60405180910390f35b34801561053857600080fd5b50610541611367565b005b60606040518060400160405280600481526020017f414d454e00000000000000000000000000000000000000000000000000000000815250905090565b600061059461058d611419565b8484611421565b6001905092915050565b60135481565b60006009600a6105b49190612ac4565b64e8d4a510006105c49190612b0f565b905090565b60006105d68484846115ea565b610697846105e2611419565b610692856040518060600160405280602881526020016137d560289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610648611419565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121279092919063ffffffff16565b611421565b600190509392505050565b60006009905090565b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106ec611419565b73ffffffffffffffffffffffffffffffffffffffff161461070c57600080fd5b60006107173061089e565b9050600081111561072c5761072b8161218b565b5b600047905060008111156107445761074381612402565b5b5050565b600760009054906101000a900460ff1681565b610763611419565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e790612b9d565b60405180910390fd5b60004711610833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082a90612c09565b60405180910390fd5b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561089b573d6000803e3d6000fd5b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108ef611419565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461097c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097390612b9d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600760019054906101000a900460ff1681565b610a55611419565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad990612b9d565b60405180910390fd5b6009600a610af09190612ac4565b64e8d4a51000610b009190612b0f565b6010819055506009600a610b149190612ac4565b64e8d4a51000610b249190612b0f565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b599190612ac4565b64e8d4a51000610b699190612b0f565b604051610b769190612826565b60405180910390a1565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600481526020017f414d454e00000000000000000000000000000000000000000000000000000000815250905090565b610bfa611419565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7e90612b9d565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401610ce9929190612c88565b6020604051808303816000875af1158015610d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2c9190612cdd565b610d6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6290612d56565b60405180910390fd5b505050565b6000610d84610d7d611419565b84846115ea565b6001905092915050565b60125481565b600560009054906101000a900460ff1681565b610daf611419565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3390612b9d565b60405180910390fd5b601560149054906101000a900460ff1615610e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8390612dc2565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f2b30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610f169190612ac4565b64e8d4a51000610f269190612b0f565b611421565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbc9190612df7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611045573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110699190612df7565b6040518363ffffffff1660e01b8152600401611086929190612e24565b6020604051808303816000875af11580156110a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c99190612df7565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306111523061089e565b60008061115d610b86565b426040518863ffffffff1660e01b815260040161117f96959493929190612e88565b60606040518083038185885af115801561119d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111c29190612efe565b505050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611264929190612f51565b6020604051808303816000875af1158015611283573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a79190612cdd565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61136f611419565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f390612b9d565b60405180910390fd5b6000600560006101000a81548160ff021916908315150217905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148790612fec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f69061307e565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115dd9190612826565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165090613110565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bf906131a2565b60405180910390fd5b6000811161170b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170290613234565b60405180910390fd5b6000611715610b86565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117835750611753610b86565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e6a576117c460646117b6600c54600f54116117a3576008546117a7565b600a545b8561246e90919063ffffffff16565b6124e890919063ffffffff16565b9050600560009054906101000a900460ff161561195357601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118875750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156119525743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061190d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611904906132ec565b60405180910390fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119fe5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a545750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611b0f57601054821115611a9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9590613358565b60405180910390fd5b60115482611aab8561089e565b611ab59190613378565b1115611af6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aed906133f8565b60405180910390fd5b600f6000815480929190611b0990613418565b91905055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b9857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611bdc57611bd96064611bcb600d54600f5411611bb857600954611bbc565b600b545b8561246e90919063ffffffff16565b6124e890919063ffffffff16565b90505b6000611be73061089e565b905060158054906101000a900460ff16158015611c515750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c695750601560169054906101000a900460ff165b8015611c76575060125481115b8015611c855750600e54600f54115b15611cc157611ca7611ca284611c9d84601354612532565b612532565b61218b565b60004790506000811115611cbf57611cbe47612402565b5b505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611d2a5750600760009054906101000a900460ff165b8015611d805750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e685742600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611e06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfd906134ac565b60405180910390fd5b600760019054906101000a900460ff1660ff1642611e249190613378565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505b6000811115611f6e57611ec581600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461254b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f659190612826565b60405180910390a35b611fc082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061206761201982846125a990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461254b90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61210c84866125a990919063ffffffff16565b6040516121199190612826565b60405180910390a350505050565b600083831115829061216f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216691906126e6565b60405180910390fd5b506000838561217e91906134cc565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156121c2576121c1613500565b5b6040519080825280602002602001820160405280156121f05781602001602082028036833780820191505090505b50905030816000815181106122085761220761352f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d39190612df7565b816001815181106122e7576122e661352f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061234e30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611421565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123b295949392919061361c565b600060405180830381600087803b1580156123cc57600080fd5b505af11580156123e0573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561246a573d6000803e3d6000fd5b5050565b600080830361248057600090506124e2565b6000828461248e9190612b0f565b905082848261249d91906136a5565b146124dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d490613748565b60405180910390fd5b809150505b92915050565b600061252a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125f3565b905092915050565b60008183116125415782612543565b815b905092915050565b600080828461255a9190613378565b90508381101561259f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612596906137b4565b60405180910390fd5b8091505092915050565b60006125eb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612127565b905092915050565b6000808311829061263a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263191906126e6565b60405180910390fd5b506000838561264991906136a5565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612690578082015181840152602081019050612675565b60008484015250505050565b6000601f19601f8301169050919050565b60006126b882612656565b6126c28185612661565b93506126d2818560208601612672565b6126db8161269c565b840191505092915050565b6000602082019050818103600083015261270081846126ad565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127388261270d565b9050919050565b6127488161272d565b811461275357600080fd5b50565b6000813590506127658161273f565b92915050565b6000819050919050565b61277e8161276b565b811461278957600080fd5b50565b60008135905061279b81612775565b92915050565b600080604083850312156127b8576127b7612708565b5b60006127c685828601612756565b92505060206127d78582860161278c565b9150509250929050565b60008115159050919050565b6127f6816127e1565b82525050565b600060208201905061281160008301846127ed565b92915050565b6128208161276b565b82525050565b600060208201905061283b6000830184612817565b92915050565b60008060006060848603121561285a57612859612708565b5b600061286886828701612756565b935050602061287986828701612756565b925050604061288a8682870161278c565b9150509250925092565b600060ff82169050919050565b6128aa81612894565b82525050565b60006020820190506128c560008301846128a1565b92915050565b6000602082840312156128e1576128e0612708565b5b60006128ef84828501612756565b91505092915050565b6129018161272d565b82525050565b600060208201905061291c60008301846128f8565b92915050565b6000806040838503121561293957612938612708565b5b600061294785828601612756565b925050602061295885828601612756565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156129e8578086048111156129c4576129c3612962565b5b60018516156129d35780820291505b80810290506129e185612991565b94506129a8565b94509492505050565b600082612a015760019050612abd565b81612a0f5760009050612abd565b8160018114612a255760028114612a2f57612a5e565b6001915050612abd565b60ff841115612a4157612a40612962565b5b8360020a915084821115612a5857612a57612962565b5b50612abd565b5060208310610133831016604e8410600b8410161715612a935782820a905083811115612a8e57612a8d612962565b5b612abd565b612aa0848484600161299e565b92509050818404811115612ab757612ab6612962565b5b81810290505b9392505050565b6000612acf8261276b565b9150612ada83612894565b9250612b077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846129f1565b905092915050565b6000612b1a8261276b565b9150612b258361276b565b9250828202612b338161276b565b91508282048414831517612b4a57612b49612962565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b87602083612661565b9150612b9282612b51565b602082019050919050565b60006020820190508181036000830152612bb681612b7a565b9050919050565b7f4e6f2045544820746f207472616e736665720000000000000000000000000000600082015250565b6000612bf3601283612661565b9150612bfe82612bbd565b602082019050919050565b60006020820190508181036000830152612c2281612be6565b9050919050565b6000819050919050565b6000612c4e612c49612c448461270d565b612c29565b61270d565b9050919050565b6000612c6082612c33565b9050919050565b6000612c7282612c55565b9050919050565b612c8281612c67565b82525050565b6000604082019050612c9d6000830185612c79565b612caa6020830184612817565b9392505050565b612cba816127e1565b8114612cc557600080fd5b50565b600081519050612cd781612cb1565b92915050565b600060208284031215612cf357612cf2612708565b5b6000612d0184828501612cc8565b91505092915050565b7f546f6b656e207472616e73666572206661696c65640000000000000000000000600082015250565b6000612d40601583612661565b9150612d4b82612d0a565b602082019050919050565b60006020820190508181036000830152612d6f81612d33565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612dac601783612661565b9150612db782612d76565b602082019050919050565b60006020820190508181036000830152612ddb81612d9f565b9050919050565b600081519050612df18161273f565b92915050565b600060208284031215612e0d57612e0c612708565b5b6000612e1b84828501612de2565b91505092915050565b6000604082019050612e3960008301856128f8565b612e4660208301846128f8565b9392505050565b6000819050919050565b6000612e72612e6d612e6884612e4d565b612c29565b61276b565b9050919050565b612e8281612e57565b82525050565b600060c082019050612e9d60008301896128f8565b612eaa6020830188612817565b612eb76040830187612e79565b612ec46060830186612e79565b612ed160808301856128f8565b612ede60a0830184612817565b979650505050505050565b600081519050612ef881612775565b92915050565b600080600060608486031215612f1757612f16612708565b5b6000612f2586828701612ee9565b9350506020612f3686828701612ee9565b9250506040612f4786828701612ee9565b9150509250925092565b6000604082019050612f6660008301856128f8565b612f736020830184612817565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612fd6602483612661565b9150612fe182612f7a565b604082019050919050565b6000602082019050818103600083015261300581612fc9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613068602283612661565b91506130738261300c565b604082019050919050565b600060208201905081810360008301526130978161305b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006130fa602583612661565b91506131058261309e565b604082019050919050565b60006020820190508181036000830152613129816130ed565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061318c602383612661565b915061319782613130565b604082019050919050565b600060208201905081810360008301526131bb8161317f565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061321e602983612661565b9150613229826131c2565b604082019050919050565b6000602082019050818103600083015261324d81613211565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060208201527f616c6c6f7765642e000000000000000000000000000000000000000000000000604082015250565b60006132d6604883612661565b91506132e182613254565b606082019050919050565b60006020820190508181036000830152613305816132c9565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000613342601983612661565b915061334d8261330c565b602082019050919050565b6000602082019050818103600083015261337181613335565b9050919050565b60006133838261276b565b915061338e8361276b565b92508282019050808211156133a6576133a5612962565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006133e2601a83612661565b91506133ed826133ac565b602082019050919050565b60006020820190508181036000830152613411816133d5565b9050919050565b60006134238261276b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361345557613454612962565b5b600182019050919050565b7f62757920436f6f6c646f776e2065786973747300000000000000000000000000600082015250565b6000613496601383612661565b91506134a182613460565b602082019050919050565b600060208201905081810360008301526134c581613489565b9050919050565b60006134d78261276b565b91506134e28361276b565b92508282039050818111156134fa576134f9612962565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135938161272d565b82525050565b60006135a5838361358a565b60208301905092915050565b6000602082019050919050565b60006135c98261355e565b6135d38185613569565b93506135de8361357a565b8060005b8381101561360f5781516135f68882613599565b9750613601836135b1565b9250506001810190506135e2565b5085935050505092915050565b600060a0820190506136316000830188612817565b61363e6020830187612e79565b818103604083015261365081866135be565b905061365f60608301856128f8565b61366c6080830184612817565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006136b08261276b565b91506136bb8361276b565b9250826136cb576136ca613676565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613732602183612661565b915061373d826136d6565b604082019050919050565b6000602082019050818103600083015261376181613725565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061379e601b83612661565b91506137a982613768565b602082019050919050565b600060208201905081810360008301526137cd81613791565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220dc59a1472ba91f5664a8b7b73136ba1a4a42207e72a09d0364b9ceb661eaa3d264736f6c63430008120033
Deployed Bytecode Sourcemap
5214:8824:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7270:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8103:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6541:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7547:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8272:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7456:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13502:348;;;;;;;;;;;;;:::i;:::-;;5657:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13858:177;;;;;;;;;;;;;:::i;:::-;;7650:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4297:148;;;;;;;;;;;;;:::i;:::-;;5701:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12174:162;;;;;;;;;;;;;:::i;:::-;;6339:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4083:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6404:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7361:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13142:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7777:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6471:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5555:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12350:672;;;;;;;;;;;;;:::i;:::-;;7952:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13030:97;;;;;;;;;;;;;:::i;:::-;;7270:83;7307:13;7340:5;;;;;;;;;;;;;;;;;7333:12;;7270:83;:::o;8103:161::-;8178:4;8195:39;8204:12;:10;:12::i;:::-;8218:7;8227:6;8195:8;:39::i;:::-;8252:4;8245:11;;8103:161;;;;:::o;6541:56::-;;;;:::o;7547:95::-;7600:7;6153:1;6212:2;:14;;;;:::i;:::-;6196:13;:30;;;;:::i;:::-;7620:14;;7547:95;:::o;8272:313::-;8370:4;8387:36;8397:6;8405:9;8416:6;8387:9;:36::i;:::-;8434:121;8443:6;8451:12;:10;:12::i;:::-;8465:89;8503:6;8465:89;;;;;;;;;;;;;;;;;:11;:19;8477:6;8465:19;;;;;;;;;;;;;;;:33;8485:12;:10;:12::i;:::-;8465:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8434:8;:121::i;:::-;8573:4;8566:11;;8272:313;;;;;:::o;7456:83::-;7497:5;6153:1;7515:16;;7456:83;:::o;13502:348::-;13566:10;;;;;;;;;;;13552:24;;:12;:10;:12::i;:::-;:24;;;13544:33;;;;;;13588:20;13609:24;13627:4;13609:9;:24::i;:::-;13588:45;;13660:1;13647:12;:14;13644:73;;;13675:30;13692:12;13675:16;:30::i;:::-;13644:73;13727:18;13746:21;13727:40;;13792:1;13781:10;:12;13778:65;;;13807:24;13820:10;13807:12;:24::i;:::-;13778:65;13533:317;;13502:348::o;5657:37::-;;;;;;;;;;;;;:::o;13858:177::-;4220:12;:10;:12::i;:::-;4210:22;;:6;;;;;;;;;;:22;;;4202:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13950:1:::1;13926:21;:25;13918:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;13985:10;;;;;;;;;;;:19;;:42;14005:21;13985:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;13858:177::o:0;7650:119::-;7716:7;7743:9;:18;7753:7;7743:18;;;;;;;;;;;;;;;;7736:25;;7650:119;;;:::o;4297:148::-;4220:12;:10;:12::i;:::-;4210:22;;:6;;;;;;;;;;:22;;;4202:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4404:1:::1;4367:40;;4388:6;::::0;::::1;;;;;;;;4367:40;;;;;;;;;;;;4435:1;4418:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;4297:148::o:0;5701:38::-;;;;;;;;;;;;;:::o;12174:162::-;4220:12;:10;:12::i;:::-;4210:22;;:6;;;;;;;;;;:22;;;4202:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6153:1:::1;6212:2;:14;;;;:::i;:::-;6196:13;:30;;;;:::i;:::-;12228:12;:22;;;;6153:1;6212:2;:14;;;;:::i;:::-;6196:13;:30;;;;:::i;:::-;12261:14;:24;;;;12301:27;6153:1;6212:2;:14;;;;:::i;:::-;6196:13;:30;;;;:::i;:::-;12301:27;;;;;;:::i;:::-;;;;;;;;12174:162::o:0;6339:58::-;;;;:::o;4083:79::-;4121:7;4148:6;;;;;;;;;;;4141:13;;4083:79;:::o;6404:60::-;;;;:::o;7361:87::-;7400:13;7433:7;;;;;;;;;;;;;;;;;7426:14;;7361:87;:::o;13142:212::-;4220:12;:10;:12::i;:::-;4210:22;;:6;;;;;;;;;;:22;;;4202:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13232:12:::1;13254;13232:35;;13286:5;:14;;;13301:10;;;;;;;;;;;13313:6;13286:34;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13278:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13221:133;13142:212:::0;;:::o;7777:167::-;7855:4;7872:42;7882:12;:10;:12::i;:::-;7896:9;7907:6;7872:9;:42::i;:::-;7932:4;7925:11;;7777:167;;;;:::o;6471:63::-;;;;:::o;5555:39::-;;;;;;;;;;;;;:::o;12350:672::-;4220:12;:10;:12::i;:::-;4210:22;;:6;;;;;;;;;;:22;;;4202:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12414:11:::1;;;;;;;;;;;12413:12;12405:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;12501:42;12464:15;;:80;;;;;;;;;;;;;;;;;;12555:58;12572:4;12587:15;;;;;;;;;;;6153:1;6212:2;:14;;;;:::i;:::-;6196:13;:30;;;;:::i;:::-;12555:8;:58::i;:::-;12658:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12640:55;;;12704:4;12711:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12640:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12624:13;;:110;;;;;;;;;;;;;;;;;;12745:15;;;;;;;;;;;:31;;;12784:21;12815:4;12821:24;12839:4;12821:9;:24::i;:::-;12846:1;12848::::0;12850:7:::1;:5;:7::i;:::-;12858:15;12745:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12892:13;;;;;;;;;;;12885:29;;;12923:15;;;;;;;;;;;12941:14;12885:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12981:4;12967:11;;:18;;;;;;;;;;;;;;;;;;13010:4;12996:11;;:18;;;;;;;;;;;;;;;;;;12350:672::o:0;7952:143::-;8033:7;8060:11;:18;8072:5;8060:18;;;;;;;;;;;;;;;:27;8079:7;8060:27;;;;;;;;;;;;;;;;8053:34;;7952:143;;;;:::o;13030:97::-;4220:12;:10;:12::i;:::-;4210:22;;:6;;;;;;;;;;:22;;;4202:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13114:5:::1;13091:20;;:28;;;;;;;;;;;;;;;;;;13030:97::o:0;1840:98::-;1893:7;1920:10;1913:17;;1840:98;:::o;8593:335::-;8703:1;8686:19;;:5;:19;;;8678:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8784:1;8765:21;;:7;:21;;;8757:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8866:6;8836:11;:18;8848:5;8836:18;;;;;;;;;;;;;;;:27;8855:7;8836:27;;;;;;;;;;;;;;;:36;;;;8904:7;8888:32;;8897:5;8888:32;;;8913:6;8888:32;;;;;;:::i;:::-;;;;;;;;8593:335;;;:::o;8936:2628::-;9040:1;9024:18;;:4;:18;;;9016:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9117:1;9103:16;;:2;:16;;;9095:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9187:1;9178:6;:10;9170:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9245:17;9289:7;:5;:7::i;:::-;9281:15;;:4;:15;;;;:32;;;;;9306:7;:5;:7::i;:::-;9300:13;;:2;:13;;;;9281:32;9277:1929;;;9342:76;9414:3;9342:67;9364:15;;9354:9;;:25;9353:55;;9394:14;;9353:55;;;9381:12;;9353:55;9342:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;9330:88;;9439:20;;;;;;;;;;;9435:397;;;9500:15;;;;;;;;;;;9486:30;;:2;:30;;;;:62;;;;;9534:13;;;;;;;;;;;9520:28;;:2;:28;;;;9486:62;9482:333;;;9625:12;9583:28;:39;9612:9;9583:39;;;;;;;;;;;;;;;;:54;9575:139;;;;;;;;;;;;:::i;:::-;;;;;;;;;9781:12;9739:28;:39;9768:9;9739:39;;;;;;;;;;;;;;;:54;;;;9482:333;9435:397;9860:13;;;;;;;;;;;9852:21;;:4;:21;;;:55;;;;;9891:15;;;;;;;;;;;9877:30;;:2;:30;;;;9852:55;:83;;;;;9913:18;:22;9932:2;9913:22;;;;;;;;;;;;;;;;;;;;;;;;;9911:24;9852:83;9848:313;;;9975:12;;9965:6;:22;;9957:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10070:14;;10060:6;10044:13;10054:2;10044:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;10036:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10134:9;;:11;;;;;;;;;:::i;:::-;;;;;;9848:313;10186:13;;;;;;;;;;;10180:19;;:2;:19;;;:43;;;;;10218:4;10203:20;;:4;:20;;;;10180:43;10177:174;;;10256:79;10331:3;10256:70;10278:16;;10268:9;;:26;10267:58;;10310:15;;10267:58;;;10296:13;;10267:58;10256:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;10244:91;;10177:174;10367:28;10398:24;10416:4;10398:9;:24::i;:::-;10367:55;;10442:6;;;;;;;;;;10441:7;:32;;;;;10460:13;;;;;;;;;;;10452:21;;:2;:21;;;10441:32;:47;;;;;10477:11;;;;;;;;;;;10441:47;:91;;;;;10515:17;;10492:20;:40;10441:91;:125;;;;;10548:18;;10536:9;;:30;10441:125;10437:426;;;10587:68;10604:50;10608:6;10616:37;10620:20;10641:11;;10616:3;:37::i;:::-;10604:3;:50::i;:::-;10587:16;:68::i;:::-;10674:26;10703:21;10674:50;;10767:1;10746:18;:22;10743:105;;;10793:35;10806:21;10793:12;:35::i;:::-;10743:105;10568:295;10437:426;10889:13;;;;;;;;;;;10881:21;;:4;:21;;;:43;;;;;10906:18;;;;;;;;;;;10881:43;:71;;;;;10930:18;:22;10949:2;10930:22;;;;;;;;;;;;;;;;;;;;;;;;;10928:24;10881:71;10877:318;;;11023:15;11003:13;:17;11017:2;11003:17;;;;;;;;;;;;;;;;:35;10973:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;11158:21;;;;;;;;;;;11140:39;;:15;:39;;;;:::i;:::-;11120:13;:17;11134:2;11120:17;;;;;;;;;;;;;;;:59;;;;10877:318;9315:1891;9277:1929;11231:1;11221:9;:11;11218:163;;;11272:39;11301:9;11272;:24;11290:4;11272:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11247:9;:24;11265:4;11247:24;;;;;;;;;;;;;;;:64;;;;11352:4;11329:40;;11338:4;11329:40;;;11359:9;11329:40;;;;;;:::i;:::-;;;;;;;;11218:163;11407:27;11427:6;11407:9;:15;11417:4;11407:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11391:9;:15;11401:4;11391:15;;;;;;;;;;;;;;;:43;;;;11459:40;11477:21;11488:9;11477:6;:10;;:21;;;;:::i;:::-;11459:9;:13;11469:2;11459:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;11445:9;:13;11455:2;11445:13;;;;;;;;;;;;;;;:54;;;;11530:2;11515:41;;11524:4;11515:41;;;11534:21;11545:9;11534:6;:10;;:21;;;;:::i;:::-;11515:41;;;;;;:::i;:::-;;;;;;;;9005:2559;8936:2628;;;:::o;2977:190::-;3063:7;3096:1;3091;:6;;3099:12;3083:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3123:9;3139:1;3135;:5;;;;:::i;:::-;3123:17;;3158:1;3151:8;;;2977:190;;;;;:::o;11680:483::-;6888:4;6879:6;;:13;;;;;;;;;;;;;;;;;;11758:21:::1;11796:1;11782:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11758:40;;11827:4;11809;11814:1;11809:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11853:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11843:4;11848:1;11843:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11886:62;11903:4;11918:15;;;;;;;;;;;11936:11;11886:8;:62::i;:::-;11959:15;;;;;;;;;;;:66;;;12040:11;12066:1;12082:4;12109;12129:15;11959:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11747:416;6924:5:::0;6915:6;;:14;;;;;;;;;;;;;;;;;;11680:483;:::o;13363:92::-;13420:10;;;;;;;;;;;:19;;:27;13440:6;13420:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13363:92;:::o;3175:246::-;3233:7;3262:1;3257;:6;3253:47;;3287:1;3280:8;;;;3253:47;3310:9;3326:1;3322;:5;;;;:::i;:::-;3310:17;;3355:1;3350;3346;:5;;;;:::i;:::-;:10;3338:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3412:1;3405:8;;;3175:246;;;;;:::o;3429:132::-;3487:7;3514:39;3518:1;3521;3514:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3507:46;;3429:132;;;;:::o;11574:98::-;11631:7;11658:1;11656;:3;11655:9;;11663:1;11655:9;;;11661:1;11655:9;11648:16;;11574:98;;;;:::o;2646:179::-;2704:7;2724:9;2740:1;2736;:5;;;;:::i;:::-;2724:17;;2765:1;2760;:6;;2752:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2816:1;2809:8;;;2646:179;;;;:::o;2833:136::-;2891:7;2918:43;2922:1;2925;2918:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2911:50;;2833:136;;;;:::o;3569:189::-;3655:7;3687:1;3683;:5;3690:12;3675:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3714:9;3730:1;3726;:5;;;;:::i;:::-;3714:17;;3749:1;3742:8;;;3569:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:102;6248:8;6295:5;6292:1;6288:13;6267:34;;6206:102;;;:::o;6314:848::-;6375:5;6382:4;6406:6;6397:15;;6430:5;6421:14;;6444:712;6465:1;6455:8;6452:15;6444:712;;;6560:4;6555:3;6551:14;6545:4;6542:24;6539:50;;;6569:18;;:::i;:::-;6539:50;6619:1;6609:8;6605:16;6602:451;;;7034:4;7027:5;7023:16;7014:25;;6602:451;7084:4;7078;7074:15;7066:23;;7114:32;7137:8;7114:32;:::i;:::-;7102:44;;6444:712;;;6314:848;;;;;;;:::o;7168:1073::-;7222:5;7413:8;7403:40;;7434:1;7425:10;;7436:5;;7403:40;7462:4;7452:36;;7479:1;7470:10;;7481:5;;7452:36;7548:4;7596:1;7591:27;;;;7632:1;7627:191;;;;7541:277;;7591:27;7609:1;7600:10;;7611:5;;;7627:191;7672:3;7662:8;7659:17;7656:43;;;7679:18;;:::i;:::-;7656:43;7728:8;7725:1;7721:16;7712:25;;7763:3;7756:5;7753:14;7750:40;;;7770:18;;:::i;:::-;7750:40;7803:5;;;7541:277;;7927:2;7917:8;7914:16;7908:3;7902:4;7899:13;7895:36;7877:2;7867:8;7864:16;7859:2;7853:4;7850:12;7846:35;7830:111;7827:246;;;7983:8;7977:4;7973:19;7964:28;;8018:3;8011:5;8008:14;8005:40;;;8025:18;;:::i;:::-;8005:40;8058:5;;7827:246;8098:42;8136:3;8126:8;8120:4;8117:1;8098:42;:::i;:::-;8083:57;;;;8172:4;8167:3;8163:14;8156:5;8153:25;8150:51;;;8181:18;;:::i;:::-;8150:51;8230:4;8223:5;8219:16;8210:25;;7168:1073;;;;;;:::o;8247:281::-;8305:5;8329:23;8347:4;8329:23;:::i;:::-;8321:31;;8373:25;8389:8;8373:25;:::i;:::-;8361:37;;8417:104;8454:66;8444:8;8438:4;8417:104;:::i;:::-;8408:113;;8247:281;;;;:::o;8534:410::-;8574:7;8597:20;8615:1;8597:20;:::i;:::-;8592:25;;8631:20;8649:1;8631:20;:::i;:::-;8626:25;;8686:1;8683;8679:9;8708:30;8726:11;8708:30;:::i;:::-;8697:41;;8887:1;8878:7;8874:15;8871:1;8868:22;8848:1;8841:9;8821:83;8798:139;;8917:18;;:::i;:::-;8798:139;8582:362;8534:410;;;;:::o;8950:182::-;9090:34;9086:1;9078:6;9074:14;9067:58;8950:182;:::o;9138:366::-;9280:3;9301:67;9365:2;9360:3;9301:67;:::i;:::-;9294:74;;9377:93;9466:3;9377:93;:::i;:::-;9495:2;9490:3;9486:12;9479:19;;9138:366;;;:::o;9510:419::-;9676:4;9714:2;9703:9;9699:18;9691:26;;9763:9;9757:4;9753:20;9749:1;9738:9;9734:17;9727:47;9791:131;9917:4;9791:131;:::i;:::-;9783:139;;9510:419;;;:::o;9935:168::-;10075:20;10071:1;10063:6;10059:14;10052:44;9935:168;:::o;10109:366::-;10251:3;10272:67;10336:2;10331:3;10272:67;:::i;:::-;10265:74;;10348:93;10437:3;10348:93;:::i;:::-;10466:2;10461:3;10457:12;10450:19;;10109:366;;;:::o;10481:419::-;10647:4;10685:2;10674:9;10670:18;10662:26;;10734:9;10728:4;10724:20;10720:1;10709:9;10705:17;10698:47;10762:131;10888:4;10762:131;:::i;:::-;10754:139;;10481:419;;;:::o;10906:60::-;10934:3;10955:5;10948:12;;10906:60;;;:::o;10972:142::-;11022:9;11055:53;11073:34;11082:24;11100:5;11082:24;:::i;:::-;11073:34;:::i;:::-;11055:53;:::i;:::-;11042:66;;10972:142;;;:::o;11120:126::-;11170:9;11203:37;11234:5;11203:37;:::i;:::-;11190:50;;11120:126;;;:::o;11252:134::-;11310:9;11343:37;11374:5;11343:37;:::i;:::-;11330:50;;11252:134;;;:::o;11392:147::-;11487:45;11526:5;11487:45;:::i;:::-;11482:3;11475:58;11392:147;;:::o;11545:348::-;11674:4;11712:2;11701:9;11697:18;11689:26;;11725:79;11801:1;11790:9;11786:17;11777:6;11725:79;:::i;:::-;11814:72;11882:2;11871:9;11867:18;11858:6;11814:72;:::i;:::-;11545:348;;;;;:::o;11899:116::-;11969:21;11984:5;11969:21;:::i;:::-;11962:5;11959:32;11949:60;;12005:1;12002;11995:12;11949:60;11899:116;:::o;12021:137::-;12075:5;12106:6;12100:13;12091:22;;12122:30;12146:5;12122:30;:::i;:::-;12021:137;;;;:::o;12164:345::-;12231:6;12280:2;12268:9;12259:7;12255:23;12251:32;12248:119;;;12286:79;;:::i;:::-;12248:119;12406:1;12431:61;12484:7;12475:6;12464:9;12460:22;12431:61;:::i;:::-;12421:71;;12377:125;12164:345;;;;:::o;12515:171::-;12655:23;12651:1;12643:6;12639:14;12632:47;12515:171;:::o;12692:366::-;12834:3;12855:67;12919:2;12914:3;12855:67;:::i;:::-;12848:74;;12931:93;13020:3;12931:93;:::i;:::-;13049:2;13044:3;13040:12;13033:19;;12692:366;;;:::o;13064:419::-;13230:4;13268:2;13257:9;13253:18;13245:26;;13317:9;13311:4;13307:20;13303:1;13292:9;13288:17;13281:47;13345:131;13471:4;13345:131;:::i;:::-;13337:139;;13064:419;;;:::o;13489:173::-;13629:25;13625:1;13617:6;13613:14;13606:49;13489:173;:::o;13668:366::-;13810:3;13831:67;13895:2;13890:3;13831:67;:::i;:::-;13824:74;;13907:93;13996:3;13907:93;:::i;:::-;14025:2;14020:3;14016:12;14009:19;;13668:366;;;:::o;14040:419::-;14206:4;14244:2;14233:9;14229:18;14221:26;;14293:9;14287:4;14283:20;14279:1;14268:9;14264:17;14257:47;14321:131;14447:4;14321:131;:::i;:::-;14313:139;;14040:419;;;:::o;14465:143::-;14522:5;14553:6;14547:13;14538:22;;14569:33;14596:5;14569:33;:::i;:::-;14465:143;;;;:::o;14614:351::-;14684:6;14733:2;14721:9;14712:7;14708:23;14704:32;14701:119;;;14739:79;;:::i;:::-;14701:119;14859:1;14884:64;14940:7;14931:6;14920:9;14916:22;14884:64;:::i;:::-;14874:74;;14830:128;14614:351;;;;:::o;14971:332::-;15092:4;15130:2;15119:9;15115:18;15107:26;;15143:71;15211:1;15200:9;15196:17;15187:6;15143:71;:::i;:::-;15224:72;15292:2;15281:9;15277:18;15268:6;15224:72;:::i;:::-;14971:332;;;;;:::o;15309:85::-;15354:7;15383:5;15372:16;;15309:85;;;:::o;15400:158::-;15458:9;15491:61;15509:42;15518:32;15544:5;15518:32;:::i;:::-;15509:42;:::i;:::-;15491:61;:::i;:::-;15478:74;;15400:158;;;:::o;15564:147::-;15659:45;15698:5;15659:45;:::i;:::-;15654:3;15647:58;15564:147;;:::o;15717:807::-;15966:4;16004:3;15993:9;15989:19;15981:27;;16018:71;16086:1;16075:9;16071:17;16062:6;16018:71;:::i;:::-;16099:72;16167:2;16156:9;16152:18;16143:6;16099:72;:::i;:::-;16181:80;16257:2;16246:9;16242:18;16233:6;16181:80;:::i;:::-;16271;16347:2;16336:9;16332:18;16323:6;16271:80;:::i;:::-;16361:73;16429:3;16418:9;16414:19;16405:6;16361:73;:::i;:::-;16444;16512:3;16501:9;16497:19;16488:6;16444:73;:::i;:::-;15717:807;;;;;;;;;:::o;16530:143::-;16587:5;16618:6;16612:13;16603:22;;16634:33;16661:5;16634:33;:::i;:::-;16530:143;;;;:::o;16679:663::-;16767:6;16775;16783;16832:2;16820:9;16811:7;16807:23;16803:32;16800:119;;;16838:79;;:::i;:::-;16800:119;16958:1;16983:64;17039:7;17030:6;17019:9;17015:22;16983:64;:::i;:::-;16973:74;;16929:128;17096:2;17122:64;17178:7;17169:6;17158:9;17154:22;17122:64;:::i;:::-;17112:74;;17067:129;17235:2;17261:64;17317:7;17308:6;17297:9;17293:22;17261:64;:::i;:::-;17251:74;;17206:129;16679:663;;;;;:::o;17348:332::-;17469:4;17507:2;17496:9;17492:18;17484:26;;17520:71;17588:1;17577:9;17573:17;17564:6;17520:71;:::i;:::-;17601:72;17669:2;17658:9;17654:18;17645:6;17601:72;:::i;:::-;17348:332;;;;;:::o;17686:223::-;17826:34;17822:1;17814:6;17810:14;17803:58;17895:6;17890:2;17882:6;17878:15;17871:31;17686:223;:::o;17915:366::-;18057:3;18078:67;18142:2;18137:3;18078:67;:::i;:::-;18071:74;;18154:93;18243:3;18154:93;:::i;:::-;18272:2;18267:3;18263:12;18256:19;;17915:366;;;:::o;18287:419::-;18453:4;18491:2;18480:9;18476:18;18468:26;;18540:9;18534:4;18530:20;18526:1;18515:9;18511:17;18504:47;18568:131;18694:4;18568:131;:::i;:::-;18560:139;;18287:419;;;:::o;18712:221::-;18852:34;18848:1;18840:6;18836:14;18829:58;18921:4;18916:2;18908:6;18904:15;18897:29;18712:221;:::o;18939:366::-;19081:3;19102:67;19166:2;19161:3;19102:67;:::i;:::-;19095:74;;19178:93;19267:3;19178:93;:::i;:::-;19296:2;19291:3;19287:12;19280:19;;18939:366;;;:::o;19311:419::-;19477:4;19515:2;19504:9;19500:18;19492:26;;19564:9;19558:4;19554:20;19550:1;19539:9;19535:17;19528:47;19592:131;19718:4;19592:131;:::i;:::-;19584:139;;19311:419;;;:::o;19736:224::-;19876:34;19872:1;19864:6;19860:14;19853:58;19945:7;19940:2;19932:6;19928:15;19921:32;19736:224;:::o;19966:366::-;20108:3;20129:67;20193:2;20188:3;20129:67;:::i;:::-;20122:74;;20205:93;20294:3;20205:93;:::i;:::-;20323:2;20318:3;20314:12;20307:19;;19966:366;;;:::o;20338:419::-;20504:4;20542:2;20531:9;20527:18;20519:26;;20591:9;20585:4;20581:20;20577:1;20566:9;20562:17;20555:47;20619:131;20745:4;20619:131;:::i;:::-;20611:139;;20338:419;;;:::o;20763:222::-;20903:34;20899:1;20891:6;20887:14;20880:58;20972:5;20967:2;20959:6;20955:15;20948:30;20763:222;:::o;20991:366::-;21133:3;21154:67;21218:2;21213:3;21154:67;:::i;:::-;21147:74;;21230:93;21319:3;21230:93;:::i;:::-;21348:2;21343:3;21339:12;21332:19;;20991:366;;;:::o;21363:419::-;21529:4;21567:2;21556:9;21552:18;21544:26;;21616:9;21610:4;21606:20;21602:1;21591:9;21587:17;21580:47;21644:131;21770:4;21644:131;:::i;:::-;21636:139;;21363:419;;;:::o;21788:228::-;21928:34;21924:1;21916:6;21912:14;21905:58;21997:11;21992:2;21984:6;21980:15;21973:36;21788:228;:::o;22022:366::-;22164:3;22185:67;22249:2;22244:3;22185:67;:::i;:::-;22178:74;;22261:93;22350:3;22261:93;:::i;:::-;22379:2;22374:3;22370:12;22363:19;;22022:366;;;:::o;22394:419::-;22560:4;22598:2;22587:9;22583:18;22575:26;;22647:9;22641:4;22637:20;22633:1;22622:9;22618:17;22611:47;22675:131;22801:4;22675:131;:::i;:::-;22667:139;;22394:419;;;:::o;22819:296::-;22959:34;22955:1;22947:6;22943:14;22936:58;23028:34;23023:2;23015:6;23011:15;23004:59;23097:10;23092:2;23084:6;23080:15;23073:35;22819:296;:::o;23121:366::-;23263:3;23284:67;23348:2;23343:3;23284:67;:::i;:::-;23277:74;;23360:93;23449:3;23360:93;:::i;:::-;23478:2;23473:3;23469:12;23462:19;;23121:366;;;:::o;23493:419::-;23659:4;23697:2;23686:9;23682:18;23674:26;;23746:9;23740:4;23736:20;23732:1;23721:9;23717:17;23710:47;23774:131;23900:4;23774:131;:::i;:::-;23766:139;;23493:419;;;:::o;23918:175::-;24058:27;24054:1;24046:6;24042:14;24035:51;23918:175;:::o;24099:366::-;24241:3;24262:67;24326:2;24321:3;24262:67;:::i;:::-;24255:74;;24338:93;24427:3;24338:93;:::i;:::-;24456:2;24451:3;24447:12;24440:19;;24099:366;;;:::o;24471:419::-;24637:4;24675:2;24664:9;24660:18;24652:26;;24724:9;24718:4;24714:20;24710:1;24699:9;24695:17;24688:47;24752:131;24878:4;24752:131;:::i;:::-;24744:139;;24471:419;;;:::o;24896:191::-;24936:3;24955:20;24973:1;24955:20;:::i;:::-;24950:25;;24989:20;25007:1;24989:20;:::i;:::-;24984:25;;25032:1;25029;25025:9;25018:16;;25053:3;25050:1;25047:10;25044:36;;;25060:18;;:::i;:::-;25044:36;24896:191;;;;:::o;25093:176::-;25233:28;25229:1;25221:6;25217:14;25210:52;25093:176;:::o;25275:366::-;25417:3;25438:67;25502:2;25497:3;25438:67;:::i;:::-;25431:74;;25514:93;25603:3;25514:93;:::i;:::-;25632:2;25627:3;25623:12;25616:19;;25275:366;;;:::o;25647:419::-;25813:4;25851:2;25840:9;25836:18;25828:26;;25900:9;25894:4;25890:20;25886:1;25875:9;25871:17;25864:47;25928:131;26054:4;25928:131;:::i;:::-;25920:139;;25647:419;;;:::o;26072:233::-;26111:3;26134:24;26152:5;26134:24;:::i;:::-;26125:33;;26180:66;26173:5;26170:77;26167:103;;26250:18;;:::i;:::-;26167:103;26297:1;26290:5;26286:13;26279:20;;26072:233;;;:::o;26311:169::-;26451:21;26447:1;26439:6;26435:14;26428:45;26311:169;:::o;26486:366::-;26628:3;26649:67;26713:2;26708:3;26649:67;:::i;:::-;26642:74;;26725:93;26814:3;26725:93;:::i;:::-;26843:2;26838:3;26834:12;26827:19;;26486:366;;;:::o;26858:419::-;27024:4;27062:2;27051:9;27047:18;27039:26;;27111:9;27105:4;27101:20;27097:1;27086:9;27082:17;27075:47;27139:131;27265:4;27139:131;:::i;:::-;27131:139;;26858:419;;;:::o;27283:194::-;27323:4;27343:20;27361:1;27343:20;:::i;:::-;27338:25;;27377:20;27395:1;27377:20;:::i;:::-;27372:25;;27421:1;27418;27414:9;27406:17;;27445:1;27439:4;27436:11;27433:37;;;27450:18;;:::i;:::-;27433:37;27283:194;;;;:::o;27483:180::-;27531:77;27528:1;27521:88;27628:4;27625:1;27618:15;27652:4;27649:1;27642:15;27669:180;27717:77;27714:1;27707:88;27814:4;27811:1;27804:15;27838:4;27835:1;27828:15;27855:114;27922:6;27956:5;27950:12;27940:22;;27855:114;;;:::o;27975:184::-;28074:11;28108:6;28103:3;28096:19;28148:4;28143:3;28139:14;28124:29;;27975:184;;;;:::o;28165:132::-;28232:4;28255:3;28247:11;;28285:4;28280:3;28276:14;28268:22;;28165:132;;;:::o;28303:108::-;28380:24;28398:5;28380:24;:::i;:::-;28375:3;28368:37;28303:108;;:::o;28417:179::-;28486:10;28507:46;28549:3;28541:6;28507:46;:::i;:::-;28585:4;28580:3;28576:14;28562:28;;28417:179;;;;:::o;28602:113::-;28672:4;28704;28699:3;28695:14;28687:22;;28602:113;;;:::o;28751:732::-;28870:3;28899:54;28947:5;28899:54;:::i;:::-;28969:86;29048:6;29043:3;28969:86;:::i;:::-;28962:93;;29079:56;29129:5;29079:56;:::i;:::-;29158:7;29189:1;29174:284;29199:6;29196:1;29193:13;29174:284;;;29275:6;29269:13;29302:63;29361:3;29346:13;29302:63;:::i;:::-;29295:70;;29388:60;29441:6;29388:60;:::i;:::-;29378:70;;29234:224;29221:1;29218;29214:9;29209:14;;29174:284;;;29178:14;29474:3;29467:10;;28875:608;;;28751:732;;;;:::o;29489:831::-;29752:4;29790:3;29779:9;29775:19;29767:27;;29804:71;29872:1;29861:9;29857:17;29848:6;29804:71;:::i;:::-;29885:80;29961:2;29950:9;29946:18;29937:6;29885:80;:::i;:::-;30012:9;30006:4;30002:20;29997:2;29986:9;29982:18;29975:48;30040:108;30143:4;30134:6;30040:108;:::i;:::-;30032:116;;30158:72;30226:2;30215:9;30211:18;30202:6;30158:72;:::i;:::-;30240:73;30308:3;30297:9;30293:19;30284:6;30240:73;:::i;:::-;29489:831;;;;;;;;:::o;30326:180::-;30374:77;30371:1;30364:88;30471:4;30468:1;30461:15;30495:4;30492:1;30485:15;30512:185;30552:1;30569:20;30587:1;30569:20;:::i;:::-;30564:25;;30603:20;30621:1;30603:20;:::i;:::-;30598:25;;30642:1;30632:35;;30647:18;;:::i;:::-;30632:35;30689:1;30686;30682:9;30677:14;;30512:185;;;;:::o;30703:220::-;30843:34;30839:1;30831:6;30827:14;30820:58;30912:3;30907:2;30899:6;30895:15;30888:28;30703:220;:::o;30929:366::-;31071:3;31092:67;31156:2;31151:3;31092:67;:::i;:::-;31085:74;;31168:93;31257:3;31168:93;:::i;:::-;31286:2;31281:3;31277:12;31270:19;;30929:366;;;:::o;31301:419::-;31467:4;31505:2;31494:9;31490:18;31482:26;;31554:9;31548:4;31544:20;31540:1;31529:9;31525:17;31518:47;31582:131;31708:4;31582:131;:::i;:::-;31574:139;;31301:419;;;:::o;31726:177::-;31866:29;31862:1;31854:6;31850:14;31843:53;31726:177;:::o;31909:366::-;32051:3;32072:67;32136:2;32131:3;32072:67;:::i;:::-;32065:74;;32148:93;32237:3;32148:93;:::i;:::-;32266:2;32261:3;32257:12;32250:19;;31909:366;;;:::o;32281:419::-;32447:4;32485:2;32474:9;32470:18;32462:26;;32534:9;32528:4;32524:20;32520:1;32509:9;32505:17;32498:47;32562:131;32688:4;32562:131;:::i;:::-;32554:139;;32281:419;;;:::o
Swarm Source
ipfs://dc59a1472ba91f5664a8b7b73136ba1a4a42207e72a09d0364b9ceb661eaa3d2
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.