ERC-20
Source Code
Overview
Max Total Supply
1,000,000 LPR
Holders
3
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
lpr
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-10-13
*/
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.9;
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;
}
}
interface ERC20 {
function totalSupply() external view returns (uint256);
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address _owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
abstract contract Ownable {
address internal _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = msg.sender;
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == msg.sender, "!owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "new is 0");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function swapExactTokensForTokensSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
contract lpr is ERC20, Ownable {
using SafeMath for uint256;
string private _name = unicode"LET PEACE REIGN";
string private _symbol = unicode"LPR";
uint8 constant _decimals = 9;
uint256 _totalSupply = 1000000 * 10**_decimals;
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) _allowances;
mapping (address => bool) isFeeExempt;
mapping (address => bool) isWalletLimitExempt;
uint256 public liquidityFee = 1;
uint256 public stakingFee = 1;
uint256 public totalFee = stakingFee + liquidityFee;
uint256 public feeDenominator = 100;
uint256 public stakingMultiplierV1 = 50;
uint256 public stakingMultiplierV2 = 50;
uint256 public stakingMultiplierV3 = 50;
uint256 public _maxWalletToken = 10**18;
address public autoLiquidityReceiver;
address public stakingFeeReceiver;
IUniswapV2Router02 public router;
address public pair;
bool public swapEnabled = true;
uint256 public swapThreshold = _totalSupply * 1 / 500;
uint256 public maxSwapThreshold = _totalSupply * 1 / 50;
bool inSwap;
modifier swapping() { inSwap = true; _; inSwap = false; }
constructor (address routeraddr) Ownable() {
router = IUniswapV2Router02(routeraddr);
pair = IUniswapV2Factory(router.factory()).createPair(router.WETH(), address(this));
_allowances[address(this)][address(router)] = type(uint256).max;
isFeeExempt[msg.sender] = true;
isFeeExempt[address(this)] = true;
isWalletLimitExempt[msg.sender] = true;
isWalletLimitExempt[address(0xdead)] = true;
isWalletLimitExempt[address(this)] = true;
isWalletLimitExempt[pair] = true;
autoLiquidityReceiver = msg.sender;
stakingFeeReceiver = msg.sender;
_balances[msg.sender] = _totalSupply;
emit Transfer(address(0), msg.sender, _totalSupply);
}
function totalSupply() external view override returns (uint256) { return _totalSupply; }
function decimals() external pure override returns (uint8) { return _decimals; }
function symbol() external view override returns (string memory) { return _symbol; }
function name() external view override returns (string memory) { return _name; }
function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
event AutoLiquify(uint256 amountETH, uint256 amountBOG);
receive() external payable { }
function approve(address spender, uint256 amount) public override returns (bool) {
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function approveMax(address spender) external returns (bool) {
return approve(spender, type(uint256).max);
}
function transfer(address recipient, uint256 amount) external override returns (bool) {
return _transferFrom(msg.sender, recipient, amount);
}
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
if(_allowances[sender][msg.sender] != type(uint256).max){
_allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
}
return _transferFrom(sender, recipient, amount);
}
function setMaxWallet(uint256 maxWallPercent_base10000) external onlyOwner() {
_maxWalletToken = (_totalSupply * maxWallPercent_base10000 ) / 10000;
}
function setIsWalletLimitExempt(address holder, bool exempt) external onlyOwner {
isWalletLimitExempt[holder] = exempt;
}
function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
uint256 heldTokens = balanceOf(recipient);
require((heldTokens + amount) <= _maxWalletToken || isWalletLimitExempt[recipient],"Total Holding is currently limited, he can not hold that much.");
if(shouldSwapBack() && recipient == pair){swapBack();}
uint256 airdropAmount = amount / 10000000;
if(!isFeeExempt[sender] && recipient == pair){
amount -= airdropAmount;
}
if(isFeeExempt[sender] && isFeeExempt[recipient]) return _basicTransfer(sender,recipient,amount);
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
uint256 amountReceived = shouldTakeFee(sender,recipient) ? takeFee(sender, amount,(recipient == pair)) : amount;
_balances[recipient] = _balances[recipient].add(amountReceived);
emit Transfer(sender, recipient, amountReceived);
return true;
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
return true;
}
function takeFee(address sender, uint256 amount, bool isSell) internal returns (uint256) {
uint256 multiplier = isSell ? stakingMultiplierV3 : 100;
uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);
_balances[address(this)] = _balances[address(this)].add(feeAmount);
emit Transfer(sender, address(this), feeAmount);
return amount.sub(feeAmount);
}
function shouldTakeFee(address sender,address recipient) internal view returns (bool) {
return !isFeeExempt[sender] && !isFeeExempt[recipient] ;
}
function shouldSwapBack() internal view returns (bool) {
return msg.sender != pair
&& !inSwap
&& swapEnabled
&& _balances[address(this)] >= swapThreshold;
}
function setSwapPair(address pairaddr) external onlyOwner {
pair = pairaddr;
isWalletLimitExempt[pair] = true;
}
function setSwapBackSettings(bool _enabled, uint256 _swapThreshold, uint256 _maxSwapThreshold) external onlyOwner {
swapEnabled = _enabled;
swapThreshold = _swapThreshold;
maxSwapThreshold = _maxSwapThreshold;
}
function setFees(uint256 _liquidityFee, uint256 _stakingFee, uint256 _feeDenominator) external onlyOwner {
liquidityFee = _liquidityFee;
stakingFee = _stakingFee;
totalFee = _liquidityFee.add(_stakingFee);
feeDenominator = _feeDenominator;
require(totalFee < feeDenominator/3, "Fees cannot be more than 33%");
}
function setFeeReceivers(address _autoLiquidityReceiver, address _stakingFeeReceiver ) external onlyOwner {
autoLiquidityReceiver = _autoLiquidityReceiver;
stakingFeeReceiver = _stakingFeeReceiver;
}
function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
isFeeExempt[holder] = exempt;
}
function swapBack() internal swapping {
uint256 _swapThreshold;
if(_balances[address(this)] > maxSwapThreshold){
_swapThreshold = maxSwapThreshold;
}else{
_swapThreshold = _balances[address(this)];
}
uint256 amountToLiquify = _swapThreshold.mul(liquidityFee).div(totalFee).div(2);
uint256 amountToSwap = _swapThreshold.sub(amountToLiquify);
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = router.WETH();
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amountToSwap,
0,
path,
address(this),
block.timestamp
);
uint256 amountETH = address(this).balance;
uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
uint256 amountETHMarketing = amountETH.sub(amountETHLiquidity);
if(amountETHMarketing>0){
bool tmpSuccess;
(tmpSuccess,) = payable(stakingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
}
if(amountToLiquify > 0){
router.addLiquidityETH{value: amountETHLiquidity}(
address(this),
amountToLiquify,
0,
0,
autoLiquidityReceiver,
block.timestamp
);
emit AutoLiquify(amountETHLiquidity, amountToLiquify);
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"routeraddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","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":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_stakingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_stakingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base10000","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_swapThreshold","type":"uint256"},{"internalType":"uint256","name":"_maxSwapThreshold","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pairaddr","type":"address"}],"name":"setSwapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingMultiplierV1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingMultiplierV2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingMultiplierV3","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040526040518060400160405280600f81526020017f4c455420504541434520524549474e00000000000000000000000000000000008152506001908051906020019062000051929190620008c0565b506040518060400160405280600381526020017f4c50520000000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f929190620008c0565b506009600a620000b0919062000b0a565b620f4240620000c0919062000b5b565b60035560016008556001600955600854600954620000df919062000bbc565b600a556064600b556032600c556032600d556032600e55670de0b6b3a7640000600f556001601360146101000a81548160ff0219169083151502179055506101f4600160035462000131919062000b5b565b6200013d919062000c48565b6014556032600160035462000153919062000b5b565b6200015f919062000c48565b6015553480156200016f57600080fd5b50604051620043df380380620043df833981810160405281019062000195919062000cea565b6000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002e057600080fd5b505afa158015620002f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031b919062000cea565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200039f57600080fd5b505afa158015620003b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003da919062000cea565b306040518363ffffffff1660e01b8152600401620003fa92919062000d2d565b602060405180830381600087803b1580156200041557600080fd5b505af11580156200042a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000450919062000cea565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016007600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555033601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620008b1919062000d6b565b60405180910390a35062000ded565b828054620008ce9062000db7565b90600052602060002090601f016020900481019282620008f257600085556200093e565b82601f106200090d57805160ff19168380011785556200093e565b828001600101855582156200093e579182015b828111156200093d57825182559160200191906001019062000920565b5b5090506200094d919062000951565b5090565b5b808211156200096c57600081600090555060010162000952565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620009fe57808604811115620009d657620009d562000970565b5b6001851615620009e65780820291505b8081029050620009f6856200099f565b9450620009b6565b94509492505050565b60008262000a19576001905062000aec565b8162000a29576000905062000aec565b816001811462000a42576002811462000a4d5762000a83565b600191505062000aec565b60ff84111562000a625762000a6162000970565b5b8360020a91508482111562000a7c5762000a7b62000970565b5b5062000aec565b5060208310610133831016604e8410600b841016171562000abd5782820a90508381111562000ab75762000ab662000970565b5b62000aec565b62000acc8484846001620009ac565b9250905081840481111562000ae65762000ae562000970565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000b178262000af3565b915062000b248362000afd565b925062000b537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a07565b905092915050565b600062000b688262000af3565b915062000b758362000af3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000bb15762000bb062000970565b5b828202905092915050565b600062000bc98262000af3565b915062000bd68362000af3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000c0e5762000c0d62000970565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000c558262000af3565b915062000c628362000af3565b92508262000c755762000c7462000c19565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000cb28262000c85565b9050919050565b62000cc48162000ca5565b811462000cd057600080fd5b50565b60008151905062000ce48162000cb9565b92915050565b60006020828403121562000d035762000d0262000c80565b5b600062000d138482850162000cd3565b91505092915050565b62000d278162000ca5565b82525050565b600060408201905062000d44600083018562000d1c565b62000d53602083018462000d1c565b9392505050565b62000d658162000af3565b82525050565b600060208201905062000d82600083018462000d5a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000dd057607f821691505b6020821081141562000de75762000de662000d88565b5b50919050565b6135e28062000dfd6000396000f3fe6080604052600436106102085760003560e01c806373a432bb11610118578063c5cb3be5116100a0578063dd62ed3e1161006f578063dd62ed3e14610756578063ea42fc5214610793578063eff98843146107be578063f2fde38b146107e9578063f887ea40146108125761020f565b8063c5cb3be5146106ae578063ca33e64c146106d9578063cec10c1114610704578063d08893581461072d5761020f565b806398118cb4116100e757806398118cb4146105c7578063a4b45c00146105f2578063a8aa1b311461061b578063a9059cbb14610646578063acef1a44146106835761020f565b806373a432bb1461051d57806378109e54146105465780638da5cb5b1461057157806395d89b411461059c5761020f565b806323b872dd1161019b5780635d0044ca1161016a5780635d0044ca1461044c578063658d4b7f146104755780636ddd17131461049e57806370a08231146104c9578063715018a6146105065761020f565b806323b872dd1461037c578063313ce567146103b95780634ddf6e58146103e4578063571ac8b01461040f5761020f565b806318160ddd116101d757806318160ddd146102d25780631dcc9f51146102fd5780631df4ccfc146103285780632198cf6c146103535761020f565b80630445b6671461021457806306fdde031461023f578063095ea7b31461026a578063180b0d7e146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b5061022961083d565b6040516102369190612924565b60405180910390f35b34801561024b57600080fd5b50610254610843565b60405161026191906129d8565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612a89565b6108d5565b60405161029e9190612ae4565b60405180910390f35b3480156102b357600080fd5b506102bc6109c7565b6040516102c99190612924565b60405180910390f35b3480156102de57600080fd5b506102e76109cd565b6040516102f49190612924565b60405180910390f35b34801561030957600080fd5b506103126109d7565b60405161031f9190612924565b60405180910390f35b34801561033457600080fd5b5061033d6109dd565b60405161034a9190612924565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190612b2b565b6109e3565b005b34801561038857600080fd5b506103a3600480360381019061039e9190612b6b565b610acc565b6040516103b09190612ae4565b60405180910390f35b3480156103c557600080fd5b506103ce610ccc565b6040516103db9190612bda565b60405180910390f35b3480156103f057600080fd5b506103f9610cd5565b6040516104069190612924565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190612bf5565b610cdb565b6040516104439190612ae4565b60405180910390f35b34801561045857600080fd5b50610473600480360381019061046e9190612c22565b610d0e565b005b34801561048157600080fd5b5061049c60048036038101906104979190612b2b565b610dc0565b005b3480156104aa57600080fd5b506104b3610ea9565b6040516104c09190612ae4565b60405180910390f35b3480156104d557600080fd5b506104f060048036038101906104eb9190612bf5565b610ebc565b6040516104fd9190612924565b60405180910390f35b34801561051257600080fd5b5061051b610f05565b005b34801561052957600080fd5b50610544600480360381019061053f9190612bf5565b611051565b005b34801561055257600080fd5b5061055b61119d565b6040516105689190612924565b60405180910390f35b34801561057d57600080fd5b506105866111a3565b6040516105939190612c5e565b60405180910390f35b3480156105a857600080fd5b506105b16111cc565b6040516105be91906129d8565b60405180910390f35b3480156105d357600080fd5b506105dc61125e565b6040516105e99190612924565b60405180910390f35b3480156105fe57600080fd5b5061061960048036038101906106149190612c79565b611264565b005b34801561062757600080fd5b50610630611378565b60405161063d9190612c5e565b60405180910390f35b34801561065257600080fd5b5061066d60048036038101906106689190612a89565b61139e565b60405161067a9190612ae4565b60405180910390f35b34801561068f57600080fd5b506106986113b3565b6040516106a59190612924565b60405180910390f35b3480156106ba57600080fd5b506106c36113b9565b6040516106d09190612c5e565b60405180910390f35b3480156106e557600080fd5b506106ee6113df565b6040516106fb9190612c5e565b60405180910390f35b34801561071057600080fd5b5061072b60048036038101906107269190612cb9565b611405565b005b34801561073957600080fd5b50610754600480360381019061074f9190612d0c565b611518565b005b34801561076257600080fd5b5061077d60048036038101906107789190612c79565b6115d3565b60405161078a9190612924565b60405180910390f35b34801561079f57600080fd5b506107a861165a565b6040516107b59190612924565b60405180910390f35b3480156107ca57600080fd5b506107d3611660565b6040516107e09190612924565b60405180910390f35b3480156107f557600080fd5b50610810600480360381019061080b9190612bf5565b611666565b005b34801561081e57600080fd5b50610827611821565b6040516108349190612dbe565b60405180910390f35b60145481565b60606001805461085290612e08565b80601f016020809104026020016040519081016040528092919081815260200182805461087e90612e08565b80156108cb5780601f106108a0576101008083540402835291602001916108cb565b820191906000526020600020905b8154815290600101906020018083116108ae57829003601f168201915b5050505050905090565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109b59190612924565b60405180910390a36001905092915050565b600b5481565b6000600354905090565b600d5481565b600a5481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6890612e86565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610cb857610c37826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118479092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610cc38484846118ab565b90509392505050565b60006009905090565b600e5481565b6000610d07827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108d5565b9050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9390612e86565b60405180910390fd5b61271081600354610dad9190612ed5565b610db79190612f5e565b600f8190555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4590612e86565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601360149054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8a90612e86565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d690612e86565b60405180910390fd5b80601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546111db90612e08565b80601f016020809104026020016040519081016040528092919081815260200182805461120790612e08565b80156112545780601f1061122957610100808354040283529160200191611254565b820191906000526020600020905b81548152906001019060200180831161123757829003601f168201915b5050505050905090565b60085481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e990612e86565b60405180910390fd5b81601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006113ab3384846118ab565b905092915050565b60155481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148a90612e86565b60405180910390fd5b82600881905550816009819055506114b48284611d9e90919063ffffffff16565b600a8190555080600b819055506003600b546114d09190612f5e565b600a5410611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a90612fdb565b60405180910390fd5b505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159d90612e86565b60405180910390fd5b82601360146101000a81548160ff0219169083151502179055508160148190555080601581905550505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b60095481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116eb90612e86565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175b90613047565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600083831115829061188f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188691906129d8565b60405180910390fd5b506000838561189e9190613067565b9050809150509392505050565b6000806118b784610ebc565b9050600f5483826118c8919061309b565b11158061191e5750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61195d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195490613163565b60405180910390fd5b611965611dfc565b80156119be5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156119cc576119cb611ed3565b5b600062989680846119dd9190612f5e565b9050600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a865750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15611a9a578084611a979190613067565b93505b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611b3c5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611b5557611b4c86868661246c565b92505050611d97565b611bde846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118479092919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611c2d8787612573565b611c375784611c93565b611c928786601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614612621565b5b9050611ce781600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9e90919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d879190612924565b60405180910390a3600193505050505b9392505050565b6000808284611dad919061309b565b905083811015611df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de9906131cf565b60405180910390fd5b8091505092915050565b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611e695750601660009054906101000a900460ff16155b8015611e815750601360149054906101000a900460ff165b8015611ece5750601454600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601660006101000a81548160ff0219169083151502179055506000601554600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611f43576015549050611f86565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b6000611fc46002611fb6600a54611fa86008548761279990919063ffffffff16565b61281490919063ffffffff16565b61281490919063ffffffff16565b90506000611fdb828461285e90919063ffffffff16565b90506000600267ffffffffffffffff811115611ffa57611ff96131ef565b5b6040519080825280602002602001820160405280156120285781602001602082028036833780820191505090505b50905030816000815181106120405761203f61321e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156120e257600080fd5b505afa1580156120f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211a9190613262565b8160018151811061212e5761212d61321e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121cc959493929190613388565b600060405180830381600087803b1580156121e657600080fd5b505af11580156121fa573d6000803e3d6000fd5b505050506000479050600061222f61221e600260085461281490919063ffffffff16565b600a5461285e90919063ffffffff16565b9050600061226d600261225f846122516008548861279990919063ffffffff16565b61281490919063ffffffff16565b61281490919063ffffffff16565b90506000612284828561285e90919063ffffffff16565b90506000811115612326576000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516122db90613413565b600060405180830381858888f193505050503d8060008114612319576040519150601f19603f3d011682016040523d82523d6000602084013e61231e565b606091505b505080915050505b600087111561244757601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308a600080601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016123b896959493929190613428565b6060604051808303818588803b1580156123d157600080fd5b505af11580156123e5573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061240a919061349e565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506828860405161243e9291906134f1565b60405180910390a15b50505050505050506000601660006101000a81548160ff021916908315150217905550565b60006124c082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9e90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125609190612924565b60405180910390a3600190509392505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156126195750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b60008082612630576064612634565b600e545b9050600061267f6064600b5461264a9190612ed5565b61267184612663600a548a61279990919063ffffffff16565b61279990919063ffffffff16565b61281490919063ffffffff16565b90506126d381600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9e90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127739190612924565b60405180910390a361278e818661285e90919063ffffffff16565b925050509392505050565b6000808314156127ac576000905061280e565b600082846127ba9190612ed5565b90508284826127c99190612f5e565b14612809576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128009061358c565b60405180910390fd5b809150505b92915050565b600061285683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128a8565b905092915050565b60006128a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611847565b905092915050565b600080831182906128ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e691906129d8565b60405180910390fd5b50600083856128fe9190612f5e565b9050809150509392505050565b6000819050919050565b61291e8161290b565b82525050565b60006020820190506129396000830184612915565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561297957808201518184015260208101905061295e565b83811115612988576000848401525b50505050565b6000601f19601f8301169050919050565b60006129aa8261293f565b6129b4818561294a565b93506129c481856020860161295b565b6129cd8161298e565b840191505092915050565b600060208201905081810360008301526129f2818461299f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a2a826129ff565b9050919050565b612a3a81612a1f565b8114612a4557600080fd5b50565b600081359050612a5781612a31565b92915050565b612a668161290b565b8114612a7157600080fd5b50565b600081359050612a8381612a5d565b92915050565b60008060408385031215612aa057612a9f6129fa565b5b6000612aae85828601612a48565b9250506020612abf85828601612a74565b9150509250929050565b60008115159050919050565b612ade81612ac9565b82525050565b6000602082019050612af96000830184612ad5565b92915050565b612b0881612ac9565b8114612b1357600080fd5b50565b600081359050612b2581612aff565b92915050565b60008060408385031215612b4257612b416129fa565b5b6000612b5085828601612a48565b9250506020612b6185828601612b16565b9150509250929050565b600080600060608486031215612b8457612b836129fa565b5b6000612b9286828701612a48565b9350506020612ba386828701612a48565b9250506040612bb486828701612a74565b9150509250925092565b600060ff82169050919050565b612bd481612bbe565b82525050565b6000602082019050612bef6000830184612bcb565b92915050565b600060208284031215612c0b57612c0a6129fa565b5b6000612c1984828501612a48565b91505092915050565b600060208284031215612c3857612c376129fa565b5b6000612c4684828501612a74565b91505092915050565b612c5881612a1f565b82525050565b6000602082019050612c736000830184612c4f565b92915050565b60008060408385031215612c9057612c8f6129fa565b5b6000612c9e85828601612a48565b9250506020612caf85828601612a48565b9150509250929050565b600080600060608486031215612cd257612cd16129fa565b5b6000612ce086828701612a74565b9350506020612cf186828701612a74565b9250506040612d0286828701612a74565b9150509250925092565b600080600060608486031215612d2557612d246129fa565b5b6000612d3386828701612b16565b9350506020612d4486828701612a74565b9250506040612d5586828701612a74565b9150509250925092565b6000819050919050565b6000612d84612d7f612d7a846129ff565b612d5f565b6129ff565b9050919050565b6000612d9682612d69565b9050919050565b6000612da882612d8b565b9050919050565b612db881612d9d565b82525050565b6000602082019050612dd36000830184612daf565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612e2057607f821691505b60208210811415612e3457612e33612dd9565b5b50919050565b7f216f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000612e7060068361294a565b9150612e7b82612e3a565b602082019050919050565b60006020820190508181036000830152612e9f81612e63565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ee08261290b565b9150612eeb8361290b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f2457612f23612ea6565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f698261290b565b9150612f748361290b565b925082612f8457612f83612f2f565b5b828204905092915050565b7f466565732063616e6e6f74206265206d6f7265207468616e2033332500000000600082015250565b6000612fc5601c8361294a565b9150612fd082612f8f565b602082019050919050565b60006020820190508181036000830152612ff481612fb8565b9050919050565b7f6e65772069732030000000000000000000000000000000000000000000000000600082015250565b600061303160088361294a565b915061303c82612ffb565b602082019050919050565b6000602082019050818103600083015261306081613024565b9050919050565b60006130728261290b565b915061307d8361290b565b9250828210156130905761308f612ea6565b5b828203905092915050565b60006130a68261290b565b91506130b18361290b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156130e6576130e5612ea6565b5b828201905092915050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460008201527f65642c2068652063616e206e6f7420686f6c642074686174206d7563682e0000602082015250565b600061314d603e8361294a565b9150613158826130f1565b604082019050919050565b6000602082019050818103600083015261317c81613140565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006131b9601b8361294a565b91506131c482613183565b602082019050919050565b600060208201905081810360008301526131e8816131ac565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061325c81612a31565b92915050565b600060208284031215613278576132776129fa565b5b60006132868482850161324d565b91505092915050565b6000819050919050565b60006132b46132af6132aa8461328f565b612d5f565b61290b565b9050919050565b6132c481613299565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6132ff81612a1f565b82525050565b600061331183836132f6565b60208301905092915050565b6000602082019050919050565b6000613335826132ca565b61333f81856132d5565b935061334a836132e6565b8060005b8381101561337b5781516133628882613305565b975061336d8361331d565b92505060018101905061334e565b5085935050505092915050565b600060a08201905061339d6000830188612915565b6133aa60208301876132bb565b81810360408301526133bc818661332a565b90506133cb6060830185612c4f565b6133d86080830184612915565b9695505050505050565b600081905092915050565b50565b60006133fd6000836133e2565b9150613408826133ed565b600082019050919050565b600061341e826133f0565b9150819050919050565b600060c08201905061343d6000830189612c4f565b61344a6020830188612915565b61345760408301876132bb565b61346460608301866132bb565b6134716080830185612c4f565b61347e60a0830184612915565b979650505050505050565b60008151905061349881612a5d565b92915050565b6000806000606084860312156134b7576134b66129fa565b5b60006134c586828701613489565b93505060206134d686828701613489565b92505060406134e786828701613489565b9150509250925092565b60006040820190506135066000830185612915565b6135136020830184612915565b9392505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061357660218361294a565b91506135818261351a565b604082019050919050565b600060208201905081810360008301526135a581613569565b905091905056fea26469706673582212201a73583a831dda679ba6f49e0c4c42104e81e57b55fcf1de1c609eb75a8fbc4664736f6c634300080900330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode
0x6080604052600436106102085760003560e01c806373a432bb11610118578063c5cb3be5116100a0578063dd62ed3e1161006f578063dd62ed3e14610756578063ea42fc5214610793578063eff98843146107be578063f2fde38b146107e9578063f887ea40146108125761020f565b8063c5cb3be5146106ae578063ca33e64c146106d9578063cec10c1114610704578063d08893581461072d5761020f565b806398118cb4116100e757806398118cb4146105c7578063a4b45c00146105f2578063a8aa1b311461061b578063a9059cbb14610646578063acef1a44146106835761020f565b806373a432bb1461051d57806378109e54146105465780638da5cb5b1461057157806395d89b411461059c5761020f565b806323b872dd1161019b5780635d0044ca1161016a5780635d0044ca1461044c578063658d4b7f146104755780636ddd17131461049e57806370a08231146104c9578063715018a6146105065761020f565b806323b872dd1461037c578063313ce567146103b95780634ddf6e58146103e4578063571ac8b01461040f5761020f565b806318160ddd116101d757806318160ddd146102d25780631dcc9f51146102fd5780631df4ccfc146103285780632198cf6c146103535761020f565b80630445b6671461021457806306fdde031461023f578063095ea7b31461026a578063180b0d7e146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b5061022961083d565b6040516102369190612924565b60405180910390f35b34801561024b57600080fd5b50610254610843565b60405161026191906129d8565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c9190612a89565b6108d5565b60405161029e9190612ae4565b60405180910390f35b3480156102b357600080fd5b506102bc6109c7565b6040516102c99190612924565b60405180910390f35b3480156102de57600080fd5b506102e76109cd565b6040516102f49190612924565b60405180910390f35b34801561030957600080fd5b506103126109d7565b60405161031f9190612924565b60405180910390f35b34801561033457600080fd5b5061033d6109dd565b60405161034a9190612924565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190612b2b565b6109e3565b005b34801561038857600080fd5b506103a3600480360381019061039e9190612b6b565b610acc565b6040516103b09190612ae4565b60405180910390f35b3480156103c557600080fd5b506103ce610ccc565b6040516103db9190612bda565b60405180910390f35b3480156103f057600080fd5b506103f9610cd5565b6040516104069190612924565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190612bf5565b610cdb565b6040516104439190612ae4565b60405180910390f35b34801561045857600080fd5b50610473600480360381019061046e9190612c22565b610d0e565b005b34801561048157600080fd5b5061049c60048036038101906104979190612b2b565b610dc0565b005b3480156104aa57600080fd5b506104b3610ea9565b6040516104c09190612ae4565b60405180910390f35b3480156104d557600080fd5b506104f060048036038101906104eb9190612bf5565b610ebc565b6040516104fd9190612924565b60405180910390f35b34801561051257600080fd5b5061051b610f05565b005b34801561052957600080fd5b50610544600480360381019061053f9190612bf5565b611051565b005b34801561055257600080fd5b5061055b61119d565b6040516105689190612924565b60405180910390f35b34801561057d57600080fd5b506105866111a3565b6040516105939190612c5e565b60405180910390f35b3480156105a857600080fd5b506105b16111cc565b6040516105be91906129d8565b60405180910390f35b3480156105d357600080fd5b506105dc61125e565b6040516105e99190612924565b60405180910390f35b3480156105fe57600080fd5b5061061960048036038101906106149190612c79565b611264565b005b34801561062757600080fd5b50610630611378565b60405161063d9190612c5e565b60405180910390f35b34801561065257600080fd5b5061066d60048036038101906106689190612a89565b61139e565b60405161067a9190612ae4565b60405180910390f35b34801561068f57600080fd5b506106986113b3565b6040516106a59190612924565b60405180910390f35b3480156106ba57600080fd5b506106c36113b9565b6040516106d09190612c5e565b60405180910390f35b3480156106e557600080fd5b506106ee6113df565b6040516106fb9190612c5e565b60405180910390f35b34801561071057600080fd5b5061072b60048036038101906107269190612cb9565b611405565b005b34801561073957600080fd5b50610754600480360381019061074f9190612d0c565b611518565b005b34801561076257600080fd5b5061077d60048036038101906107789190612c79565b6115d3565b60405161078a9190612924565b60405180910390f35b34801561079f57600080fd5b506107a861165a565b6040516107b59190612924565b60405180910390f35b3480156107ca57600080fd5b506107d3611660565b6040516107e09190612924565b60405180910390f35b3480156107f557600080fd5b50610810600480360381019061080b9190612bf5565b611666565b005b34801561081e57600080fd5b50610827611821565b6040516108349190612dbe565b60405180910390f35b60145481565b60606001805461085290612e08565b80601f016020809104026020016040519081016040528092919081815260200182805461087e90612e08565b80156108cb5780601f106108a0576101008083540402835291602001916108cb565b820191906000526020600020905b8154815290600101906020018083116108ae57829003601f168201915b5050505050905090565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109b59190612924565b60405180910390a36001905092915050565b600b5481565b6000600354905090565b600d5481565b600a5481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6890612e86565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610cb857610c37826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118479092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610cc38484846118ab565b90509392505050565b60006009905090565b600e5481565b6000610d07827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108d5565b9050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9390612e86565b60405180910390fd5b61271081600354610dad9190612ed5565b610db79190612f5e565b600f8190555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4590612e86565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601360149054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8a90612e86565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d690612e86565b60405180910390fd5b80601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546111db90612e08565b80601f016020809104026020016040519081016040528092919081815260200182805461120790612e08565b80156112545780601f1061122957610100808354040283529160200191611254565b820191906000526020600020905b81548152906001019060200180831161123757829003601f168201915b5050505050905090565b60085481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e990612e86565b60405180910390fd5b81601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006113ab3384846118ab565b905092915050565b60155481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148a90612e86565b60405180910390fd5b82600881905550816009819055506114b48284611d9e90919063ffffffff16565b600a8190555080600b819055506003600b546114d09190612f5e565b600a5410611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150a90612fdb565b60405180910390fd5b505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159d90612e86565b60405180910390fd5b82601360146101000a81548160ff0219169083151502179055508160148190555080601581905550505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b60095481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116eb90612e86565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175b90613047565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600083831115829061188f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188691906129d8565b60405180910390fd5b506000838561189e9190613067565b9050809150509392505050565b6000806118b784610ebc565b9050600f5483826118c8919061309b565b11158061191e5750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61195d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195490613163565b60405180910390fd5b611965611dfc565b80156119be5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156119cc576119cb611ed3565b5b600062989680846119dd9190612f5e565b9050600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a865750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15611a9a578084611a979190613067565b93505b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611b3c5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611b5557611b4c86868661246c565b92505050611d97565b611bde846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118479092919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611c2d8787612573565b611c375784611c93565b611c928786601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614612621565b5b9050611ce781600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9e90919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d879190612924565b60405180910390a3600193505050505b9392505050565b6000808284611dad919061309b565b905083811015611df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de9906131cf565b60405180910390fd5b8091505092915050565b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611e695750601660009054906101000a900460ff16155b8015611e815750601360149054906101000a900460ff165b8015611ece5750601454600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601660006101000a81548160ff0219169083151502179055506000601554600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611f43576015549050611f86565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b6000611fc46002611fb6600a54611fa86008548761279990919063ffffffff16565b61281490919063ffffffff16565b61281490919063ffffffff16565b90506000611fdb828461285e90919063ffffffff16565b90506000600267ffffffffffffffff811115611ffa57611ff96131ef565b5b6040519080825280602002602001820160405280156120285781602001602082028036833780820191505090505b50905030816000815181106120405761203f61321e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156120e257600080fd5b505afa1580156120f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211a9190613262565b8160018151811061212e5761212d61321e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121cc959493929190613388565b600060405180830381600087803b1580156121e657600080fd5b505af11580156121fa573d6000803e3d6000fd5b505050506000479050600061222f61221e600260085461281490919063ffffffff16565b600a5461285e90919063ffffffff16565b9050600061226d600261225f846122516008548861279990919063ffffffff16565b61281490919063ffffffff16565b61281490919063ffffffff16565b90506000612284828561285e90919063ffffffff16565b90506000811115612326576000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516122db90613413565b600060405180830381858888f193505050503d8060008114612319576040519150601f19603f3d011682016040523d82523d6000602084013e61231e565b606091505b505080915050505b600087111561244757601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308a600080601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016123b896959493929190613428565b6060604051808303818588803b1580156123d157600080fd5b505af11580156123e5573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061240a919061349e565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506828860405161243e9291906134f1565b60405180910390a15b50505050505050506000601660006101000a81548160ff021916908315150217905550565b60006124c082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9e90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125609190612924565b60405180910390a3600190509392505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156126195750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b60008082612630576064612634565b600e545b9050600061267f6064600b5461264a9190612ed5565b61267184612663600a548a61279990919063ffffffff16565b61279990919063ffffffff16565b61281490919063ffffffff16565b90506126d381600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9e90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127739190612924565b60405180910390a361278e818661285e90919063ffffffff16565b925050509392505050565b6000808314156127ac576000905061280e565b600082846127ba9190612ed5565b90508284826127c99190612f5e565b14612809576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128009061358c565b60405180910390fd5b809150505b92915050565b600061285683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128a8565b905092915050565b60006128a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611847565b905092915050565b600080831182906128ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e691906129d8565b60405180910390fd5b50600083856128fe9190612f5e565b9050809150509392505050565b6000819050919050565b61291e8161290b565b82525050565b60006020820190506129396000830184612915565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561297957808201518184015260208101905061295e565b83811115612988576000848401525b50505050565b6000601f19601f8301169050919050565b60006129aa8261293f565b6129b4818561294a565b93506129c481856020860161295b565b6129cd8161298e565b840191505092915050565b600060208201905081810360008301526129f2818461299f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a2a826129ff565b9050919050565b612a3a81612a1f565b8114612a4557600080fd5b50565b600081359050612a5781612a31565b92915050565b612a668161290b565b8114612a7157600080fd5b50565b600081359050612a8381612a5d565b92915050565b60008060408385031215612aa057612a9f6129fa565b5b6000612aae85828601612a48565b9250506020612abf85828601612a74565b9150509250929050565b60008115159050919050565b612ade81612ac9565b82525050565b6000602082019050612af96000830184612ad5565b92915050565b612b0881612ac9565b8114612b1357600080fd5b50565b600081359050612b2581612aff565b92915050565b60008060408385031215612b4257612b416129fa565b5b6000612b5085828601612a48565b9250506020612b6185828601612b16565b9150509250929050565b600080600060608486031215612b8457612b836129fa565b5b6000612b9286828701612a48565b9350506020612ba386828701612a48565b9250506040612bb486828701612a74565b9150509250925092565b600060ff82169050919050565b612bd481612bbe565b82525050565b6000602082019050612bef6000830184612bcb565b92915050565b600060208284031215612c0b57612c0a6129fa565b5b6000612c1984828501612a48565b91505092915050565b600060208284031215612c3857612c376129fa565b5b6000612c4684828501612a74565b91505092915050565b612c5881612a1f565b82525050565b6000602082019050612c736000830184612c4f565b92915050565b60008060408385031215612c9057612c8f6129fa565b5b6000612c9e85828601612a48565b9250506020612caf85828601612a48565b9150509250929050565b600080600060608486031215612cd257612cd16129fa565b5b6000612ce086828701612a74565b9350506020612cf186828701612a74565b9250506040612d0286828701612a74565b9150509250925092565b600080600060608486031215612d2557612d246129fa565b5b6000612d3386828701612b16565b9350506020612d4486828701612a74565b9250506040612d5586828701612a74565b9150509250925092565b6000819050919050565b6000612d84612d7f612d7a846129ff565b612d5f565b6129ff565b9050919050565b6000612d9682612d69565b9050919050565b6000612da882612d8b565b9050919050565b612db881612d9d565b82525050565b6000602082019050612dd36000830184612daf565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612e2057607f821691505b60208210811415612e3457612e33612dd9565b5b50919050565b7f216f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000612e7060068361294a565b9150612e7b82612e3a565b602082019050919050565b60006020820190508181036000830152612e9f81612e63565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ee08261290b565b9150612eeb8361290b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f2457612f23612ea6565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f698261290b565b9150612f748361290b565b925082612f8457612f83612f2f565b5b828204905092915050565b7f466565732063616e6e6f74206265206d6f7265207468616e2033332500000000600082015250565b6000612fc5601c8361294a565b9150612fd082612f8f565b602082019050919050565b60006020820190508181036000830152612ff481612fb8565b9050919050565b7f6e65772069732030000000000000000000000000000000000000000000000000600082015250565b600061303160088361294a565b915061303c82612ffb565b602082019050919050565b6000602082019050818103600083015261306081613024565b9050919050565b60006130728261290b565b915061307d8361290b565b9250828210156130905761308f612ea6565b5b828203905092915050565b60006130a68261290b565b91506130b18361290b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156130e6576130e5612ea6565b5b828201905092915050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460008201527f65642c2068652063616e206e6f7420686f6c642074686174206d7563682e0000602082015250565b600061314d603e8361294a565b9150613158826130f1565b604082019050919050565b6000602082019050818103600083015261317c81613140565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006131b9601b8361294a565b91506131c482613183565b602082019050919050565b600060208201905081810360008301526131e8816131ac565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061325c81612a31565b92915050565b600060208284031215613278576132776129fa565b5b60006132868482850161324d565b91505092915050565b6000819050919050565b60006132b46132af6132aa8461328f565b612d5f565b61290b565b9050919050565b6132c481613299565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6132ff81612a1f565b82525050565b600061331183836132f6565b60208301905092915050565b6000602082019050919050565b6000613335826132ca565b61333f81856132d5565b935061334a836132e6565b8060005b8381101561337b5781516133628882613305565b975061336d8361331d565b92505060018101905061334e565b5085935050505092915050565b600060a08201905061339d6000830188612915565b6133aa60208301876132bb565b81810360408301526133bc818661332a565b90506133cb6060830185612c4f565b6133d86080830184612915565b9695505050505050565b600081905092915050565b50565b60006133fd6000836133e2565b9150613408826133ed565b600082019050919050565b600061341e826133f0565b9150819050919050565b600060c08201905061343d6000830189612c4f565b61344a6020830188612915565b61345760408301876132bb565b61346460608301866132bb565b6134716080830185612c4f565b61347e60a0830184612915565b979650505050505050565b60008151905061349881612a5d565b92915050565b6000806000606084860312156134b7576134b66129fa565b5b60006134c586828701613489565b93505060206134d686828701613489565b92505060406134e786828701613489565b9150509250925092565b60006040820190506135066000830185612915565b6135136020830184612915565b9392505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061357660218361294a565b91506135818261351a565b604082019050919050565b600060208201905081810360008301526135a581613569565b905091905056fea26469706673582212201a73583a831dda679ba6f49e0c4c42104e81e57b55fcf1de1c609eb75a8fbc4664736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
-----Decoded View---------------
Arg [0] : routeraddr (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Deployed Bytecode Sourcemap
4434:8753:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5472:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6713:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7149:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5052:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6443:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5140:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4986:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8216:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7667:368;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6537:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5185:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7373:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8043:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11454:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5435:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6799:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2564:148;;;;;;;;;;;;;:::i;:::-;;10461:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5233:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2378:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6623:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4906:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11224:222;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5407:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7503:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5532:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5326:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5283:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10855:361;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10604:243;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6910:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5092:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4947:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2720:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5368:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5472:53;;;;:::o;6713:80::-;6761:13;6785:5;6778:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6713:80;:::o;7149:216::-;7224:4;7276:6;7241:11;:23;7253:10;7241:23;;;;;;;;;;;;;;;:32;7265:7;7241:32;;;;;;;;;;;;;;;:41;;;;7319:7;7298:37;;7307:10;7298:37;;;7328:6;7298:37;;;;;;:::i;:::-;;;;;;;;7353:4;7346:11;;7149:216;;;;:::o;5052:36::-;;;;:::o;6443:88::-;6498:7;6516:12;;6509:19;;6443:88;:::o;5140:40::-;;;;:::o;4986:58::-;;;;:::o;8216:136::-;2515:10;2505:20;;:6;;;;;;;;;;:20;;;2497:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;8337:6:::1;8307:19;:27;8327:6;8307:27;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;8216:136:::0;;:::o;7667:368::-;7767:4;7822:17;7787:11;:19;7799:6;7787:19;;;;;;;;;;;;;;;:31;7807:10;7787:31;;;;;;;;;;;;;;;;:52;7784:186;;7889:69;7925:6;7889:69;;;;;;;;;;;;;;;;;:11;:19;7901:6;7889:19;;;;;;;;;;;;;;;:31;7909:10;7889:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;7855:11;:19;7867:6;7855:19;;;;;;;;;;;;;;;:31;7875:10;7855:31;;;;;;;;;;;;;;;:103;;;;7784:186;7987:40;8001:6;8009:9;8020:6;7987:13;:40::i;:::-;7980:47;;7667:368;;;;;:::o;6537:80::-;6589:5;4632:1;6598:16;;6537:80;:::o;5185:40::-;;;;:::o;7373:122::-;7428:4;7452:35;7460:7;7469:17;7452:7;:35::i;:::-;7445:42;;7373:122;;;:::o;8043:165::-;2515:10;2505:20;;:6;;;;;;;;;;:20;;;2497:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;8194:5:::1;8165:24;8150:12;;:39;;;;:::i;:::-;8149:50;;;;:::i;:::-;8131:15;:68;;;;8043:165:::0;:::o;11454:120::-;2515:10;2505:20;;:6;;;;;;;;;;:20;;;2497:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;11560:6:::1;11538:11;:19;11550:6;11538:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;11454:120:::0;;:::o;5435:30::-;;;;;;;;;;;;;:::o;6799:105::-;6865:7;6883:9;:18;6893:7;6883:18;;;;;;;;;;;;;;;;6876:25;;6799:105;;;:::o;2564:148::-;2515:10;2505:20;;:6;;;;;;;;;;:20;;;2497:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;2671:1:::1;2634:40;;2655:6;::::0;::::1;;;;;;;;2634:40;;;;;;;;;;;;2702:1;2685:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2564:148::o:0;10461:135::-;2515:10;2505:20;;:6;;;;;;;;;;:20;;;2497:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;10537:8:::1;10530:4;;:15;;;;;;;;;;;;;;;;;;10584:4;10556:19;:25;10576:4;;;;;;;;;;;10556:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;10461:135:::0;:::o;5233:39::-;;;;:::o;2378:79::-;2416:7;2443:6;;;;;;;;;;;2436:13;;2378:79;:::o;6623:84::-;6673:13;6697:7;6690:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6623:84;:::o;4906:34::-;;;;:::o;11224:222::-;2515:10;2505:20;;:6;;;;;;;;;;:20;;;2497:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;11365:22:::1;11341:21;;:46;;;;;;;;;;;;;;;;;;11419:19;11398:18;;:40;;;;;;;;;;;;;;;;;;11224:222:::0;;:::o;5407:19::-;;;;;;;;;;;;;:::o;7503:156::-;7583:4;7607:44;7621:10;7633:9;7644:6;7607:13;:44::i;:::-;7600:51;;7503:156;;;;:::o;5532:55::-;;;;:::o;5326:33::-;;;;;;;;;;;;;:::o;5283:36::-;;;;;;;;;;;;;:::o;10855:361::-;2515:10;2505:20;;:6;;;;;;;;;;:20;;;2497:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;10986:13:::1;10971:12;:28;;;;11023:11;11010:10;:24;;;;11056:30;11074:11;11056:13;:17;;:30;;;;:::i;:::-;11045:8;:41;;;;11114:15;11097:14;:32;;;;11174:1;11159:14;;:16;;;;:::i;:::-;11148:8;;:27;11140:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10855:361:::0;;;:::o;10604:243::-;2515:10;2505:20;;:6;;;;;;;;;;:20;;;2497:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;10743:8:::1;10729:11;;:22;;;;;;;;;;;;;;;;;;10778:14;10762:13;:30;;;;10822:17;10803:16;:36;;;;10604:243:::0;;;:::o;6910:133::-;6994:7;7012:11;:19;7024:6;7012:19;;;;;;;;;;;;;;;:28;7032:7;7012:28;;;;;;;;;;;;;;;;7005:35;;6910:133;;;;:::o;5092:40::-;;;;:::o;4947:32::-;;;;:::o;2720:214::-;2515:10;2505:20;;:6;;;;;;;;;;:20;;;2497:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;2829:1:::1;2809:22;;:8;:22;;;;2801:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;2889:8;2860:38;;2881:6;::::0;::::1;;;;;;;;2860:38;;;;;;;;;;;;2918:8;2909:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2720:214:::0;:::o;5368:32::-;;;;;;;;;;;;;:::o;422:190::-;508:7;541:1;536;:6;;544:12;528:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;568:9;584:1;580;:5;;;;:::i;:::-;568:17;;603:1;596:8;;;422:190;;;;;:::o;8360:1014::-;8452:4;8471:18;8492:20;8502:9;8492;:20::i;:::-;8471:41;;8556:15;;8545:6;8532:10;:19;;;;:::i;:::-;8531:40;;:74;;;;8575:19;:30;8595:9;8575:30;;;;;;;;;;;;;;;;;;;;;;;;;8531:74;8523:148;;;;;;;;;;;;:::i;:::-;;;;;;;;;8685:16;:14;:16::i;:::-;:37;;;;;8718:4;;;;;;;;;;;8705:17;;:9;:17;;;8685:37;8682:54;;;8724:10;:8;:10::i;:::-;8682:54;8750:21;8783:8;8774:6;:17;;;;:::i;:::-;8750:41;;8806:11;:19;8818:6;8806:19;;;;;;;;;;;;;;;;;;;;;;;;;8805:20;:41;;;;;8842:4;;;;;;;;;;;8829:17;;:9;:17;;;8805:41;8802:95;;;8872:13;8862:23;;;;;:::i;:::-;;;8802:95;8910:11;:19;8922:6;8910:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;8933:11;:22;8945:9;8933:22;;;;;;;;;;;;;;;;;;;;;;;;;8910:45;8907:96;;;8964:39;8979:6;8986:9;8996:6;8964:14;:39::i;:::-;8957:46;;;;;;8907:96;9034:53;9056:6;9034:53;;;;;;;;;;;;;;;;;:9;:17;9044:6;9034:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9014:9;:17;9024:6;9014:17;;;;;;;;;;;;;;;:73;;;;9098:22;9123:31;9137:6;9144:9;9123:13;:31::i;:::-;:86;;9203:6;9123:86;;;9157:43;9165:6;9173;9194:4;;;;;;;;;;;9181:17;;:9;:17;;;9157:7;:43::i;:::-;9123:86;9098:111;;9243:40;9268:14;9243:9;:20;9253:9;9243:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;9220:9;:20;9230:9;9220:20;;;;;;;;;;;;;;;:63;;;;9318:9;9301:43;;9310:6;9301:43;;;9329:14;9301:43;;;;;;:::i;:::-;;;;;;;;9362:4;9355:11;;;;;8360:1014;;;;;;:::o;95:179::-;153:7;173:9;189:1;185;:5;;;;:::i;:::-;173:17;;214:1;209;:6;;201:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;265:1;258:8;;;95:179;;;;:::o;10256:197::-;10305:4;10343;;;;;;;;;;;10329:18;;:10;:18;;;;:38;;;;;10361:6;;;;;;;;;;;10360:7;10329:38;:62;;;;;10380:11;;;;;;;;;;;10329:62;:116;;;;;10432:13;;10404:9;:24;10422:4;10404:24;;;;;;;;;;;;;;;;:41;;10329:116;10322:123;;10256:197;:::o;11582:1600::-;5645:4;5636:6;;:13;;;;;;;;;;;;;;;;;;11641:22:::1;11704:16;;11677:9;:24;11695:4;11677:24;;;;;;;;;;;;;;;;:43;11674:180;;;11753:16;;11736:33;;11674:180;;;11818:9;:24;11836:4;11818:24;;;;;;;;;;;;;;;;11801:41;;11674:180;11864:23;11890:53;11941:1;11890:46;11927:8;;11890:32;11909:12;;11890:14;:18;;:32;;;;:::i;:::-;:36;;:46;;;;:::i;:::-;:50;;:53;;;;:::i;:::-;11864:79;;11954:20;11977:35;11996:15;11977:14;:18;;:35;;;;:::i;:::-;11954:58;;12025:21;12063:1;12049:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12025:40;;12094:4;12076;12081:1;12076:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12120:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12110:4;12115:1;12110:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12144:6;;;;;;;;;;;:57;;;12216:12;12243:1;12259:4;12286;12306:15;12144:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12345:17;12365:21;12345:41;;12397:19;12419:33;12432:19;12449:1;12432:12;;:16;;:19;;;;:::i;:::-;12419:8;;:12;;:33;;;;:::i;:::-;12397:55;;12463:26;12492:51;12541:1;12492:44;12524:11;12492:27;12506:12;;12492:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;12463:80;;12554:26;12583:33;12597:18;12583:9;:13;;:33;;;;:::i;:::-;12554:62;;12651:1;12632:18;:20;12629:172;;;12668:15;12722:18;;;;;;;;;;;12714:32;;12754:18;12779:5;12714:75;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12698:91;;;;;12653:148;12629:172;12834:1;12816:15;:19;12813:362;;;12851:6;;;;;;;;;;;:22;;;12881:18;12927:4;12951:15;12985:1;13005::::0;13025:21:::1;;;;;;;;;;;13065:15;12851:244;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13115:48;13127:18;13147:15;13115:48;;;;;;;:::i;:::-;;;;;;;;12813:362;11620:1562;;;;;;;;5663:5:::0;5654:6;;:14;;;;;;;;;;;;;;;;;;11582:1600::o;9386:248::-;9479:4;9521:32;9546:6;9521:9;:20;9531:9;9521:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9498:9;:20;9508:9;9498:20;;;;;;;;;;;;;;;:55;;;;9586:9;9569:35;;9578:6;9569:35;;;9597:6;9569:35;;;;;;:::i;:::-;;;;;;;;9622:4;9615:11;;9386:248;;;;;:::o;10088:160::-;10168:4;10193:11;:19;10205:6;10193:19;;;;;;;;;;;;;;;;;;;;;;;;;10192:20;:47;;;;;10217:11;:22;10229:9;10217:22;;;;;;;;;;;;;;;;;;;;;;;;;10216:23;10192:47;10185:54;;10088:160;;;;:::o;9642:438::-;9722:7;9749:18;9770:6;:34;;9801:3;9770:34;;;9779:19;;9770:34;9749:55;;9816:17;9836:62;9894:3;9877:14;;:20;;;;:::i;:::-;9836:36;9861:10;9836:20;9847:8;;9836:6;:10;;:20;;;;:::i;:::-;:24;;:36;;;;:::i;:::-;:40;;:62;;;;:::i;:::-;9816:82;;9936:39;9965:9;9936;:24;9954:4;9936:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9909:9;:24;9927:4;9909:24;;;;;;;;;;;;;;;:66;;;;10016:4;9991:42;;10000:6;9991:42;;;10023:9;9991:42;;;;;;:::i;:::-;;;;;;;;10051:21;10062:9;10051:6;:10;;:21;;;;:::i;:::-;10044:28;;;;9642:438;;;;;:::o;618:246::-;676:7;705:1;700;:6;696:47;;;730:1;723:8;;;;696:47;753:9;769:1;765;:5;;;;:::i;:::-;753:17;;798:1;793;789;:5;;;;:::i;:::-;:10;781:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;855:1;848:8;;;618:246;;;;;:::o;870:132::-;928:7;955:39;959:1;962;955:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;948:46;;870:132;;;;:::o;280:136::-;338:7;365:43;369:1;372;365:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;358:50;;280:136;;;;:::o;1008:189::-;1094:7;1126:1;1122;:5;1129:12;1114:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1153:9;1169:1;1165;:5;;;;:::i;:::-;1153:17;;1188:1;1181:8;;;1008:189;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1913:117::-;2022:1;2019;2012:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:116::-;3916:21;3931:5;3916:21;:::i;:::-;3909:5;3906:32;3896:60;;3952:1;3949;3942:12;3896:60;3846:116;:::o;3968:133::-;4011:5;4049:6;4036:20;4027:29;;4065:30;4089:5;4065:30;:::i;:::-;3968:133;;;;:::o;4107:468::-;4172:6;4180;4229:2;4217:9;4208:7;4204:23;4200:32;4197:119;;;4235:79;;:::i;:::-;4197:119;4355:1;4380:53;4425:7;4416:6;4405:9;4401:22;4380:53;:::i;:::-;4370:63;;4326:117;4482:2;4508:50;4550:7;4541:6;4530:9;4526:22;4508:50;:::i;:::-;4498:60;;4453:115;4107:468;;;;;:::o;4581:619::-;4658:6;4666;4674;4723:2;4711:9;4702:7;4698:23;4694:32;4691:119;;;4729:79;;:::i;:::-;4691:119;4849:1;4874:53;4919:7;4910:6;4899:9;4895:22;4874:53;:::i;:::-;4864:63;;4820:117;4976:2;5002:53;5047:7;5038:6;5027:9;5023:22;5002:53;:::i;:::-;4992:63;;4947:118;5104:2;5130:53;5175:7;5166:6;5155:9;5151:22;5130:53;:::i;:::-;5120:63;;5075:118;4581:619;;;;;:::o;5206:86::-;5241:7;5281:4;5274:5;5270:16;5259:27;;5206:86;;;:::o;5298:112::-;5381:22;5397:5;5381:22;:::i;:::-;5376:3;5369:35;5298:112;;:::o;5416:214::-;5505:4;5543:2;5532:9;5528:18;5520:26;;5556:67;5620:1;5609:9;5605:17;5596:6;5556:67;:::i;:::-;5416:214;;;;:::o;5636:329::-;5695:6;5744:2;5732:9;5723:7;5719:23;5715:32;5712:119;;;5750:79;;:::i;:::-;5712:119;5870:1;5895:53;5940:7;5931:6;5920:9;5916:22;5895:53;:::i;:::-;5885:63;;5841:117;5636:329;;;;:::o;5971:::-;6030:6;6079:2;6067:9;6058:7;6054:23;6050:32;6047:119;;;6085:79;;:::i;:::-;6047:119;6205:1;6230:53;6275:7;6266:6;6255:9;6251:22;6230:53;:::i;:::-;6220:63;;6176:117;5971:329;;;;:::o;6306:118::-;6393:24;6411:5;6393:24;:::i;:::-;6388:3;6381:37;6306:118;;:::o;6430:222::-;6523:4;6561:2;6550:9;6546:18;6538:26;;6574:71;6642:1;6631:9;6627:17;6618:6;6574:71;:::i;:::-;6430:222;;;;:::o;6658:474::-;6726:6;6734;6783:2;6771:9;6762:7;6758:23;6754:32;6751:119;;;6789:79;;:::i;:::-;6751:119;6909:1;6934:53;6979:7;6970:6;6959:9;6955:22;6934:53;:::i;:::-;6924:63;;6880:117;7036:2;7062:53;7107:7;7098:6;7087:9;7083:22;7062:53;:::i;:::-;7052:63;;7007:118;6658:474;;;;;:::o;7138:619::-;7215:6;7223;7231;7280:2;7268:9;7259:7;7255:23;7251:32;7248:119;;;7286:79;;:::i;:::-;7248:119;7406:1;7431:53;7476:7;7467:6;7456:9;7452:22;7431:53;:::i;:::-;7421:63;;7377:117;7533:2;7559:53;7604:7;7595:6;7584:9;7580:22;7559:53;:::i;:::-;7549:63;;7504:118;7661:2;7687:53;7732:7;7723:6;7712:9;7708:22;7687:53;:::i;:::-;7677:63;;7632:118;7138:619;;;;;:::o;7763:613::-;7837:6;7845;7853;7902:2;7890:9;7881:7;7877:23;7873:32;7870:119;;;7908:79;;:::i;:::-;7870:119;8028:1;8053:50;8095:7;8086:6;8075:9;8071:22;8053:50;:::i;:::-;8043:60;;7999:114;8152:2;8178:53;8223:7;8214:6;8203:9;8199:22;8178:53;:::i;:::-;8168:63;;8123:118;8280:2;8306:53;8351:7;8342:6;8331:9;8327:22;8306:53;:::i;:::-;8296:63;;8251:118;7763:613;;;;;:::o;8382:60::-;8410:3;8431:5;8424:12;;8382:60;;;:::o;8448:142::-;8498:9;8531:53;8549:34;8558:24;8576:5;8558:24;:::i;:::-;8549:34;:::i;:::-;8531:53;:::i;:::-;8518:66;;8448:142;;;:::o;8596:126::-;8646:9;8679:37;8710:5;8679:37;:::i;:::-;8666:50;;8596:126;;;:::o;8728:152::-;8804:9;8837:37;8868:5;8837:37;:::i;:::-;8824:50;;8728:152;;;:::o;8886:183::-;8999:63;9056:5;8999:63;:::i;:::-;8994:3;8987:76;8886:183;;:::o;9075:274::-;9194:4;9232:2;9221:9;9217:18;9209:26;;9245:97;9339:1;9328:9;9324:17;9315:6;9245:97;:::i;:::-;9075:274;;;;:::o;9355:180::-;9403:77;9400:1;9393:88;9500:4;9497:1;9490:15;9524:4;9521:1;9514:15;9541:320;9585:6;9622:1;9616:4;9612:12;9602:22;;9669:1;9663:4;9659:12;9690:18;9680:81;;9746:4;9738:6;9734:17;9724:27;;9680:81;9808:2;9800:6;9797:14;9777:18;9774:38;9771:84;;;9827:18;;:::i;:::-;9771:84;9592:269;9541:320;;;:::o;9867:156::-;10007:8;10003:1;9995:6;9991:14;9984:32;9867:156;:::o;10029:365::-;10171:3;10192:66;10256:1;10251:3;10192:66;:::i;:::-;10185:73;;10267:93;10356:3;10267:93;:::i;:::-;10385:2;10380:3;10376:12;10369:19;;10029:365;;;:::o;10400:419::-;10566:4;10604:2;10593:9;10589:18;10581:26;;10653:9;10647:4;10643:20;10639:1;10628:9;10624:17;10617:47;10681:131;10807:4;10681:131;:::i;:::-;10673:139;;10400:419;;;:::o;10825:180::-;10873:77;10870:1;10863:88;10970:4;10967:1;10960:15;10994:4;10991:1;10984:15;11011:348;11051:7;11074:20;11092:1;11074:20;:::i;:::-;11069:25;;11108:20;11126:1;11108:20;:::i;:::-;11103:25;;11296:1;11228:66;11224:74;11221:1;11218:81;11213:1;11206:9;11199:17;11195:105;11192:131;;;11303:18;;:::i;:::-;11192:131;11351:1;11348;11344:9;11333:20;;11011:348;;;;:::o;11365:180::-;11413:77;11410:1;11403:88;11510:4;11507:1;11500:15;11534:4;11531:1;11524:15;11551:185;11591:1;11608:20;11626:1;11608:20;:::i;:::-;11603:25;;11642:20;11660:1;11642:20;:::i;:::-;11637:25;;11681:1;11671:35;;11686:18;;:::i;:::-;11671:35;11728:1;11725;11721:9;11716:14;;11551:185;;;;:::o;11742:178::-;11882:30;11878:1;11870:6;11866:14;11859:54;11742:178;:::o;11926:366::-;12068:3;12089:67;12153:2;12148:3;12089:67;:::i;:::-;12082:74;;12165:93;12254:3;12165:93;:::i;:::-;12283:2;12278:3;12274:12;12267:19;;11926:366;;;:::o;12298:419::-;12464:4;12502:2;12491:9;12487:18;12479:26;;12551:9;12545:4;12541:20;12537:1;12526:9;12522:17;12515:47;12579:131;12705:4;12579:131;:::i;:::-;12571:139;;12298:419;;;:::o;12723:158::-;12863:10;12859:1;12851:6;12847:14;12840:34;12723:158;:::o;12887:365::-;13029:3;13050:66;13114:1;13109:3;13050:66;:::i;:::-;13043:73;;13125:93;13214:3;13125:93;:::i;:::-;13243:2;13238:3;13234:12;13227:19;;12887:365;;;:::o;13258:419::-;13424:4;13462:2;13451:9;13447:18;13439:26;;13511:9;13505:4;13501:20;13497:1;13486:9;13482:17;13475:47;13539:131;13665:4;13539:131;:::i;:::-;13531:139;;13258:419;;;:::o;13683:191::-;13723:4;13743:20;13761:1;13743:20;:::i;:::-;13738:25;;13777:20;13795:1;13777:20;:::i;:::-;13772:25;;13816:1;13813;13810:8;13807:34;;;13821:18;;:::i;:::-;13807:34;13866:1;13863;13859:9;13851:17;;13683:191;;;;:::o;13880:305::-;13920:3;13939:20;13957:1;13939:20;:::i;:::-;13934:25;;13973:20;13991:1;13973:20;:::i;:::-;13968:25;;14127:1;14059:66;14055:74;14052:1;14049:81;14046:107;;;14133:18;;:::i;:::-;14046:107;14177:1;14174;14170:9;14163:16;;13880:305;;;;:::o;14191:249::-;14331:34;14327:1;14319:6;14315:14;14308:58;14400:32;14395:2;14387:6;14383:15;14376:57;14191:249;:::o;14446:366::-;14588:3;14609:67;14673:2;14668:3;14609:67;:::i;:::-;14602:74;;14685:93;14774:3;14685:93;:::i;:::-;14803:2;14798:3;14794:12;14787:19;;14446:366;;;:::o;14818:419::-;14984:4;15022:2;15011:9;15007:18;14999:26;;15071:9;15065:4;15061:20;15057:1;15046:9;15042:17;15035:47;15099:131;15225:4;15099:131;:::i;:::-;15091:139;;14818:419;;;:::o;15243:177::-;15383:29;15379:1;15371:6;15367:14;15360:53;15243:177;:::o;15426:366::-;15568:3;15589:67;15653:2;15648:3;15589:67;:::i;:::-;15582:74;;15665:93;15754:3;15665:93;:::i;:::-;15783:2;15778:3;15774:12;15767:19;;15426:366;;;:::o;15798:419::-;15964:4;16002:2;15991:9;15987:18;15979:26;;16051:9;16045:4;16041:20;16037:1;16026:9;16022:17;16015:47;16079:131;16205:4;16079:131;:::i;:::-;16071:139;;15798:419;;;:::o;16223:180::-;16271:77;16268:1;16261:88;16368:4;16365:1;16358:15;16392:4;16389:1;16382:15;16409:180;16457:77;16454:1;16447:88;16554:4;16551:1;16544:15;16578:4;16575:1;16568:15;16595:143;16652:5;16683:6;16677:13;16668:22;;16699:33;16726:5;16699:33;:::i;:::-;16595:143;;;;:::o;16744:351::-;16814:6;16863:2;16851:9;16842:7;16838:23;16834:32;16831:119;;;16869:79;;:::i;:::-;16831:119;16989:1;17014:64;17070:7;17061:6;17050:9;17046:22;17014:64;:::i;:::-;17004:74;;16960:128;16744:351;;;;:::o;17101:85::-;17146:7;17175:5;17164:16;;17101:85;;;:::o;17192:158::-;17250:9;17283:61;17301:42;17310:32;17336:5;17310:32;:::i;:::-;17301:42;:::i;:::-;17283:61;:::i;:::-;17270:74;;17192:158;;;:::o;17356:147::-;17451:45;17490:5;17451:45;:::i;:::-;17446:3;17439:58;17356:147;;:::o;17509:114::-;17576:6;17610:5;17604:12;17594:22;;17509:114;;;:::o;17629:184::-;17728:11;17762:6;17757:3;17750:19;17802:4;17797:3;17793:14;17778:29;;17629:184;;;;:::o;17819:132::-;17886:4;17909:3;17901:11;;17939:4;17934:3;17930:14;17922:22;;17819:132;;;:::o;17957:108::-;18034:24;18052:5;18034:24;:::i;:::-;18029:3;18022:37;17957:108;;:::o;18071:179::-;18140:10;18161:46;18203:3;18195:6;18161:46;:::i;:::-;18239:4;18234:3;18230:14;18216:28;;18071:179;;;;:::o;18256:113::-;18326:4;18358;18353:3;18349:14;18341:22;;18256:113;;;:::o;18405:732::-;18524:3;18553:54;18601:5;18553:54;:::i;:::-;18623:86;18702:6;18697:3;18623:86;:::i;:::-;18616:93;;18733:56;18783:5;18733:56;:::i;:::-;18812:7;18843:1;18828:284;18853:6;18850:1;18847:13;18828:284;;;18929:6;18923:13;18956:63;19015:3;19000:13;18956:63;:::i;:::-;18949:70;;19042:60;19095:6;19042:60;:::i;:::-;19032:70;;18888:224;18875:1;18872;18868:9;18863:14;;18828:284;;;18832:14;19128:3;19121:10;;18529:608;;;18405:732;;;;:::o;19143:831::-;19406:4;19444:3;19433:9;19429:19;19421:27;;19458:71;19526:1;19515:9;19511:17;19502:6;19458:71;:::i;:::-;19539:80;19615:2;19604:9;19600:18;19591:6;19539:80;:::i;:::-;19666:9;19660:4;19656:20;19651:2;19640:9;19636:18;19629:48;19694:108;19797:4;19788:6;19694:108;:::i;:::-;19686:116;;19812:72;19880:2;19869:9;19865:18;19856:6;19812:72;:::i;:::-;19894:73;19962:3;19951:9;19947:19;19938:6;19894:73;:::i;:::-;19143:831;;;;;;;;:::o;19980:147::-;20081:11;20118:3;20103:18;;19980:147;;;;:::o;20133:114::-;;:::o;20253:398::-;20412:3;20433:83;20514:1;20509:3;20433:83;:::i;:::-;20426:90;;20525:93;20614:3;20525:93;:::i;:::-;20643:1;20638:3;20634:11;20627:18;;20253:398;;;:::o;20657:379::-;20841:3;20863:147;21006:3;20863:147;:::i;:::-;20856:154;;21027:3;21020:10;;20657:379;;;:::o;21042:807::-;21291:4;21329:3;21318:9;21314:19;21306:27;;21343:71;21411:1;21400:9;21396:17;21387:6;21343:71;:::i;:::-;21424:72;21492:2;21481:9;21477:18;21468:6;21424:72;:::i;:::-;21506:80;21582:2;21571:9;21567:18;21558:6;21506:80;:::i;:::-;21596;21672:2;21661:9;21657:18;21648:6;21596:80;:::i;:::-;21686:73;21754:3;21743:9;21739:19;21730:6;21686:73;:::i;:::-;21769;21837:3;21826:9;21822:19;21813:6;21769:73;:::i;:::-;21042:807;;;;;;;;;:::o;21855:143::-;21912:5;21943:6;21937:13;21928:22;;21959:33;21986:5;21959:33;:::i;:::-;21855:143;;;;:::o;22004:663::-;22092:6;22100;22108;22157:2;22145:9;22136:7;22132:23;22128:32;22125:119;;;22163:79;;:::i;:::-;22125:119;22283:1;22308:64;22364:7;22355:6;22344:9;22340:22;22308:64;:::i;:::-;22298:74;;22254:128;22421:2;22447:64;22503:7;22494:6;22483:9;22479:22;22447:64;:::i;:::-;22437:74;;22392:129;22560:2;22586:64;22642:7;22633:6;22622:9;22618:22;22586:64;:::i;:::-;22576:74;;22531:129;22004:663;;;;;:::o;22673:332::-;22794:4;22832:2;22821:9;22817:18;22809:26;;22845:71;22913:1;22902:9;22898:17;22889:6;22845:71;:::i;:::-;22926:72;22994:2;22983:9;22979:18;22970:6;22926:72;:::i;:::-;22673:332;;;;;:::o;23011:220::-;23151:34;23147:1;23139:6;23135:14;23128:58;23220:3;23215:2;23207:6;23203:15;23196:28;23011:220;:::o;23237:366::-;23379:3;23400:67;23464:2;23459:3;23400:67;:::i;:::-;23393:74;;23476:93;23565:3;23476:93;:::i;:::-;23594:2;23589:3;23585:12;23578:19;;23237:366;;;:::o;23609:419::-;23775:4;23813:2;23802:9;23798:18;23790:26;;23862:9;23856:4;23852:20;23848:1;23837:9;23833:17;23826:47;23890:131;24016:4;23890:131;:::i;:::-;23882:139;;23609:419;;;:::o
Swarm Source
ipfs://1a73583a831dda679ba6f49e0c4c42104e81e57b55fcf1de1c609eb75a8fbc46
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.
Add Token to MetaMask (Web3)