ERC-20
Overview
Max Total Supply
10,000,000 ORBIT
Holders
1,263
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
OrbitAI
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-12-11 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.26; /* Twitter: https://x.com/UseOrbitAI Telegram: https://t.me/+GldCgdRkTPliOTFh */ 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; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } 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 OrbitAI is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludedFromFee; address payable public _orbitSpaceWallet = payable(0xAfC6e52CbE7c7b4dFfb26A21e3595E5aE20767be); uint8 private constant _decimals = 18; uint256 private constant _tTotal = 10000000 * 10**_decimals; string private constant _name = unicode"OrbitAI"; string private constant _symbol = unicode"ORBIT"; uint256 public _taxSwapThreshold= 5000 * 10**_decimals; uint256 public _orbitFeeOnBuy = 5; uint256 public _orbitFeeOnSell = 5; uint256 public antiWhaleOrbit = 200000 * 10 ** decimals(); bool public tradingLaunched = false; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private inSwap = false; bool private swapEnabled = true; modifier lockTheSwap { inSwap = true; _; inSwap = false; } event TaxWalletPaymentRevert(address indexed taxWallet, uint256 amount); constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // mainnet router address // IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0xD99D1c33F9fC3444f8101754aBC46c52416550D1); // test router address // Create a uniswap pair for this new token uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); // set the rest of the contract variables uniswapV2Router = _uniswapV2Router; _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_orbitSpaceWallet] = 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 (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { require(tradingLaunched, "Trading to be Launched"); if(to != uniswapV2Pair){ require(balanceOf(to) + amount <= antiWhaleOrbit, "Cannot exceed max wallet amount"); } if(_orbitFeeOnBuy > 0) { if (from == uniswapV2Pair && to != address(uniswapV2Router)) { taxAmount = amount.mul(_orbitFeeOnBuy).div(100); } } if(_orbitFeeOnSell > 0) { if(to == uniswapV2Pair){ taxAmount = amount.mul(_orbitFeeOnSell).div(100); } } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } 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 { if(tokenAmount==0){return;} 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 sendETHToFee(uint256 amount) private { (bool callSuccess, ) = payable(_orbitSpaceWallet).call{value: amount}(""); if (!callSuccess) { // Log the failure but do not revert the transaction emit TaxWalletPaymentRevert(_orbitSpaceWallet, amount); } } receive() external payable {} function manualSwap() external { require(_msgSender()==_orbitSpaceWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } function LaunchOrbitToTheMoon() public onlyOwner { require(tradingLaunched != true, "Trade launched already"); tradingLaunched = true; } function changeOrbitMaxWalletAmount(uint256 _maxLimit) public onlyOwner{ require(_maxLimit > totalSupply().div(200),"Limit cannot be too low"); antiWhaleOrbit = _maxLimit; } function updateTaxSwapThreshold(uint256 _taxLimit) public onlyOwner{ require(_taxLimit > 0, "Threshold cannot be 0"); _taxSwapThreshold = _taxLimit; } function modifyOrbitTaxes(uint256 buyFee, uint256 sellFee) public onlyOwner { _orbitFeeOnBuy = buyFee; _orbitFeeOnSell = sellFee; } function excludeFromTaxes(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function includeInTaxes(address account) public onlyOwner { _isExcludedFromFee[account] = false; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"taxWallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TaxWalletPaymentRevert","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":"LaunchOrbitToTheMoon","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_orbitFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_orbitFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_orbitSpaceWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":[],"name":"antiWhaleOrbit","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":[{"internalType":"uint256","name":"_maxLimit","type":"uint256"}],"name":"changeOrbitMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyFee","type":"uint256"},{"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"modifyOrbitTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":[],"name":"tradingLaunched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxLimit","type":"uint256"}],"name":"updateTaxSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405273afc6e52cbe7c7b4dffb26a21e3595e5ae20767be60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a610066919061079e565b61138861007391906107e8565b6005556005600655600560075561008e61053660201b60201c565b600a61009a919061079e565b62030d406100a891906107e8565b6008555f60095f6101000a81548160ff0219169083151502179055505f600a60146101000a81548160ff0219169083151502179055506001600a60156101000a81548160ff021916908315150217905550348015610104575f80fd5b5061012161011661053e60201b60201c565b61054560201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610182573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a69190610887565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561020b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061022f9190610887565b6040518363ffffffff1660e01b815260040161024c9291906108c1565b6020604051808303815f875af1158015610268573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028c9190610887565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a61031a919061079e565b6298968061032891906107e8565b60015f61033961053e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61038961060660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506104b161053e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a61050d919061079e565b6298968061051b91906107e8565b60405161052891906108f7565b60405180910390a350610910565b5f6012905090565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156106af5780860481111561068b5761068a61062d565b5b600185161561069a5780820291505b80810290506106a88561065a565b945061066f565b94509492505050565b5f826106c75760019050610782565b816106d4575f9050610782565b81600181146106ea57600281146106f457610723565b6001915050610782565b60ff8411156107065761070561062d565b5b8360020a91508482111561071d5761071c61062d565b5b50610782565b5060208310610133831016604e8410600b84101617156107585782820a9050838111156107535761075261062d565b5b610782565b6107658484846001610666565b9250905081840481111561077c5761077b61062d565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6107a882610789565b91506107b383610792565b92506107e07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846106b8565b905092915050565b5f6107f282610789565b91506107fd83610789565b925082820261080b81610789565b915082820484148315176108225761082161062d565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6108568261082d565b9050919050565b6108668161084c565b8114610870575f80fd5b50565b5f815190506108818161085d565b92915050565b5f6020828403121561089c5761089b610829565b5b5f6108a984828501610873565b91505092915050565b6108bb8161084c565b82525050565b5f6040820190506108d45f8301856108b2565b6108e160208301846108b2565b9392505050565b6108f181610789565b82525050565b5f60208201905061090a5f8301846108e8565b92915050565b612beb8061091d5f395ff3fe608060405260043610610184575f3560e01c806378fa42d8116100d0578063a237291111610089578063dd62ed3e11610063578063dd62ed3e14610553578063ec2353ea1461058f578063f2fde38b146105a5578063f96d3923146105cd5761018b565b8063a2372911146104c3578063a9059cbb146104ed578063bf474bed146105295761018b565b806378fa42d8146103cb57806380b79d69146103f55780638d8946491461041d5780638da5cb5b1461044757806395d89b4114610471578063983e91581461049b5761018b565b806318160ddd1161013d57806351bc3c851161011757806351bc3c851461032757806370a082311461033d578063715018a614610379578063768dc7101461038f5761018b565b806318160ddd1461029757806323b872dd146102c1578063313ce567146102fd5761018b565b8063034832bd1461018f57806306fdde03146101b7578063072c53b5146101e1578063095ea7b31461020b5780631125670e14610247578063131e00b71461026f5761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101b560048036038101906101b09190611cc4565b6105f7565b005b3480156101c2575f80fd5b506101cb61064b565b6040516101d89190611d5f565b60405180910390f35b3480156101ec575f80fd5b506101f5610688565b6040516102029190611d8e565b60405180910390f35b348015610216575f80fd5b50610231600480360381019061022c9190611e01565b61068e565b60405161023e9190611e59565b60405180910390f35b348015610252575f80fd5b5061026d60048036038101906102689190611e72565b6106ab565b005b34801561027a575f80fd5b5061029560048036038101906102909190611eb0565b6106c5565b005b3480156102a2575f80fd5b506102ab610725565b6040516102b89190611d8e565b60405180910390f35b3480156102cc575f80fd5b506102e760048036038101906102e29190611edb565b610747565b6040516102f49190611e59565b60405180910390f35b348015610308575f80fd5b5061031161081b565b60405161031e9190611f46565b60405180910390f35b348015610332575f80fd5b5061033b610823565b005b348015610348575f80fd5b50610363600480360381019061035e9190611eb0565b6108ba565b6040516103709190611d8e565b60405180910390f35b348015610384575f80fd5b5061038d610900565b005b34801561039a575f80fd5b506103b560048036038101906103b09190611eb0565b610913565b6040516103c29190611e59565b60405180910390f35b3480156103d6575f80fd5b506103df610930565b6040516103ec9190611f7f565b60405180910390f35b348015610400575f80fd5b5061041b60048036038101906104169190611cc4565b610955565b005b348015610428575f80fd5b506104316109c3565b60405161043e9190611d8e565b60405180910390f35b348015610452575f80fd5b5061045b6109c9565b6040516104689190611fa7565b60405180910390f35b34801561047c575f80fd5b506104856109f0565b6040516104929190611d5f565b60405180910390f35b3480156104a6575f80fd5b506104c160048036038101906104bc9190611eb0565b610a2d565b005b3480156104ce575f80fd5b506104d7610a8c565b6040516104e49190611d8e565b60405180910390f35b3480156104f8575f80fd5b50610513600480360381019061050e9190611e01565b610a92565b6040516105209190611e59565b60405180910390f35b348015610534575f80fd5b5061053d610aaf565b60405161054a9190611d8e565b60405180910390f35b34801561055e575f80fd5b5061057960048036038101906105749190611fc0565b610ab5565b6040516105869190611d8e565b60405180910390f35b34801561059a575f80fd5b506105a3610b37565b005b3480156105b0575f80fd5b506105cb60048036038101906105c69190611eb0565b610bb0565b005b3480156105d8575f80fd5b506105e1610c32565b6040516105ee9190611e59565b60405180910390f35b6105ff610c44565b5f8111610641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063890612048565b60405180910390fd5b8060058190555050565b60606040518060400160405280600781526020017f4f72626974414900000000000000000000000000000000000000000000000000815250905090565b60085481565b5f6106a161069a610cc2565b8484610cc9565b6001905092915050565b6106b3610c44565b81600681905550806007819055505050565b6106cd610c44565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f6012600a61073491906121c2565b62989680610742919061220c565b905090565b5f610753848484610e8c565b6108108461075f610cc2565b61080b85604051806060016040528060288152602001612b8e6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107c2610cc2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461162a9092919063ffffffff16565b610cc9565b600190509392505050565b5f6012905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610863610cc2565b73ffffffffffffffffffffffffffffffffffffffff1614610882575f80fd5b5f61088c306108ba565b90505f8111156108a05761089f8161168c565b5b5f4790505f8111156108b6576108b581611903565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610908610c44565b6109115f611a05565b565b6003602052805f5260405f205f915054906101000a900460ff1681565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61095d610c44565b61097860c861096a610725565b611ac690919063ffffffff16565b81116109b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b090612297565b60405180910390fd5b8060088190555050565b60065481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4f52424954000000000000000000000000000000000000000000000000000000815250905090565b610a35610c44565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60075481565b5f610aa5610a9e610cc2565b8484610e8c565b6001905092915050565b60055481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610b3f610c44565b6001151560095f9054906101000a900460ff16151503610b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8b906122ff565b60405180910390fd5b600160095f6101000a81548160ff021916908315150217905550565b610bb8610c44565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1d9061238d565b60405180910390fd5b610c2f81611a05565b50565b60095f9054906101000a900460ff1681565b610c4c610cc2565b73ffffffffffffffffffffffffffffffffffffffff16610c6a6109c9565b73ffffffffffffffffffffffffffffffffffffffff1614610cc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb7906123f5565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2e90612483565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610da5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9c90612511565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e7f9190611d8e565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef19061259f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5f9061262d565b60405180910390fd5b5f8111610faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa1906126bb565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611049575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561137a5760095f9054906101000a900460ff1661109c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109390612723565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461114957600854826110fd856108ba565b6111079190612741565b1115611148576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113f906127be565b60405180910390fd5b5b5f600654111561122e57600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111fd5750600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561122d5761122a606461121c60065485611b0f90919063ffffffff16565b611ac690919063ffffffff16565b90505b5b5f60075411156112b857600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b7576112b460646112a660075485611b0f90919063ffffffff16565b611ac690919063ffffffff16565b90505b5b5f6112c2306108ba565b9050600a60149054906101000a900460ff1615801561132d5750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156113455750600a60159054906101000a900460ff165b8015611352575060055481115b15611378576113608161168c565b5f4790505f8111156113765761137547611903565b5b505b505b5f811115611479576113d28160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b8690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114709190611d8e565b60405180910390a35b6114c98260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611be390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061156c6115208284611be390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b8690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61160f8486611be390919063ffffffff16565b60405161161c9190611d8e565b60405180910390a350505050565b5f838311158290611671576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116689190611d5f565b60405180910390fd5b505f838561167f91906127dc565b9050809150509392505050565b6001600a60146101000a81548160ff0219169083151502179055505f8103156118e6575f600267ffffffffffffffff8111156116cb576116ca61280f565b5b6040519080825280602002602001820160405280156116f95781602001602082028036833780820191505090505b50905030815f815181106117105761170f61283c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117d9919061287d565b816001815181106117ed576117ec61283c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061185430600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610cc9565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016118b79594939291906129a1565b5f604051808303815f87803b1580156118ce575f80fd5b505af11580156118e0573d5f803e3d5ffd5b50505050505b5f600a60146101000a81548160ff02191690831515021790555050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161194990612a26565b5f6040518083038185875af1925050503d805f8114611983576040519150601f19603f3d011682016040523d82523d5f602084013e611988565b606091505b5050905080611a015760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db57836040516119f89190611d8e565b60405180910390a25b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f611b0783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c2c565b905092915050565b5f808303611b1f575f9050611b80565b5f8284611b2c919061220c565b9050828482611b3b9190612a67565b14611b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7290612b07565b60405180910390fd5b809150505b92915050565b5f808284611b949190612741565b905083811015611bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd090612b6f565b60405180910390fd5b8091505092915050565b5f611c2483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061162a565b905092915050565b5f8083118290611c72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c699190611d5f565b60405180910390fd5b505f8385611c809190612a67565b9050809150509392505050565b5f80fd5b5f819050919050565b611ca381611c91565b8114611cad575f80fd5b50565b5f81359050611cbe81611c9a565b92915050565b5f60208284031215611cd957611cd8611c8d565b5b5f611ce684828501611cb0565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611d3182611cef565b611d3b8185611cf9565b9350611d4b818560208601611d09565b611d5481611d17565b840191505092915050565b5f6020820190508181035f830152611d778184611d27565b905092915050565b611d8881611c91565b82525050565b5f602082019050611da15f830184611d7f565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611dd082611da7565b9050919050565b611de081611dc6565b8114611dea575f80fd5b50565b5f81359050611dfb81611dd7565b92915050565b5f8060408385031215611e1757611e16611c8d565b5b5f611e2485828601611ded565b9250506020611e3585828601611cb0565b9150509250929050565b5f8115159050919050565b611e5381611e3f565b82525050565b5f602082019050611e6c5f830184611e4a565b92915050565b5f8060408385031215611e8857611e87611c8d565b5b5f611e9585828601611cb0565b9250506020611ea685828601611cb0565b9150509250929050565b5f60208284031215611ec557611ec4611c8d565b5b5f611ed284828501611ded565b91505092915050565b5f805f60608486031215611ef257611ef1611c8d565b5b5f611eff86828701611ded565b9350506020611f1086828701611ded565b9250506040611f2186828701611cb0565b9150509250925092565b5f60ff82169050919050565b611f4081611f2b565b82525050565b5f602082019050611f595f830184611f37565b92915050565b5f611f6982611da7565b9050919050565b611f7981611f5f565b82525050565b5f602082019050611f925f830184611f70565b92915050565b611fa181611dc6565b82525050565b5f602082019050611fba5f830184611f98565b92915050565b5f8060408385031215611fd657611fd5611c8d565b5b5f611fe385828601611ded565b9250506020611ff485828601611ded565b9150509250929050565b7f5468726573686f6c642063616e6e6f74206265203000000000000000000000005f82015250565b5f612032601583611cf9565b915061203d82611ffe565b602082019050919050565b5f6020820190508181035f83015261205f81612026565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156120e8578086048111156120c4576120c3612066565b5b60018516156120d35780820291505b80810290506120e185612093565b94506120a8565b94509492505050565b5f8261210057600190506121bb565b8161210d575f90506121bb565b8160018114612123576002811461212d5761215c565b60019150506121bb565b60ff84111561213f5761213e612066565b5b8360020a91508482111561215657612155612066565b5b506121bb565b5060208310610133831016604e8410600b84101617156121915782820a90508381111561218c5761218b612066565b5b6121bb565b61219e848484600161209f565b925090508184048111156121b5576121b4612066565b5b81810290505b9392505050565b5f6121cc82611c91565b91506121d783611f2b565b92506122047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846120f1565b905092915050565b5f61221682611c91565b915061222183611c91565b925082820261222f81611c91565b9150828204841483151761224657612245612066565b5b5092915050565b7f4c696d69742063616e6e6f7420626520746f6f206c6f770000000000000000005f82015250565b5f612281601783611cf9565b915061228c8261224d565b602082019050919050565b5f6020820190508181035f8301526122ae81612275565b9050919050565b7f5472616465206c61756e6368656420616c7265616479000000000000000000005f82015250565b5f6122e9601683611cf9565b91506122f4826122b5565b602082019050919050565b5f6020820190508181035f830152612316816122dd565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612377602683611cf9565b91506123828261231d565b604082019050919050565b5f6020820190508181035f8301526123a48161236b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6123df602083611cf9565b91506123ea826123ab565b602082019050919050565b5f6020820190508181035f83015261240c816123d3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61246d602483611cf9565b915061247882612413565b604082019050919050565b5f6020820190508181035f83015261249a81612461565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6124fb602283611cf9565b9150612506826124a1565b604082019050919050565b5f6020820190508181035f830152612528816124ef565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612589602583611cf9565b91506125948261252f565b604082019050919050565b5f6020820190508181035f8301526125b68161257d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612617602383611cf9565b9150612622826125bd565b604082019050919050565b5f6020820190508181035f8301526126448161260b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6126a5602983611cf9565b91506126b08261264b565b604082019050919050565b5f6020820190508181035f8301526126d281612699565b9050919050565b7f54726164696e6720746f206265204c61756e63686564000000000000000000005f82015250565b5f61270d601683611cf9565b9150612718826126d9565b602082019050919050565b5f6020820190508181035f83015261273a81612701565b9050919050565b5f61274b82611c91565b915061275683611c91565b925082820190508082111561276e5761276d612066565b5b92915050565b7f43616e6e6f7420657863656564206d61782077616c6c657420616d6f756e74005f82015250565b5f6127a8601f83611cf9565b91506127b382612774565b602082019050919050565b5f6020820190508181035f8301526127d58161279c565b9050919050565b5f6127e682611c91565b91506127f183611c91565b925082820390508181111561280957612808612066565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061287781611dd7565b92915050565b5f6020828403121561289257612891611c8d565b5b5f61289f84828501612869565b91505092915050565b5f819050919050565b5f819050919050565b5f6128d46128cf6128ca846128a8565b6128b1565b611c91565b9050919050565b6128e4816128ba565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61291c81611dc6565b82525050565b5f61292d8383612913565b60208301905092915050565b5f602082019050919050565b5f61294f826128ea565b61295981856128f4565b935061296483612904565b805f5b8381101561299457815161297b8882612922565b975061298683612939565b925050600181019050612967565b5085935050505092915050565b5f60a0820190506129b45f830188611d7f565b6129c160208301876128db565b81810360408301526129d38186612945565b90506129e26060830185611f98565b6129ef6080830184611d7f565b9695505050505050565b5f81905092915050565b50565b5f612a115f836129f9565b9150612a1c82612a03565b5f82019050919050565b5f612a3082612a06565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612a7182611c91565b9150612a7c83611c91565b925082612a8c57612a8b612a3a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612af1602183611cf9565b9150612afc82612a97565b604082019050919050565b5f6020820190508181035f830152612b1e81612ae5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612b59601b83611cf9565b9150612b6482612b25565b602082019050919050565b5f6020820190508181035f830152612b8681612b4d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a501c440c85f8cc05e6fe86ae73241b05e13ffa38ab4c25a90ccd18aa50ded6b64736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610184575f3560e01c806378fa42d8116100d0578063a237291111610089578063dd62ed3e11610063578063dd62ed3e14610553578063ec2353ea1461058f578063f2fde38b146105a5578063f96d3923146105cd5761018b565b8063a2372911146104c3578063a9059cbb146104ed578063bf474bed146105295761018b565b806378fa42d8146103cb57806380b79d69146103f55780638d8946491461041d5780638da5cb5b1461044757806395d89b4114610471578063983e91581461049b5761018b565b806318160ddd1161013d57806351bc3c851161011757806351bc3c851461032757806370a082311461033d578063715018a614610379578063768dc7101461038f5761018b565b806318160ddd1461029757806323b872dd146102c1578063313ce567146102fd5761018b565b8063034832bd1461018f57806306fdde03146101b7578063072c53b5146101e1578063095ea7b31461020b5780631125670e14610247578063131e00b71461026f5761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101b560048036038101906101b09190611cc4565b6105f7565b005b3480156101c2575f80fd5b506101cb61064b565b6040516101d89190611d5f565b60405180910390f35b3480156101ec575f80fd5b506101f5610688565b6040516102029190611d8e565b60405180910390f35b348015610216575f80fd5b50610231600480360381019061022c9190611e01565b61068e565b60405161023e9190611e59565b60405180910390f35b348015610252575f80fd5b5061026d60048036038101906102689190611e72565b6106ab565b005b34801561027a575f80fd5b5061029560048036038101906102909190611eb0565b6106c5565b005b3480156102a2575f80fd5b506102ab610725565b6040516102b89190611d8e565b60405180910390f35b3480156102cc575f80fd5b506102e760048036038101906102e29190611edb565b610747565b6040516102f49190611e59565b60405180910390f35b348015610308575f80fd5b5061031161081b565b60405161031e9190611f46565b60405180910390f35b348015610332575f80fd5b5061033b610823565b005b348015610348575f80fd5b50610363600480360381019061035e9190611eb0565b6108ba565b6040516103709190611d8e565b60405180910390f35b348015610384575f80fd5b5061038d610900565b005b34801561039a575f80fd5b506103b560048036038101906103b09190611eb0565b610913565b6040516103c29190611e59565b60405180910390f35b3480156103d6575f80fd5b506103df610930565b6040516103ec9190611f7f565b60405180910390f35b348015610400575f80fd5b5061041b60048036038101906104169190611cc4565b610955565b005b348015610428575f80fd5b506104316109c3565b60405161043e9190611d8e565b60405180910390f35b348015610452575f80fd5b5061045b6109c9565b6040516104689190611fa7565b60405180910390f35b34801561047c575f80fd5b506104856109f0565b6040516104929190611d5f565b60405180910390f35b3480156104a6575f80fd5b506104c160048036038101906104bc9190611eb0565b610a2d565b005b3480156104ce575f80fd5b506104d7610a8c565b6040516104e49190611d8e565b60405180910390f35b3480156104f8575f80fd5b50610513600480360381019061050e9190611e01565b610a92565b6040516105209190611e59565b60405180910390f35b348015610534575f80fd5b5061053d610aaf565b60405161054a9190611d8e565b60405180910390f35b34801561055e575f80fd5b5061057960048036038101906105749190611fc0565b610ab5565b6040516105869190611d8e565b60405180910390f35b34801561059a575f80fd5b506105a3610b37565b005b3480156105b0575f80fd5b506105cb60048036038101906105c69190611eb0565b610bb0565b005b3480156105d8575f80fd5b506105e1610c32565b6040516105ee9190611e59565b60405180910390f35b6105ff610c44565b5f8111610641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063890612048565b60405180910390fd5b8060058190555050565b60606040518060400160405280600781526020017f4f72626974414900000000000000000000000000000000000000000000000000815250905090565b60085481565b5f6106a161069a610cc2565b8484610cc9565b6001905092915050565b6106b3610c44565b81600681905550806007819055505050565b6106cd610c44565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f6012600a61073491906121c2565b62989680610742919061220c565b905090565b5f610753848484610e8c565b6108108461075f610cc2565b61080b85604051806060016040528060288152602001612b8e6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107c2610cc2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461162a9092919063ffffffff16565b610cc9565b600190509392505050565b5f6012905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610863610cc2565b73ffffffffffffffffffffffffffffffffffffffff1614610882575f80fd5b5f61088c306108ba565b90505f8111156108a05761089f8161168c565b5b5f4790505f8111156108b6576108b581611903565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610908610c44565b6109115f611a05565b565b6003602052805f5260405f205f915054906101000a900460ff1681565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61095d610c44565b61097860c861096a610725565b611ac690919063ffffffff16565b81116109b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b090612297565b60405180910390fd5b8060088190555050565b60065481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4f52424954000000000000000000000000000000000000000000000000000000815250905090565b610a35610c44565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60075481565b5f610aa5610a9e610cc2565b8484610e8c565b6001905092915050565b60055481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610b3f610c44565b6001151560095f9054906101000a900460ff16151503610b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8b906122ff565b60405180910390fd5b600160095f6101000a81548160ff021916908315150217905550565b610bb8610c44565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1d9061238d565b60405180910390fd5b610c2f81611a05565b50565b60095f9054906101000a900460ff1681565b610c4c610cc2565b73ffffffffffffffffffffffffffffffffffffffff16610c6a6109c9565b73ffffffffffffffffffffffffffffffffffffffff1614610cc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb7906123f5565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2e90612483565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610da5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9c90612511565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e7f9190611d8e565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef19061259f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5f9061262d565b60405180910390fd5b5f8111610faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa1906126bb565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611049575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561137a5760095f9054906101000a900460ff1661109c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109390612723565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461114957600854826110fd856108ba565b6111079190612741565b1115611148576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113f906127be565b60405180910390fd5b5b5f600654111561122e57600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111fd5750600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561122d5761122a606461121c60065485611b0f90919063ffffffff16565b611ac690919063ffffffff16565b90505b5b5f60075411156112b857600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b7576112b460646112a660075485611b0f90919063ffffffff16565b611ac690919063ffffffff16565b90505b5b5f6112c2306108ba565b9050600a60149054906101000a900460ff1615801561132d5750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156113455750600a60159054906101000a900460ff165b8015611352575060055481115b15611378576113608161168c565b5f4790505f8111156113765761137547611903565b5b505b505b5f811115611479576113d28160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b8690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114709190611d8e565b60405180910390a35b6114c98260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611be390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061156c6115208284611be390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b8690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61160f8486611be390919063ffffffff16565b60405161161c9190611d8e565b60405180910390a350505050565b5f838311158290611671576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116689190611d5f565b60405180910390fd5b505f838561167f91906127dc565b9050809150509392505050565b6001600a60146101000a81548160ff0219169083151502179055505f8103156118e6575f600267ffffffffffffffff8111156116cb576116ca61280f565b5b6040519080825280602002602001820160405280156116f95781602001602082028036833780820191505090505b50905030815f815181106117105761170f61283c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117d9919061287d565b816001815181106117ed576117ec61283c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061185430600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610cc9565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016118b79594939291906129a1565b5f604051808303815f87803b1580156118ce575f80fd5b505af11580156118e0573d5f803e3d5ffd5b50505050505b5f600a60146101000a81548160ff02191690831515021790555050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161194990612a26565b5f6040518083038185875af1925050503d805f8114611983576040519150601f19603f3d011682016040523d82523d5f602084013e611988565b606091505b5050905080611a015760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0759dac7fa668d044a7de2b7fd31ccc6f577fdf83cd0441d6ebaba277754db57836040516119f89190611d8e565b60405180910390a25b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f611b0783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c2c565b905092915050565b5f808303611b1f575f9050611b80565b5f8284611b2c919061220c565b9050828482611b3b9190612a67565b14611b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7290612b07565b60405180910390fd5b809150505b92915050565b5f808284611b949190612741565b905083811015611bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd090612b6f565b60405180910390fd5b8091505092915050565b5f611c2483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061162a565b905092915050565b5f8083118290611c72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c699190611d5f565b60405180910390fd5b505f8385611c809190612a67565b9050809150509392505050565b5f80fd5b5f819050919050565b611ca381611c91565b8114611cad575f80fd5b50565b5f81359050611cbe81611c9a565b92915050565b5f60208284031215611cd957611cd8611c8d565b5b5f611ce684828501611cb0565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611d3182611cef565b611d3b8185611cf9565b9350611d4b818560208601611d09565b611d5481611d17565b840191505092915050565b5f6020820190508181035f830152611d778184611d27565b905092915050565b611d8881611c91565b82525050565b5f602082019050611da15f830184611d7f565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611dd082611da7565b9050919050565b611de081611dc6565b8114611dea575f80fd5b50565b5f81359050611dfb81611dd7565b92915050565b5f8060408385031215611e1757611e16611c8d565b5b5f611e2485828601611ded565b9250506020611e3585828601611cb0565b9150509250929050565b5f8115159050919050565b611e5381611e3f565b82525050565b5f602082019050611e6c5f830184611e4a565b92915050565b5f8060408385031215611e8857611e87611c8d565b5b5f611e9585828601611cb0565b9250506020611ea685828601611cb0565b9150509250929050565b5f60208284031215611ec557611ec4611c8d565b5b5f611ed284828501611ded565b91505092915050565b5f805f60608486031215611ef257611ef1611c8d565b5b5f611eff86828701611ded565b9350506020611f1086828701611ded565b9250506040611f2186828701611cb0565b9150509250925092565b5f60ff82169050919050565b611f4081611f2b565b82525050565b5f602082019050611f595f830184611f37565b92915050565b5f611f6982611da7565b9050919050565b611f7981611f5f565b82525050565b5f602082019050611f925f830184611f70565b92915050565b611fa181611dc6565b82525050565b5f602082019050611fba5f830184611f98565b92915050565b5f8060408385031215611fd657611fd5611c8d565b5b5f611fe385828601611ded565b9250506020611ff485828601611ded565b9150509250929050565b7f5468726573686f6c642063616e6e6f74206265203000000000000000000000005f82015250565b5f612032601583611cf9565b915061203d82611ffe565b602082019050919050565b5f6020820190508181035f83015261205f81612026565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156120e8578086048111156120c4576120c3612066565b5b60018516156120d35780820291505b80810290506120e185612093565b94506120a8565b94509492505050565b5f8261210057600190506121bb565b8161210d575f90506121bb565b8160018114612123576002811461212d5761215c565b60019150506121bb565b60ff84111561213f5761213e612066565b5b8360020a91508482111561215657612155612066565b5b506121bb565b5060208310610133831016604e8410600b84101617156121915782820a90508381111561218c5761218b612066565b5b6121bb565b61219e848484600161209f565b925090508184048111156121b5576121b4612066565b5b81810290505b9392505050565b5f6121cc82611c91565b91506121d783611f2b565b92506122047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846120f1565b905092915050565b5f61221682611c91565b915061222183611c91565b925082820261222f81611c91565b9150828204841483151761224657612245612066565b5b5092915050565b7f4c696d69742063616e6e6f7420626520746f6f206c6f770000000000000000005f82015250565b5f612281601783611cf9565b915061228c8261224d565b602082019050919050565b5f6020820190508181035f8301526122ae81612275565b9050919050565b7f5472616465206c61756e6368656420616c7265616479000000000000000000005f82015250565b5f6122e9601683611cf9565b91506122f4826122b5565b602082019050919050565b5f6020820190508181035f830152612316816122dd565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612377602683611cf9565b91506123828261231d565b604082019050919050565b5f6020820190508181035f8301526123a48161236b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6123df602083611cf9565b91506123ea826123ab565b602082019050919050565b5f6020820190508181035f83015261240c816123d3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61246d602483611cf9565b915061247882612413565b604082019050919050565b5f6020820190508181035f83015261249a81612461565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6124fb602283611cf9565b9150612506826124a1565b604082019050919050565b5f6020820190508181035f830152612528816124ef565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612589602583611cf9565b91506125948261252f565b604082019050919050565b5f6020820190508181035f8301526125b68161257d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612617602383611cf9565b9150612622826125bd565b604082019050919050565b5f6020820190508181035f8301526126448161260b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6126a5602983611cf9565b91506126b08261264b565b604082019050919050565b5f6020820190508181035f8301526126d281612699565b9050919050565b7f54726164696e6720746f206265204c61756e63686564000000000000000000005f82015250565b5f61270d601683611cf9565b9150612718826126d9565b602082019050919050565b5f6020820190508181035f83015261273a81612701565b9050919050565b5f61274b82611c91565b915061275683611c91565b925082820190508082111561276e5761276d612066565b5b92915050565b7f43616e6e6f7420657863656564206d61782077616c6c657420616d6f756e74005f82015250565b5f6127a8601f83611cf9565b91506127b382612774565b602082019050919050565b5f6020820190508181035f8301526127d58161279c565b9050919050565b5f6127e682611c91565b91506127f183611c91565b925082820390508181111561280957612808612066565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061287781611dd7565b92915050565b5f6020828403121561289257612891611c8d565b5b5f61289f84828501612869565b91505092915050565b5f819050919050565b5f819050919050565b5f6128d46128cf6128ca846128a8565b6128b1565b611c91565b9050919050565b6128e4816128ba565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61291c81611dc6565b82525050565b5f61292d8383612913565b60208301905092915050565b5f602082019050919050565b5f61294f826128ea565b61295981856128f4565b935061296483612904565b805f5b8381101561299457815161297b8882612922565b975061298683612939565b925050600181019050612967565b5085935050505092915050565b5f60a0820190506129b45f830188611d7f565b6129c160208301876128db565b81810360408301526129d38186612945565b90506129e26060830185611f98565b6129ef6080830184611d7f565b9695505050505050565b5f81905092915050565b50565b5f612a115f836129f9565b9150612a1c82612a03565b5f82019050919050565b5f612a3082612a06565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612a7182611c91565b9150612a7c83611c91565b925082612a8c57612a8b612a3a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612af1602183611cf9565b9150612afc82612a97565b604082019050919050565b5f6020820190508181035f830152612b1e81612ae5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612b59601b83611cf9565b9150612b6482612b25565b602082019050919050565b5f6020820190508181035f830152612b8681612b4d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a501c440c85f8cc05e6fe86ae73241b05e13ffa38ab4c25a90ccd18aa50ded6b64736f6c634300081a0033
Deployed Bytecode Sourcemap
4901:7860:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12172:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6955:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5646:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7788:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12353:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12515:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7232:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7957:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7141:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11438:355;;;;;;;;;;;;;:::i;:::-;;7335:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3322:103;;;;;;;;;;;;;:::i;:::-;;5117:51;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5175:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11968:196;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5565:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2681:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7046;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12636:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5605:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7462:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5498:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7637:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11801:159;;;;;;;;;;;;;:::i;:::-;;3580:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5712:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12172:173;2567:13;:11;:13::i;:::-;12270:1:::1;12258:9;:13;12250:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12328:9;12308:17;:29;;;;12172:173:::0;:::o;6955:83::-;6992:13;7025:5;;;;;;;;;;;;;;;;;7018:12;;6955:83;:::o;5646:57::-;;;;:::o;7788:161::-;7863:4;7880:39;7889:12;:10;:12::i;:::-;7903:7;7912:6;7880:8;:39::i;:::-;7937:4;7930:11;;7788:161;;;;:::o;12353:154::-;2567:13;:11;:13::i;:::-;12457:6:::1;12440:14;:23;;;;12492:7;12474:15;:25;;;;12353:154:::0;;:::o;12515:113::-;2567:13;:11;:13::i;:::-;12616:4:::1;12586:18;:27;12605:7;12586:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;12515:113:::0;:::o;7232:95::-;7285:7;5313:2;5368;:13;;;;:::i;:::-;5357:8;:24;;;;:::i;:::-;7305:14;;7232:95;:::o;7957:313::-;8055:4;8072:36;8082:6;8090:9;8101:6;8072:9;:36::i;:::-;8119:121;8128:6;8136:12;:10;:12::i;:::-;8150:89;8188:6;8150:89;;;;;;;;;;;;;;;;;:11;:19;8162:6;8150:19;;;;;;;;;;;;;;;:33;8170:12;:10;:12::i;:::-;8150:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8119:8;:121::i;:::-;8258:4;8251:11;;7957:313;;;;;:::o;7141:83::-;7182:5;5313:2;7200:16;;7141:83;:::o;11438:355::-;11502:17;;;;;;;;;;;11488:31;;:12;:10;:12::i;:::-;:31;;;11480:40;;;;;;11531:20;11552:24;11570:4;11552:9;:24::i;:::-;11531:45;;11603:1;11590:12;:14;11587:73;;;11618:30;11635:12;11618:16;:30::i;:::-;11587:73;11670:18;11689:21;11670:40;;11735:1;11724:10;:12;11721:65;;;11750:24;11763:10;11750:12;:24::i;:::-;11721:65;11469:324;;11438:355::o;7335:119::-;7401:7;7428:9;:18;7438:7;7428:18;;;;;;;;;;;;;;;;7421:25;;7335:119;;;:::o;3322:103::-;2567:13;:11;:13::i;:::-;3387:30:::1;3414:1;3387:18;:30::i;:::-;3322:103::o:0;5117:51::-;;;;;;;;;;;;;;;;;;;;;;:::o;5175:94::-;;;;;;;;;;;;;:::o;11968:196::-;2567:13;:11;:13::i;:::-;12070:22:::1;12088:3;12070:13;:11;:13::i;:::-;:17;;:22;;;;:::i;:::-;12058:9;:34;12050:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;12147:9;12130:14;:26;;;;11968:196:::0;:::o;5565:33::-;;;;:::o;2681:87::-;2727:7;2754:6;;;;;;;;;;;2747:13;;2681:87;:::o;7046:::-;7085:13;7118:7;;;;;;;;;;;;;;;;;7111:14;;7046:87;:::o;12636:112::-;2567:13;:11;:13::i;:::-;12735:5:::1;12705:18;:27;12724:7;12705:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;12636:112:::0;:::o;5605:34::-;;;;:::o;7462:167::-;7540:4;7557:42;7567:12;:10;:12::i;:::-;7581:9;7592:6;7557:9;:42::i;:::-;7617:4;7610:11;;7462:167;;;;:::o;5498:54::-;;;;:::o;7637:143::-;7718:7;7745:11;:18;7757:5;7745:18;;;;;;;;;;;;;;;:27;7764:7;7745:27;;;;;;;;;;;;;;;;7738:34;;7637:143;;;;:::o;11801:159::-;2567:13;:11;:13::i;:::-;11888:4:::1;11869:23;;:15;;;;;;;;;;;:23;;::::0;11861:58:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11948:4;11930:15;;:22;;;;;;;;;;;;;;;;;;11801:159::o:0;3580:201::-;2567:13;:11;:13::i;:::-;3689:1:::1;3669:22;;:8;:22;;::::0;3661:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3745:28;3764:8;3745:18;:28::i;:::-;3580:201:::0;:::o;5712:35::-;;;;;;;;;;;;;:::o;2846:132::-;2921:12;:10;:12::i;:::-;2910:23;;:7;:5;:7::i;:::-;:23;;;2902:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2846:132::o;184:98::-;237:7;264:10;257:17;;184:98;:::o;8278:335::-;8388:1;8371:19;;:5;:19;;;8363:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8469:1;8450:21;;:7;:21;;;8442:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8551:6;8521:11;:18;8533:5;8521:18;;;;;;;;;;;;;;;:27;8540:7;8521:27;;;;;;;;;;;;;;;:36;;;;8589:7;8573:32;;8582:5;8573:32;;;8598:6;8573:32;;;;;;:::i;:::-;;;;;;;;8278:335;;;:::o;8621:1821::-;8725:1;8709:18;;:4;:18;;;8701:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8802:1;8788:16;;:2;:16;;;8780:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8872:1;8863:6;:10;8855:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8930:17;8965:18;:24;8984:4;8965:24;;;;;;;;;;;;;;;;;;;;;;;;;8964:25;:52;;;;;8994:18;:22;9013:2;8994:22;;;;;;;;;;;;;;;;;;;;;;;;;8993:23;8964:52;8960:1126;;;9043:15;;;;;;;;;;;9035:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;9111:13;;;;;;;;;;;9105:19;;:2;:19;;;9102:141;;9177:14;;9167:6;9151:13;9161:2;9151:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9143:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;9102:141;9279:1;9262:14;;:18;9259:196;;;9309:13;;;;;;;;;;;9301:21;;:4;:21;;;:55;;;;;9340:15;;;;;;;;;;;9326:30;;:2;:30;;;;9301:55;9297:143;;;9389:35;9420:3;9389:26;9400:14;;9389:6;:10;;:26;;;;:::i;:::-;:30;;:35;;;;:::i;:::-;9377:47;;9297:143;9259:196;9492:1;9474:15;;:19;9471:160;;;9519:13;;;;;;;;;;;9513:19;;:2;:19;;;9510:106;;9564:36;9596:3;9564:27;9575:15;;9564:6;:10;;:27;;;;:::i;:::-;:31;;:36;;;;:::i;:::-;9552:48;;9510:106;9471:160;9647:28;9678:24;9696:4;9678:9;:24::i;:::-;9647:55;;9722:6;;;;;;;;;;;9721:7;:30;;;;;9738:13;;;;;;;;;;;9732:19;;:2;:19;;;9721:30;:45;;;;;9755:11;;;;;;;;;;;9721:45;:87;;;;;9791:17;;9770:20;:38;9721:87;9717:358;;;9829:38;9846:20;9829:16;:38::i;:::-;9886:26;9915:21;9886:50;;9979:1;9958:18;:22;9955:105;;;10005:35;10018:21;10005:12;:35::i;:::-;9955:105;9810:265;9717:358;9018:1068;8960:1126;10111:1;10101:9;:11;10098:161;;;10151:39;10180:9;10151;:24;10169:4;10151:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10126:9;:24;10144:4;10126:24;;;;;;;;;;;;;;;:64;;;;10231:4;10208:39;;10217:4;10208:39;;;10237:9;10208:39;;;;;;:::i;:::-;;;;;;;;10098:161;10285:27;10305:6;10285:9;:15;10295:4;10285:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10269:9;:15;10279:4;10269:15;;;;;;;;;;;;;;;:43;;;;10337:40;10355:21;10366:9;10355:6;:10;;:21;;;;:::i;:::-;10337:9;:13;10347:2;10337:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10323:9;:13;10333:2;10323:13;;;;;;;;;;;;;;;:54;;;;10408:2;10393:41;;10402:4;10393:41;;;10412:21;10423:9;10412:6;:10;;:21;;;;:::i;:::-;10393:41;;;;;;:::i;:::-;;;;;;;;8690:1752;8621:1821;;;:::o;1321:190::-;1407:7;1440:1;1435;:6;;1443:12;1427:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1467:9;1483:1;1479;:5;;;;:::i;:::-;1467:17;;1502:1;1495:8;;;1321:190;;;;;:::o;10558:520::-;5956:4;5947:6;;:13;;;;;;;;;;;;;;;;;;10652:1:::1;10639:11;:14:::0;10636:27;10655:7:::1;10636:27;10673:21;10711:1;10697:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10673:40;;10742:4;10724;10729:1;10724:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10768:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10758:4;10763:1;10758:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10801:62;10818:4;10833:15;;;;;;;;;;;10851:11;10801:8;:62::i;:::-;10874:15;;;;;;;;;;;:66;;;10955:11;10981:1;10997:4;11024;11044:15;10874:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10625:453;5971:1;5992:5:::0;5983:6;;:14;;;;;;;;;;;;;;;;;;10558:520;:::o;11086:305::-;11144:16;11174:17;;;;;;;;;;;11166:31;;11205:6;11166:50;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11143:73;;;11234:11;11229:153;;11348:17;;;;;;;;;;;11325:49;;;11367:6;11325:49;;;;;;:::i;:::-;;;;;;;;11229:153;11132:259;11086:305;:::o;3941:191::-;4015:16;4034:6;;;;;;;;;;;4015:25;;4060:8;4051:6;;:17;;;;;;;;;;;;;;;;;;4115:8;4084:40;;4105:8;4084:40;;;;;;;;;;;;4004:128;3941:191;:::o;1773:132::-;1831:7;1858:39;1862:1;1865;1858:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1851:46;;1773:132;;;;:::o;1519:246::-;1577:7;1606:1;1601;:6;1597:47;;1631:1;1624:8;;;;1597:47;1654:9;1670:1;1666;:5;;;;:::i;:::-;1654:17;;1699:1;1694;1690;:5;;;;:::i;:::-;:10;1682:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1756:1;1749:8;;;1519:246;;;;;:::o;990:179::-;1048:7;1068:9;1084:1;1080;:5;;;;:::i;:::-;1068:17;;1109:1;1104;:6;;1096:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1160:1;1153:8;;;990:179;;;;:::o;1177:136::-;1235:7;1262:43;1266:1;1269;1262:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1255:50;;1177:136;;;;:::o;1913:189::-;1999:7;2031:1;2027;:5;2034:12;2019:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2058:9;2074:1;2070;:5;;;;:::i;:::-;2058:17;;2093:1;2086:8;;;1913:189;;;;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:139::-;1394:6;1389:3;1384;1378:23;1435:1;1426:6;1421:3;1417:16;1410:27;1305:139;;;:::o;1450:102::-;1491:6;1542:2;1538:7;1533:2;1526:5;1522:14;1518:28;1508:38;;1450:102;;;:::o;1558:377::-;1646:3;1674:39;1707:5;1674:39;:::i;:::-;1729:71;1793:6;1788:3;1729:71;:::i;:::-;1722:78;;1809:65;1867:6;1862:3;1855:4;1848:5;1844:16;1809:65;:::i;:::-;1899:29;1921:6;1899:29;:::i;:::-;1894:3;1890:39;1883:46;;1650:285;1558:377;;;;:::o;1941:313::-;2054:4;2092:2;2081:9;2077:18;2069:26;;2141:9;2135:4;2131:20;2127:1;2116:9;2112:17;2105:47;2169:78;2242:4;2233:6;2169:78;:::i;:::-;2161:86;;1941:313;;;;:::o;2260:118::-;2347:24;2365:5;2347:24;:::i;:::-;2342:3;2335:37;2260:118;;:::o;2384:222::-;2477:4;2515:2;2504:9;2500:18;2492:26;;2528:71;2596:1;2585:9;2581:17;2572:6;2528:71;:::i;:::-;2384:222;;;;:::o;2612:126::-;2649:7;2689:42;2682:5;2678:54;2667:65;;2612:126;;;:::o;2744:96::-;2781:7;2810:24;2828:5;2810:24;:::i;:::-;2799:35;;2744:96;;;:::o;2846:122::-;2919:24;2937:5;2919:24;:::i;:::-;2912:5;2909:35;2899:63;;2958:1;2955;2948:12;2899:63;2846:122;:::o;2974:139::-;3020:5;3058:6;3045:20;3036:29;;3074:33;3101:5;3074:33;:::i;:::-;2974:139;;;;:::o;3119:474::-;3187:6;3195;3244:2;3232:9;3223:7;3219:23;3215:32;3212:119;;;3250:79;;:::i;:::-;3212:119;3370:1;3395:53;3440:7;3431:6;3420:9;3416:22;3395:53;:::i;:::-;3385:63;;3341:117;3497:2;3523:53;3568:7;3559:6;3548:9;3544:22;3523:53;:::i;:::-;3513:63;;3468:118;3119:474;;;;;:::o;3599:90::-;3633:7;3676:5;3669:13;3662:21;3651:32;;3599:90;;;:::o;3695:109::-;3776:21;3791:5;3776:21;:::i;:::-;3771:3;3764:34;3695:109;;:::o;3810:210::-;3897:4;3935:2;3924:9;3920:18;3912:26;;3948:65;4010:1;3999:9;3995:17;3986:6;3948:65;:::i;:::-;3810:210;;;;:::o;4026:474::-;4094:6;4102;4151:2;4139:9;4130:7;4126:23;4122:32;4119:119;;;4157:79;;:::i;:::-;4119:119;4277:1;4302:53;4347:7;4338:6;4327:9;4323:22;4302:53;:::i;:::-;4292:63;;4248:117;4404:2;4430:53;4475:7;4466:6;4455:9;4451:22;4430:53;:::i;:::-;4420:63;;4375:118;4026:474;;;;;:::o;4506:329::-;4565:6;4614:2;4602:9;4593:7;4589:23;4585:32;4582:119;;;4620:79;;:::i;:::-;4582:119;4740:1;4765:53;4810:7;4801:6;4790:9;4786:22;4765:53;:::i;:::-;4755:63;;4711:117;4506:329;;;;:::o;4841:619::-;4918:6;4926;4934;4983:2;4971:9;4962:7;4958:23;4954:32;4951:119;;;4989:79;;:::i;:::-;4951:119;5109:1;5134:53;5179:7;5170:6;5159:9;5155:22;5134:53;:::i;:::-;5124:63;;5080:117;5236:2;5262:53;5307:7;5298:6;5287:9;5283:22;5262:53;:::i;:::-;5252:63;;5207:118;5364:2;5390:53;5435:7;5426:6;5415:9;5411:22;5390:53;:::i;:::-;5380:63;;5335:118;4841:619;;;;;:::o;5466:86::-;5501:7;5541:4;5534:5;5530:16;5519:27;;5466:86;;;:::o;5558:112::-;5641:22;5657:5;5641:22;:::i;:::-;5636:3;5629:35;5558:112;;:::o;5676:214::-;5765:4;5803:2;5792:9;5788:18;5780:26;;5816:67;5880:1;5869:9;5865:17;5856:6;5816:67;:::i;:::-;5676:214;;;;:::o;5896:104::-;5941:7;5970:24;5988:5;5970:24;:::i;:::-;5959:35;;5896:104;;;:::o;6006:142::-;6109:32;6135:5;6109:32;:::i;:::-;6104:3;6097:45;6006:142;;:::o;6154:254::-;6263:4;6301:2;6290:9;6286:18;6278:26;;6314:87;6398:1;6387:9;6383:17;6374:6;6314:87;:::i;:::-;6154:254;;;;:::o;6414:118::-;6501:24;6519:5;6501:24;:::i;:::-;6496:3;6489:37;6414:118;;:::o;6538:222::-;6631:4;6669:2;6658:9;6654:18;6646:26;;6682:71;6750:1;6739:9;6735:17;6726:6;6682:71;:::i;:::-;6538:222;;;;:::o;6766:474::-;6834:6;6842;6891:2;6879:9;6870:7;6866:23;6862:32;6859:119;;;6897:79;;:::i;:::-;6859:119;7017:1;7042:53;7087:7;7078:6;7067:9;7063:22;7042:53;:::i;:::-;7032:63;;6988:117;7144:2;7170:53;7215:7;7206:6;7195:9;7191:22;7170:53;:::i;:::-;7160:63;;7115:118;6766:474;;;;;:::o;7246:171::-;7386:23;7382:1;7374:6;7370:14;7363:47;7246:171;:::o;7423:366::-;7565:3;7586:67;7650:2;7645:3;7586:67;:::i;:::-;7579:74;;7662:93;7751:3;7662:93;:::i;:::-;7780:2;7775:3;7771:12;7764:19;;7423:366;;;:::o;7795:419::-;7961:4;7999:2;7988:9;7984:18;7976:26;;8048:9;8042:4;8038:20;8034:1;8023:9;8019:17;8012:47;8076:131;8202:4;8076:131;:::i;:::-;8068:139;;7795:419;;;:::o;8220:180::-;8268:77;8265:1;8258:88;8365:4;8362:1;8355:15;8389:4;8386:1;8379:15;8406:102;8448:8;8495:5;8492:1;8488:13;8467:34;;8406:102;;;:::o;8514:848::-;8575:5;8582:4;8606:6;8597:15;;8630:5;8621:14;;8644:712;8665:1;8655:8;8652:15;8644:712;;;8760:4;8755:3;8751:14;8745:4;8742:24;8739:50;;;8769:18;;:::i;:::-;8739:50;8819:1;8809:8;8805:16;8802:451;;;9234:4;9227:5;9223:16;9214:25;;8802:451;9284:4;9278;9274:15;9266:23;;9314:32;9337:8;9314:32;:::i;:::-;9302:44;;8644:712;;;8514:848;;;;;;;:::o;9368:1073::-;9422:5;9613:8;9603:40;;9634:1;9625:10;;9636:5;;9603:40;9662:4;9652:36;;9679:1;9670:10;;9681:5;;9652:36;9748:4;9796:1;9791:27;;;;9832:1;9827:191;;;;9741:277;;9791:27;9809:1;9800:10;;9811:5;;;9827:191;9872:3;9862:8;9859:17;9856:43;;;9879:18;;:::i;:::-;9856:43;9928:8;9925:1;9921:16;9912:25;;9963:3;9956:5;9953:14;9950:40;;;9970:18;;:::i;:::-;9950:40;10003:5;;;9741:277;;10127:2;10117:8;10114:16;10108:3;10102:4;10099:13;10095:36;10077:2;10067:8;10064:16;10059:2;10053:4;10050:12;10046:35;10030:111;10027:246;;;10183:8;10177:4;10173:19;10164:28;;10218:3;10211:5;10208:14;10205:40;;;10225:18;;:::i;:::-;10205:40;10258:5;;10027:246;10298:42;10336:3;10326:8;10320:4;10317:1;10298:42;:::i;:::-;10283:57;;;;10372:4;10367:3;10363:14;10356:5;10353:25;10350:51;;;10381:18;;:::i;:::-;10350:51;10430:4;10423:5;10419:16;10410:25;;9368:1073;;;;;;:::o;10447:281::-;10505:5;10529:23;10547:4;10529:23;:::i;:::-;10521:31;;10573:25;10589:8;10573:25;:::i;:::-;10561:37;;10617:104;10654:66;10644:8;10638:4;10617:104;:::i;:::-;10608:113;;10447:281;;;;:::o;10734:410::-;10774:7;10797:20;10815:1;10797:20;:::i;:::-;10792:25;;10831:20;10849:1;10831:20;:::i;:::-;10826:25;;10886:1;10883;10879:9;10908:30;10926:11;10908:30;:::i;:::-;10897:41;;11087:1;11078:7;11074:15;11071:1;11068:22;11048:1;11041:9;11021:83;10998:139;;11117:18;;:::i;:::-;10998:139;10782:362;10734:410;;;;:::o;11150:173::-;11290:25;11286:1;11278:6;11274:14;11267:49;11150:173;:::o;11329:366::-;11471:3;11492:67;11556:2;11551:3;11492:67;:::i;:::-;11485:74;;11568:93;11657:3;11568:93;:::i;:::-;11686:2;11681:3;11677:12;11670:19;;11329:366;;;:::o;11701:419::-;11867:4;11905:2;11894:9;11890:18;11882:26;;11954:9;11948:4;11944:20;11940:1;11929:9;11925:17;11918:47;11982:131;12108:4;11982:131;:::i;:::-;11974:139;;11701:419;;;:::o;12126:172::-;12266:24;12262:1;12254:6;12250:14;12243:48;12126:172;:::o;12304:366::-;12446:3;12467:67;12531:2;12526:3;12467:67;:::i;:::-;12460:74;;12543:93;12632:3;12543:93;:::i;:::-;12661:2;12656:3;12652:12;12645:19;;12304:366;;;:::o;12676:419::-;12842:4;12880:2;12869:9;12865:18;12857:26;;12929:9;12923:4;12919:20;12915:1;12904:9;12900:17;12893:47;12957:131;13083:4;12957:131;:::i;:::-;12949:139;;12676:419;;;:::o;13101:225::-;13241:34;13237:1;13229:6;13225:14;13218:58;13310:8;13305:2;13297:6;13293:15;13286:33;13101:225;:::o;13332:366::-;13474:3;13495:67;13559:2;13554:3;13495:67;:::i;:::-;13488:74;;13571:93;13660:3;13571:93;:::i;:::-;13689:2;13684:3;13680:12;13673:19;;13332:366;;;:::o;13704:419::-;13870:4;13908:2;13897:9;13893:18;13885:26;;13957:9;13951:4;13947:20;13943:1;13932:9;13928:17;13921:47;13985:131;14111:4;13985:131;:::i;:::-;13977:139;;13704:419;;;:::o;14129:182::-;14269:34;14265:1;14257:6;14253:14;14246:58;14129:182;:::o;14317:366::-;14459:3;14480:67;14544:2;14539:3;14480:67;:::i;:::-;14473:74;;14556:93;14645:3;14556:93;:::i;:::-;14674:2;14669:3;14665:12;14658:19;;14317:366;;;:::o;14689:419::-;14855:4;14893:2;14882:9;14878:18;14870:26;;14942:9;14936:4;14932:20;14928:1;14917:9;14913:17;14906:47;14970:131;15096:4;14970:131;:::i;:::-;14962:139;;14689:419;;;:::o;15114:223::-;15254:34;15250:1;15242:6;15238:14;15231:58;15323:6;15318:2;15310:6;15306:15;15299:31;15114:223;:::o;15343:366::-;15485:3;15506:67;15570:2;15565:3;15506:67;:::i;:::-;15499:74;;15582:93;15671:3;15582:93;:::i;:::-;15700:2;15695:3;15691:12;15684:19;;15343:366;;;:::o;15715:419::-;15881:4;15919:2;15908:9;15904:18;15896:26;;15968:9;15962:4;15958:20;15954:1;15943:9;15939:17;15932:47;15996:131;16122:4;15996:131;:::i;:::-;15988:139;;15715:419;;;:::o;16140:221::-;16280:34;16276:1;16268:6;16264:14;16257:58;16349:4;16344:2;16336:6;16332:15;16325:29;16140:221;:::o;16367:366::-;16509:3;16530:67;16594:2;16589:3;16530:67;:::i;:::-;16523:74;;16606:93;16695:3;16606:93;:::i;:::-;16724:2;16719:3;16715:12;16708:19;;16367:366;;;:::o;16739:419::-;16905:4;16943:2;16932:9;16928:18;16920:26;;16992:9;16986:4;16982:20;16978:1;16967:9;16963:17;16956:47;17020:131;17146:4;17020:131;:::i;:::-;17012:139;;16739:419;;;:::o;17164:224::-;17304:34;17300:1;17292:6;17288:14;17281:58;17373:7;17368:2;17360:6;17356:15;17349:32;17164:224;:::o;17394:366::-;17536:3;17557:67;17621:2;17616:3;17557:67;:::i;:::-;17550:74;;17633:93;17722:3;17633:93;:::i;:::-;17751:2;17746:3;17742:12;17735:19;;17394:366;;;:::o;17766:419::-;17932:4;17970:2;17959:9;17955:18;17947:26;;18019:9;18013:4;18009:20;18005:1;17994:9;17990:17;17983:47;18047:131;18173:4;18047:131;:::i;:::-;18039:139;;17766:419;;;:::o;18191:222::-;18331:34;18327:1;18319:6;18315:14;18308:58;18400:5;18395:2;18387:6;18383:15;18376:30;18191:222;:::o;18419:366::-;18561:3;18582:67;18646:2;18641:3;18582:67;:::i;:::-;18575:74;;18658:93;18747:3;18658:93;:::i;:::-;18776:2;18771:3;18767:12;18760:19;;18419:366;;;:::o;18791:419::-;18957:4;18995:2;18984:9;18980:18;18972:26;;19044:9;19038:4;19034:20;19030:1;19019:9;19015:17;19008:47;19072:131;19198:4;19072:131;:::i;:::-;19064:139;;18791:419;;;:::o;19216:228::-;19356:34;19352:1;19344:6;19340:14;19333:58;19425:11;19420:2;19412:6;19408:15;19401:36;19216:228;:::o;19450:366::-;19592:3;19613:67;19677:2;19672:3;19613:67;:::i;:::-;19606:74;;19689:93;19778:3;19689:93;:::i;:::-;19807:2;19802:3;19798:12;19791:19;;19450:366;;;:::o;19822:419::-;19988:4;20026:2;20015:9;20011:18;20003:26;;20075:9;20069:4;20065:20;20061:1;20050:9;20046:17;20039:47;20103:131;20229:4;20103:131;:::i;:::-;20095:139;;19822:419;;;:::o;20247:172::-;20387:24;20383:1;20375:6;20371:14;20364:48;20247:172;:::o;20425:366::-;20567:3;20588:67;20652:2;20647:3;20588:67;:::i;:::-;20581:74;;20664:93;20753:3;20664:93;:::i;:::-;20782:2;20777:3;20773:12;20766:19;;20425:366;;;:::o;20797:419::-;20963:4;21001:2;20990:9;20986:18;20978:26;;21050:9;21044:4;21040:20;21036:1;21025:9;21021:17;21014:47;21078:131;21204:4;21078:131;:::i;:::-;21070:139;;20797:419;;;:::o;21222:191::-;21262:3;21281:20;21299:1;21281:20;:::i;:::-;21276:25;;21315:20;21333:1;21315:20;:::i;:::-;21310:25;;21358:1;21355;21351:9;21344:16;;21379:3;21376:1;21373:10;21370:36;;;21386:18;;:::i;:::-;21370:36;21222:191;;;;:::o;21419:181::-;21559:33;21555:1;21547:6;21543:14;21536:57;21419:181;:::o;21606:366::-;21748:3;21769:67;21833:2;21828:3;21769:67;:::i;:::-;21762:74;;21845:93;21934:3;21845:93;:::i;:::-;21963:2;21958:3;21954:12;21947:19;;21606:366;;;:::o;21978:419::-;22144:4;22182:2;22171:9;22167:18;22159:26;;22231:9;22225:4;22221:20;22217:1;22206:9;22202:17;22195:47;22259:131;22385:4;22259:131;:::i;:::-;22251:139;;21978:419;;;:::o;22403:194::-;22443:4;22463:20;22481:1;22463:20;:::i;:::-;22458:25;;22497:20;22515:1;22497:20;:::i;:::-;22492:25;;22541:1;22538;22534:9;22526:17;;22565:1;22559:4;22556:11;22553:37;;;22570:18;;:::i;:::-;22553:37;22403:194;;;;:::o;22603:180::-;22651:77;22648:1;22641:88;22748:4;22745:1;22738:15;22772:4;22769:1;22762:15;22789:180;22837:77;22834:1;22827:88;22934:4;22931:1;22924:15;22958:4;22955:1;22948:15;22975:143;23032:5;23063:6;23057:13;23048:22;;23079:33;23106:5;23079:33;:::i;:::-;22975:143;;;;:::o;23124:351::-;23194:6;23243:2;23231:9;23222:7;23218:23;23214:32;23211:119;;;23249:79;;:::i;:::-;23211:119;23369:1;23394:64;23450:7;23441:6;23430:9;23426:22;23394:64;:::i;:::-;23384:74;;23340:128;23124:351;;;;:::o;23481:85::-;23526:7;23555:5;23544:16;;23481:85;;;:::o;23572:60::-;23600:3;23621:5;23614:12;;23572:60;;;:::o;23638:158::-;23696:9;23729:61;23747:42;23756:32;23782:5;23756:32;:::i;:::-;23747:42;:::i;:::-;23729:61;:::i;:::-;23716:74;;23638:158;;;:::o;23802:147::-;23897:45;23936:5;23897:45;:::i;:::-;23892:3;23885:58;23802:147;;:::o;23955:114::-;24022:6;24056:5;24050:12;24040:22;;23955:114;;;:::o;24075:184::-;24174:11;24208:6;24203:3;24196:19;24248:4;24243:3;24239:14;24224:29;;24075:184;;;;:::o;24265:132::-;24332:4;24355:3;24347:11;;24385:4;24380:3;24376:14;24368:22;;24265:132;;;:::o;24403:108::-;24480:24;24498:5;24480:24;:::i;:::-;24475:3;24468:37;24403:108;;:::o;24517:179::-;24586:10;24607:46;24649:3;24641:6;24607:46;:::i;:::-;24685:4;24680:3;24676:14;24662:28;;24517:179;;;;:::o;24702:113::-;24772:4;24804;24799:3;24795:14;24787:22;;24702:113;;;:::o;24851:732::-;24970:3;24999:54;25047:5;24999:54;:::i;:::-;25069:86;25148:6;25143:3;25069:86;:::i;:::-;25062:93;;25179:56;25229:5;25179:56;:::i;:::-;25258:7;25289:1;25274:284;25299:6;25296:1;25293:13;25274:284;;;25375:6;25369:13;25402:63;25461:3;25446:13;25402:63;:::i;:::-;25395:70;;25488:60;25541:6;25488:60;:::i;:::-;25478:70;;25334:224;25321:1;25318;25314:9;25309:14;;25274:284;;;25278:14;25574:3;25567:10;;24975:608;;;24851:732;;;;:::o;25589:831::-;25852:4;25890:3;25879:9;25875:19;25867:27;;25904:71;25972:1;25961:9;25957:17;25948:6;25904:71;:::i;:::-;25985:80;26061:2;26050:9;26046:18;26037:6;25985:80;:::i;:::-;26112:9;26106:4;26102:20;26097:2;26086:9;26082:18;26075:48;26140:108;26243:4;26234:6;26140:108;:::i;:::-;26132:116;;26258:72;26326:2;26315:9;26311:18;26302:6;26258:72;:::i;:::-;26340:73;26408:3;26397:9;26393:19;26384:6;26340:73;:::i;:::-;25589:831;;;;;;;;:::o;26426:147::-;26527:11;26564:3;26549:18;;26426:147;;;;:::o;26579:114::-;;:::o;26699:398::-;26858:3;26879:83;26960:1;26955:3;26879:83;:::i;:::-;26872:90;;26971:93;27060:3;26971:93;:::i;:::-;27089:1;27084:3;27080:11;27073:18;;26699:398;;;:::o;27103:379::-;27287:3;27309:147;27452:3;27309:147;:::i;:::-;27302:154;;27473:3;27466:10;;27103:379;;;:::o;27488:180::-;27536:77;27533:1;27526:88;27633:4;27630:1;27623:15;27657:4;27654:1;27647:15;27674:185;27714:1;27731:20;27749:1;27731:20;:::i;:::-;27726:25;;27765:20;27783:1;27765:20;:::i;:::-;27760:25;;27804:1;27794:35;;27809:18;;:::i;:::-;27794:35;27851:1;27848;27844:9;27839:14;;27674:185;;;;:::o;27865:220::-;28005:34;28001:1;27993:6;27989:14;27982:58;28074:3;28069:2;28061:6;28057:15;28050:28;27865:220;:::o;28091:366::-;28233:3;28254:67;28318:2;28313:3;28254:67;:::i;:::-;28247:74;;28330:93;28419:3;28330:93;:::i;:::-;28448:2;28443:3;28439:12;28432:19;;28091:366;;;:::o;28463:419::-;28629:4;28667:2;28656:9;28652:18;28644:26;;28716:9;28710:4;28706:20;28702:1;28691:9;28687:17;28680:47;28744:131;28870:4;28744:131;:::i;:::-;28736:139;;28463:419;;;:::o;28888:177::-;29028:29;29024:1;29016:6;29012:14;29005:53;28888:177;:::o;29071:366::-;29213:3;29234:67;29298:2;29293:3;29234:67;:::i;:::-;29227:74;;29310:93;29399:3;29310:93;:::i;:::-;29428:2;29423:3;29419:12;29412:19;;29071:366;;;:::o;29443:419::-;29609:4;29647:2;29636:9;29632:18;29624:26;;29696:9;29690:4;29686:20;29682:1;29671:9;29667:17;29660:47;29724:131;29850:4;29724:131;:::i;:::-;29716:139;;29443:419;;;:::o
Swarm Source
ipfs://a501c440c85f8cc05e6fe86ae73241b05e13ffa38ab4c25a90ccd18aa50ded6b
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.