ERC-20
Overview
Max Total Supply
1,000,000,000 OVPP
Holders
7,856 ( 0.446%)
Transfers
-
665 ( -16.56%)
Market
Price
$0.02 @ 0.000006 ETH (+31.64%)
Onchain Market Cap
-
Circulating Supply Market Cap
$17,393,524.12
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Source Code Verified (Exact Match)
Contract Name:
OVPP
Compiler Version
v0.8.24+commit.e11b9ed9
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-08-21
*/
/**
*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract OVPP is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
string private constant _name = unicode"OpenVPP";
string private constant _symbol = unicode"OVPP";
uint256 private _buyTax = 0;
uint256 private _sellTax = 0;
uint256 private constant NEW_BUY_TAX = 30;
uint256 private constant NEW_SELL_TAX = 30;
uint256 private launchBlock = 0;
bool private taxesUpdated = false;
address payable private _devWallet;
address payable private _marketingWallet;
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 1000000000 * 10**_decimals;
uint256 public _maxTxAmount = 12000000 * 10**_decimals;
uint256 public _maxWalletSize = 12000000 * 10**_decimals;
uint256 public _maxTaxSwap= 500000 * 10**_decimals;
uint256 public _taxSwapThreshold = 100000 * 10**_decimals;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private inSwap = false;
bool private swapEnabled = false;
bool private tradingOpen = false;
event MaxTxAmountUpdated(uint _maxTxAmount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor(){
_devWallet = payable(0x60DC88Ad804c736A3e640f19bF45f3201Dc07d07);
_marketingWallet = payable(0x4c836ded5fd57ccE843A5793ca61bdC0a478f7F7);
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_devWallet] = true;
_isExcludedFromFee[owner()] = true;
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
emit Transfer(address(0), _msgSender(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount = 0;
if (from != owner() && to != owner() && from != _devWallet && to != _devWallet) {
if (!tradingOpen) {
require(_isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading is not active.");
}
if (launchBlock > 0 && !taxesUpdated && block.number >= launchBlock + 2) {
_buyTax = NEW_BUY_TAX;
_sellTax = NEW_SELL_TAX;
taxesUpdated = true;
}
taxAmount = amount.mul(_buyTax).div(100);
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
}
if(to == uniswapV2Pair && from!= address(this) ){
taxAmount = amount.mul(_sellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) {
if (block.number > lastSellBlock) {
sellCount = 0;
}
if(sellCount < 1) {
swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if(contractETHBalance > 0) {
sendETHToMw(address(this).balance);
}
sellCount++;
lastSellBlock = block.number;
}
}
}
if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
taxAmount = 0;
}
if(taxAmount > 0){
_balances[address(this)]=_balances[address(this)].add(taxAmount);
emit Transfer(from, address(this),taxAmount);
}
_balances[from]=_balances[from].sub(amount);
_balances[to]=_balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function enableTrading() external onlyOwner() {
require(!tradingOpen, "Trading already enabled");
launchBlock = block.number; // Record launch block
tradingOpen = true;
swapEnabled = true;
}
function addLPUni() external onlyOwner() {
require(!tradingOpen,"trading is already open");
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,0x60DC88Ad804c736A3e640f19bF45f3201Dc07d07,block.timestamp);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
}
function setFee(uint256 feeOnBuy, uint256 feeOnSell) public onlyOwner {
require(feeOnBuy <= 50, "Buy tax too high");
require(feeOnSell <= 40, "Sell tax too high");
_buyTax = feeOnBuy;
_sellTax = feeOnSell;
}
function setLimits() external onlyOwner {
_maxWalletSize = _tTotal.mul(25).div(10000);
_maxTxAmount = _tTotal.mul(25).div(10000);
emit MaxTxAmountUpdated(_maxTxAmount);
}
function min(uint256 a, uint256 b) private pure returns (uint256){
return (a>b)?b:a;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function removeLimits() external onlyOwner{
_maxWalletSize = _tTotal;
_maxTxAmount = _tTotal;
emit MaxTxAmountUpdated(_tTotal);
}
function setLimitsFinal() external onlyOwner{
_maxWalletSize = _tTotal.mul(11).div(1000);
_maxTxAmount = _tTotal.mul(11).div(1000);
emit MaxTxAmountUpdated(_maxTxAmount);
}
function sendETHToMw(uint256 amount) private {
_marketingWallet.transfer(amount);
}
receive() external payable {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLPUni","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeOnBuy","type":"uint256"},{"internalType":"uint256","name":"feeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setLimitsFinal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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
60806040526000600455600060055560006006556000600760006101000a81548160ff02191690831515021790555060006009556000600a556009600a620000489190620008cf565b62b71b0062000058919062000920565b600b556009600a6200006b9190620008cf565b62b71b006200007b919062000920565b600c556009600a6200008e9190620008cf565b6207a1206200009e919062000920565b600d556009600a620000b19190620008cf565b620186a0620000c1919062000920565b600e556000601060146101000a81548160ff0219169083151502179055506000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055503480156200012257600080fd5b506000620001356200070460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507360dc88ad804c736a3e640f19bf45f3201dc07d07600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734c836ded5fd57cce843a5793ca61bdc0a478f7f7600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200028d9190620008cf565b633b9aca006200029e919062000920565b60016000620002b26200070460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000620003d86200070c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005129190620009d5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200059c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005c29190620009d5565b6040518363ffffffff1660e01b8152600401620005e192919062000a18565b6020604051808303816000875af115801562000601573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006279190620009d5565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620006776200070460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620006d69190620008cf565b633b9aca00620006e7919062000920565b604051620006f6919062000a56565b60405180910390a362000a73565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620007c3578086048111156200079b576200079a62000735565b5b6001851615620007ab5780820291505b8081029050620007bb8562000764565b94506200077b565b94509492505050565b600082620007de5760019050620008b1565b81620007ee5760009050620008b1565b8160018114620008075760028114620008125762000848565b6001915050620008b1565b60ff84111562000827576200082662000735565b5b8360020a91508482111562000841576200084062000735565b5b50620008b1565b5060208310610133831016604e8410600b8410161715620008825782820a9050838111156200087c576200087b62000735565b5b620008b1565b62000891848484600162000771565b92509050818404811115620008ab57620008aa62000735565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008dc82620008b8565b9150620008e983620008c2565b9250620009187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007cc565b905092915050565b60006200092d82620008b8565b91506200093a83620008b8565b92508282026200094a81620008b8565b9150828204841483151762000964576200096362000735565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200099d8262000970565b9050919050565b620009af8162000990565b8114620009bb57600080fd5b50565b600081519050620009cf81620009a4565b92915050565b600060208284031215620009ee57620009ed6200096b565b5b6000620009fe84828501620009be565b91505092915050565b62000a128162000990565b82525050565b600060408201905062000a2f600083018562000a07565b62000a3e602083018462000a07565b9392505050565b62000a5081620008b8565b82525050565b600060208201905062000a6d600083018462000a45565b92915050565b6137048062000a836000396000f3fe6080604052600436106101395760003560e01c8063715018a6116100ab5780638f9a55c01161006f5780638f9a55c0146103b157806395d89b41146103dc578063a9059cbb14610407578063bf474bed14610444578063dd62ed3e1461046f578063f2fde38b146104ac57610140565b8063715018a614610316578063751039fc1461032d5780637d1db4a5146103445780638a8c523c1461036f5780638da5cb5b1461038657610140565b80631e8457a8116100fd5780631e8457a81461021a57806323b872dd14610231578063313ce5671461026e57806337738cfc1461029957806352f7c988146102b057806370a08231146102d957610140565b806306fdde0314610145578063077f8d5214610170578063095ea7b3146101875780630faee56f146101c457806318160ddd146101ef57610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104d5565b604051610167919061266b565b60405180910390f35b34801561017c57600080fd5b50610185610512565b005b34801561019357600080fd5b506101ae60048036038101906101a99190612726565b610676565b6040516101bb9190612781565b60405180910390f35b3480156101d057600080fd5b506101d9610694565b6040516101e691906127ab565b60405180910390f35b3480156101fb57600080fd5b5061020461069a565b60405161021191906127ab565b60405180910390f35b34801561022657600080fd5b5061022f6106be565b005b34801561023d57600080fd5b50610258600480360381019061025391906127c6565b610822565b6040516102659190612781565b60405180910390f35b34801561027a57600080fd5b506102836108fb565b6040516102909190612835565b60405180910390f35b3480156102a557600080fd5b506102ae610904565b005b3480156102bc57600080fd5b506102d760048036038101906102d29190612850565b610be0565b005b3480156102e557600080fd5b5061030060048036038101906102fb9190612890565b610d0f565b60405161030d91906127ab565b60405180910390f35b34801561032257600080fd5b5061032b610d58565b005b34801561033957600080fd5b50610342610eab565b005b34801561035057600080fd5b50610359610fdb565b60405161036691906127ab565b60405180910390f35b34801561037b57600080fd5b50610384610fe1565b005b34801561039257600080fd5b5061039b611105565b6040516103a891906128cc565b60405180910390f35b3480156103bd57600080fd5b506103c661112e565b6040516103d391906127ab565b60405180910390f35b3480156103e857600080fd5b506103f1611134565b6040516103fe919061266b565b60405180910390f35b34801561041357600080fd5b5061042e60048036038101906104299190612726565b611171565b60405161043b9190612781565b60405180910390f35b34801561045057600080fd5b5061045961118f565b60405161046691906127ab565b60405180910390f35b34801561047b57600080fd5b50610496600480360381019061049191906128e7565b611195565b6040516104a391906127ab565b60405180910390f35b3480156104b857600080fd5b506104d360048036038101906104ce9190612890565b61121c565b005b60606040518060400160405280600781526020017f4f70656e56505000000000000000000000000000000000000000000000000000815250905090565b61051a61136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059e90612973565b60405180910390fd5b6105eb6103e86105dd600b6009600a6105c09190612af5565b633b9aca006105cf9190612b40565b61137690919063ffffffff16565b6113f090919063ffffffff16565b600c819055506106356103e8610627600b6009600a61060a9190612af5565b633b9aca006106199190612b40565b61137690919063ffffffff16565b6113f090919063ffffffff16565b600b819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf600b5460405161066c91906127ab565b60405180910390a1565b600061068a61068361136e565b848461143a565b6001905092915050565b600d5481565b60006009600a6106aa9190612af5565b633b9aca006106b99190612b40565b905090565b6106c661136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074a90612973565b60405180910390fd5b61079761271061078960196009600a61076c9190612af5565b633b9aca0061077b9190612b40565b61137690919063ffffffff16565b6113f090919063ffffffff16565b600c819055506107e16127106107d360196009600a6107b69190612af5565b633b9aca006107c59190612b40565b61137690919063ffffffff16565b6113f090919063ffffffff16565b600b819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf600b5460405161081891906127ab565b60405180910390a1565b600061082f848484611603565b6108f08461083b61136e565b6108eb856040518060600160405280602881526020016136a760289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108a161136e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216e9092919063ffffffff16565b61143a565b600190509392505050565b60006009905090565b61090c61136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099090612973565b60405180910390fd5b601060169054906101000a900460ff16156109e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e090612bce565b60405180910390fd5b610a3230600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610a1e9190612af5565b633b9aca00610a2d9190612b40565b61143a565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610a7b30610d0f565b6000807360dc88ad804c736a3e640f19bf45f3201dc07d07426040518863ffffffff1660e01b8152600401610ab596959493929190612c33565b60606040518083038185885af1158015610ad3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610af89190612ca9565b505050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b9a929190612cfc565b6020604051808303816000875af1158015610bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdd9190612d51565b50565b610be861136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6c90612973565b60405180910390fd5b6032821115610cb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb090612dca565b60405180910390fd5b6028811115610cfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf490612e36565b60405180910390fd5b81600481905550806005819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d6061136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ded576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de490612973565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610eb361136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3790612973565b60405180910390fd5b6009600a610f4e9190612af5565b633b9aca00610f5d9190612b40565b600c819055506009600a610f719190612af5565b633b9aca00610f809190612b40565b600b819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610fb59190612af5565b633b9aca00610fc49190612b40565b604051610fd191906127ab565b60405180910390a1565b600b5481565b610fe961136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106d90612973565b60405180910390fd5b601060169054906101000a900460ff16156110c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bd90612ea2565b60405180910390fd5b436006819055506001601060166101000a81548160ff0219169083151502179055506001601060156101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b60606040518060400160405280600481526020017f4f56505000000000000000000000000000000000000000000000000000000000815250905090565b600061118561117e61136e565b8484611603565b6001905092915050565b600e5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61122461136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a890612973565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600080830361138857600090506113ea565b600082846113969190612b40565b90508284826113a59190612ef1565b146113e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dc90612f94565b60405180910390fd5b809150505b92915050565b600061143283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121d2565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a090613026565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150f906130b8565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115f691906127ab565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611672576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116699061314a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d8906131dc565b60405180910390fd5b60008111611724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171b9061326e565b60405180910390fd5b600061172e611105565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561179c575061176c611105565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117f65750600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118505750600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d5357601060169054906101000a900460ff1661194a57600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061190a5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611949576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611940906132da565b60405180910390fd5b5b60006006541180156119695750600760009054906101000a900460ff16155b80156119835750600260065461197f91906132fa565b4310155b156119b457601e600481905550601e6005819055506001600760006101000a81548160ff0219169083151502179055505b6119dc60646119ce6004548561137690919063ffffffff16565b6113f090919063ffffffff16565b9050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611a895750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611adf5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611b8257600b54821115611b29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b209061337a565b60405180910390fd5b600c5482611b3685610d0f565b611b4091906132fa565b1115611b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b78906133e6565b60405180910390fd5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c0b57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611c3b57611c386064611c2a6005548561137690919063ffffffff16565b6113f090919063ffffffff16565b90505b6000611c4630610d0f565b9050601060149054906101000a900460ff16158015611cb25750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611cca5750601060159054906101000a900460ff165b8015611cd75750600e5481115b15611d5157600a54431115611cef5760006009819055505b60016009541015611d5057611d17611d1284611d0d84600d54612235565b612235565b61224e565b60004790506000811115611d2f57611d2e476124c7565b5b60096000815480929190611d4290613406565b919050555043600a81905550505b5b505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611df45750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611ea75750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ea65750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611eb157600090505b6000811115611fb557611f0c81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461253390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fac91906127ab565b60405180910390a35b61200782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120ae612060828461259190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461253390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612153848661259190919063ffffffff16565b60405161216091906127ab565b60405180910390a350505050565b60008383111582906121b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ad919061266b565b60405180910390fd5b50600083856121c5919061344e565b9050809150509392505050565b60008083118290612219576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612210919061266b565b60405180910390fd5b50600083856122289190612ef1565b9050809150509392505050565b60008183116122445782612246565b815b905092915050565b6001601060146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561228657612285613482565b5b6040519080825280602002602001820160405280156122b45781602001602082028036833780820191505090505b50905030816000815181106122cc576122cb6134b1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612373573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239791906134f5565b816001815181106123ab576123aa6134b1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061241230600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461143a565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016124769594939291906135e0565b600060405180830381600087803b15801561249057600080fd5b505af11580156124a4573d6000803e3d6000fd5b50505050506000601060146101000a81548160ff02191690831515021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561252f573d6000803e3d6000fd5b5050565b600080828461254291906132fa565b905083811015612587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257e90613686565b60405180910390fd5b8091505092915050565b60006125d383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061216e565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126155780820151818401526020810190506125fa565b60008484015250505050565b6000601f19601f8301169050919050565b600061263d826125db565b61264781856125e6565b93506126578185602086016125f7565b61266081612621565b840191505092915050565b600060208201905081810360008301526126858184612632565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126bd82612692565b9050919050565b6126cd816126b2565b81146126d857600080fd5b50565b6000813590506126ea816126c4565b92915050565b6000819050919050565b612703816126f0565b811461270e57600080fd5b50565b600081359050612720816126fa565b92915050565b6000806040838503121561273d5761273c61268d565b5b600061274b858286016126db565b925050602061275c85828601612711565b9150509250929050565b60008115159050919050565b61277b81612766565b82525050565b60006020820190506127966000830184612772565b92915050565b6127a5816126f0565b82525050565b60006020820190506127c0600083018461279c565b92915050565b6000806000606084860312156127df576127de61268d565b5b60006127ed868287016126db565b93505060206127fe868287016126db565b925050604061280f86828701612711565b9150509250925092565b600060ff82169050919050565b61282f81612819565b82525050565b600060208201905061284a6000830184612826565b92915050565b600080604083850312156128675761286661268d565b5b600061287585828601612711565b925050602061288685828601612711565b9150509250929050565b6000602082840312156128a6576128a561268d565b5b60006128b4848285016126db565b91505092915050565b6128c6816126b2565b82525050565b60006020820190506128e160008301846128bd565b92915050565b600080604083850312156128fe576128fd61268d565b5b600061290c858286016126db565b925050602061291d858286016126db565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061295d6020836125e6565b915061296882612927565b602082019050919050565b6000602082019050818103600083015261298c81612950565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612a19578086048111156129f5576129f4612993565b5b6001851615612a045780820291505b8081029050612a12856129c2565b94506129d9565b94509492505050565b600082612a325760019050612aee565b81612a405760009050612aee565b8160018114612a565760028114612a6057612a8f565b6001915050612aee565b60ff841115612a7257612a71612993565b5b8360020a915084821115612a8957612a88612993565b5b50612aee565b5060208310610133831016604e8410600b8410161715612ac45782820a905083811115612abf57612abe612993565b5b612aee565b612ad184848460016129cf565b92509050818404811115612ae857612ae7612993565b5b81810290505b9392505050565b6000612b00826126f0565b9150612b0b83612819565b9250612b387fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a22565b905092915050565b6000612b4b826126f0565b9150612b56836126f0565b9250828202612b64816126f0565b91508282048414831517612b7b57612b7a612993565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612bb86017836125e6565b9150612bc382612b82565b602082019050919050565b60006020820190508181036000830152612be781612bab565b9050919050565b6000819050919050565b6000819050919050565b6000612c1d612c18612c1384612bee565b612bf8565b6126f0565b9050919050565b612c2d81612c02565b82525050565b600060c082019050612c4860008301896128bd565b612c55602083018861279c565b612c626040830187612c24565b612c6f6060830186612c24565b612c7c60808301856128bd565b612c8960a083018461279c565b979650505050505050565b600081519050612ca3816126fa565b92915050565b600080600060608486031215612cc257612cc161268d565b5b6000612cd086828701612c94565b9350506020612ce186828701612c94565b9250506040612cf286828701612c94565b9150509250925092565b6000604082019050612d1160008301856128bd565b612d1e602083018461279c565b9392505050565b612d2e81612766565b8114612d3957600080fd5b50565b600081519050612d4b81612d25565b92915050565b600060208284031215612d6757612d6661268d565b5b6000612d7584828501612d3c565b91505092915050565b7f4275792074617820746f6f206869676800000000000000000000000000000000600082015250565b6000612db46010836125e6565b9150612dbf82612d7e565b602082019050919050565b60006020820190508181036000830152612de381612da7565b9050919050565b7f53656c6c2074617820746f6f2068696768000000000000000000000000000000600082015250565b6000612e206011836125e6565b9150612e2b82612dea565b602082019050919050565b60006020820190508181036000830152612e4f81612e13565b9050919050565b7f54726164696e6720616c726561647920656e61626c6564000000000000000000600082015250565b6000612e8c6017836125e6565b9150612e9782612e56565b602082019050919050565b60006020820190508181036000830152612ebb81612e7f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612efc826126f0565b9150612f07836126f0565b925082612f1757612f16612ec2565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f7e6021836125e6565b9150612f8982612f22565b604082019050919050565b60006020820190508181036000830152612fad81612f71565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006130106024836125e6565b915061301b82612fb4565b604082019050919050565b6000602082019050818103600083015261303f81613003565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006130a26022836125e6565b91506130ad82613046565b604082019050919050565b600060208201905081810360008301526130d181613095565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131346025836125e6565b915061313f826130d8565b604082019050919050565b6000602082019050818103600083015261316381613127565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131c66023836125e6565b91506131d18261316a565b604082019050919050565b600060208201905081810360008301526131f5816131b9565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132586029836125e6565b9150613263826131fc565b604082019050919050565b600060208201905081810360008301526132878161324b565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006132c46016836125e6565b91506132cf8261328e565b602082019050919050565b600060208201905081810360008301526132f3816132b7565b9050919050565b6000613305826126f0565b9150613310836126f0565b925082820190508082111561332857613327612993565b5b92915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006133646019836125e6565b915061336f8261332e565b602082019050919050565b6000602082019050818103600083015261339381613357565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006133d0601a836125e6565b91506133db8261339a565b602082019050919050565b600060208201905081810360008301526133ff816133c3565b9050919050565b6000613411826126f0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361344357613442612993565b5b600182019050919050565b6000613459826126f0565b9150613464836126f0565b925082820390508181111561347c5761347b612993565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506134ef816126c4565b92915050565b60006020828403121561350b5761350a61268d565b5b6000613519848285016134e0565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613557816126b2565b82525050565b6000613569838361354e565b60208301905092915050565b6000602082019050919050565b600061358d82613522565b613597818561352d565b93506135a28361353e565b8060005b838110156135d35781516135ba888261355d565b97506135c583613575565b9250506001810190506135a6565b5085935050505092915050565b600060a0820190506135f5600083018861279c565b6136026020830187612c24565b81810360408301526136148186613582565b905061362360608301856128bd565b613630608083018461279c565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613670601b836125e6565b915061367b8261363a565b602082019050919050565b6000602082019050818103600083015261369f81613663565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220abac13abb7d4ac5655b52d1e107cf7a853956fb2be36b6e402cfcd4e9136593f64736f6c63430008180033
Deployed Bytecode
0x6080604052600436106101395760003560e01c8063715018a6116100ab5780638f9a55c01161006f5780638f9a55c0146103b157806395d89b41146103dc578063a9059cbb14610407578063bf474bed14610444578063dd62ed3e1461046f578063f2fde38b146104ac57610140565b8063715018a614610316578063751039fc1461032d5780637d1db4a5146103445780638a8c523c1461036f5780638da5cb5b1461038657610140565b80631e8457a8116100fd5780631e8457a81461021a57806323b872dd14610231578063313ce5671461026e57806337738cfc1461029957806352f7c988146102b057806370a08231146102d957610140565b806306fdde0314610145578063077f8d5214610170578063095ea7b3146101875780630faee56f146101c457806318160ddd146101ef57610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104d5565b604051610167919061266b565b60405180910390f35b34801561017c57600080fd5b50610185610512565b005b34801561019357600080fd5b506101ae60048036038101906101a99190612726565b610676565b6040516101bb9190612781565b60405180910390f35b3480156101d057600080fd5b506101d9610694565b6040516101e691906127ab565b60405180910390f35b3480156101fb57600080fd5b5061020461069a565b60405161021191906127ab565b60405180910390f35b34801561022657600080fd5b5061022f6106be565b005b34801561023d57600080fd5b50610258600480360381019061025391906127c6565b610822565b6040516102659190612781565b60405180910390f35b34801561027a57600080fd5b506102836108fb565b6040516102909190612835565b60405180910390f35b3480156102a557600080fd5b506102ae610904565b005b3480156102bc57600080fd5b506102d760048036038101906102d29190612850565b610be0565b005b3480156102e557600080fd5b5061030060048036038101906102fb9190612890565b610d0f565b60405161030d91906127ab565b60405180910390f35b34801561032257600080fd5b5061032b610d58565b005b34801561033957600080fd5b50610342610eab565b005b34801561035057600080fd5b50610359610fdb565b60405161036691906127ab565b60405180910390f35b34801561037b57600080fd5b50610384610fe1565b005b34801561039257600080fd5b5061039b611105565b6040516103a891906128cc565b60405180910390f35b3480156103bd57600080fd5b506103c661112e565b6040516103d391906127ab565b60405180910390f35b3480156103e857600080fd5b506103f1611134565b6040516103fe919061266b565b60405180910390f35b34801561041357600080fd5b5061042e60048036038101906104299190612726565b611171565b60405161043b9190612781565b60405180910390f35b34801561045057600080fd5b5061045961118f565b60405161046691906127ab565b60405180910390f35b34801561047b57600080fd5b50610496600480360381019061049191906128e7565b611195565b6040516104a391906127ab565b60405180910390f35b3480156104b857600080fd5b506104d360048036038101906104ce9190612890565b61121c565b005b60606040518060400160405280600781526020017f4f70656e56505000000000000000000000000000000000000000000000000000815250905090565b61051a61136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059e90612973565b60405180910390fd5b6105eb6103e86105dd600b6009600a6105c09190612af5565b633b9aca006105cf9190612b40565b61137690919063ffffffff16565b6113f090919063ffffffff16565b600c819055506106356103e8610627600b6009600a61060a9190612af5565b633b9aca006106199190612b40565b61137690919063ffffffff16565b6113f090919063ffffffff16565b600b819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf600b5460405161066c91906127ab565b60405180910390a1565b600061068a61068361136e565b848461143a565b6001905092915050565b600d5481565b60006009600a6106aa9190612af5565b633b9aca006106b99190612b40565b905090565b6106c661136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074a90612973565b60405180910390fd5b61079761271061078960196009600a61076c9190612af5565b633b9aca0061077b9190612b40565b61137690919063ffffffff16565b6113f090919063ffffffff16565b600c819055506107e16127106107d360196009600a6107b69190612af5565b633b9aca006107c59190612b40565b61137690919063ffffffff16565b6113f090919063ffffffff16565b600b819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf600b5460405161081891906127ab565b60405180910390a1565b600061082f848484611603565b6108f08461083b61136e565b6108eb856040518060600160405280602881526020016136a760289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108a161136e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461216e9092919063ffffffff16565b61143a565b600190509392505050565b60006009905090565b61090c61136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099090612973565b60405180910390fd5b601060169054906101000a900460ff16156109e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e090612bce565b60405180910390fd5b610a3230600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610a1e9190612af5565b633b9aca00610a2d9190612b40565b61143a565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610a7b30610d0f565b6000807360dc88ad804c736a3e640f19bf45f3201dc07d07426040518863ffffffff1660e01b8152600401610ab596959493929190612c33565b60606040518083038185885af1158015610ad3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610af89190612ca9565b505050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b9a929190612cfc565b6020604051808303816000875af1158015610bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdd9190612d51565b50565b610be861136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6c90612973565b60405180910390fd5b6032821115610cb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb090612dca565b60405180910390fd5b6028811115610cfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf490612e36565b60405180910390fd5b81600481905550806005819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d6061136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ded576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de490612973565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610eb361136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3790612973565b60405180910390fd5b6009600a610f4e9190612af5565b633b9aca00610f5d9190612b40565b600c819055506009600a610f719190612af5565b633b9aca00610f809190612b40565b600b819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610fb59190612af5565b633b9aca00610fc49190612b40565b604051610fd191906127ab565b60405180910390a1565b600b5481565b610fe961136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106d90612973565b60405180910390fd5b601060169054906101000a900460ff16156110c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bd90612ea2565b60405180910390fd5b436006819055506001601060166101000a81548160ff0219169083151502179055506001601060156101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b60606040518060400160405280600481526020017f4f56505000000000000000000000000000000000000000000000000000000000815250905090565b600061118561117e61136e565b8484611603565b6001905092915050565b600e5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61122461136e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a890612973565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600080830361138857600090506113ea565b600082846113969190612b40565b90508284826113a59190612ef1565b146113e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dc90612f94565b60405180910390fd5b809150505b92915050565b600061143283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121d2565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a090613026565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150f906130b8565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115f691906127ab565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611672576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116699061314a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d8906131dc565b60405180910390fd5b60008111611724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171b9061326e565b60405180910390fd5b600061172e611105565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561179c575061176c611105565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117f65750600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118505750600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d5357601060169054906101000a900460ff1661194a57600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061190a5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611949576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611940906132da565b60405180910390fd5b5b60006006541180156119695750600760009054906101000a900460ff16155b80156119835750600260065461197f91906132fa565b4310155b156119b457601e600481905550601e6005819055506001600760006101000a81548160ff0219169083151502179055505b6119dc60646119ce6004548561137690919063ffffffff16565b6113f090919063ffffffff16565b9050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611a895750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611adf5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611b8257600b54821115611b29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b209061337a565b60405180910390fd5b600c5482611b3685610d0f565b611b4091906132fa565b1115611b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b78906133e6565b60405180910390fd5b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c0b57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611c3b57611c386064611c2a6005548561137690919063ffffffff16565b6113f090919063ffffffff16565b90505b6000611c4630610d0f565b9050601060149054906101000a900460ff16158015611cb25750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611cca5750601060159054906101000a900460ff165b8015611cd75750600e5481115b15611d5157600a54431115611cef5760006009819055505b60016009541015611d5057611d17611d1284611d0d84600d54612235565b612235565b61224e565b60004790506000811115611d2f57611d2e476124c7565b5b60096000815480929190611d4290613406565b919050555043600a81905550505b5b505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611df45750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611ea75750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ea65750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611eb157600090505b6000811115611fb557611f0c81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461253390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fac91906127ab565b60405180910390a35b61200782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120ae612060828461259190919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461253390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612153848661259190919063ffffffff16565b60405161216091906127ab565b60405180910390a350505050565b60008383111582906121b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ad919061266b565b60405180910390fd5b50600083856121c5919061344e565b9050809150509392505050565b60008083118290612219576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612210919061266b565b60405180910390fd5b50600083856122289190612ef1565b9050809150509392505050565b60008183116122445782612246565b815b905092915050565b6001601060146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561228657612285613482565b5b6040519080825280602002602001820160405280156122b45781602001602082028036833780820191505090505b50905030816000815181106122cc576122cb6134b1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612373573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239791906134f5565b816001815181106123ab576123aa6134b1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061241230600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461143a565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016124769594939291906135e0565b600060405180830381600087803b15801561249057600080fd5b505af11580156124a4573d6000803e3d6000fd5b50505050506000601060146101000a81548160ff02191690831515021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561252f573d6000803e3d6000fd5b5050565b600080828461254291906132fa565b905083811015612587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257e90613686565b60405180910390fd5b8091505092915050565b60006125d383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061216e565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156126155780820151818401526020810190506125fa565b60008484015250505050565b6000601f19601f8301169050919050565b600061263d826125db565b61264781856125e6565b93506126578185602086016125f7565b61266081612621565b840191505092915050565b600060208201905081810360008301526126858184612632565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126bd82612692565b9050919050565b6126cd816126b2565b81146126d857600080fd5b50565b6000813590506126ea816126c4565b92915050565b6000819050919050565b612703816126f0565b811461270e57600080fd5b50565b600081359050612720816126fa565b92915050565b6000806040838503121561273d5761273c61268d565b5b600061274b858286016126db565b925050602061275c85828601612711565b9150509250929050565b60008115159050919050565b61277b81612766565b82525050565b60006020820190506127966000830184612772565b92915050565b6127a5816126f0565b82525050565b60006020820190506127c0600083018461279c565b92915050565b6000806000606084860312156127df576127de61268d565b5b60006127ed868287016126db565b93505060206127fe868287016126db565b925050604061280f86828701612711565b9150509250925092565b600060ff82169050919050565b61282f81612819565b82525050565b600060208201905061284a6000830184612826565b92915050565b600080604083850312156128675761286661268d565b5b600061287585828601612711565b925050602061288685828601612711565b9150509250929050565b6000602082840312156128a6576128a561268d565b5b60006128b4848285016126db565b91505092915050565b6128c6816126b2565b82525050565b60006020820190506128e160008301846128bd565b92915050565b600080604083850312156128fe576128fd61268d565b5b600061290c858286016126db565b925050602061291d858286016126db565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061295d6020836125e6565b915061296882612927565b602082019050919050565b6000602082019050818103600083015261298c81612950565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612a19578086048111156129f5576129f4612993565b5b6001851615612a045780820291505b8081029050612a12856129c2565b94506129d9565b94509492505050565b600082612a325760019050612aee565b81612a405760009050612aee565b8160018114612a565760028114612a6057612a8f565b6001915050612aee565b60ff841115612a7257612a71612993565b5b8360020a915084821115612a8957612a88612993565b5b50612aee565b5060208310610133831016604e8410600b8410161715612ac45782820a905083811115612abf57612abe612993565b5b612aee565b612ad184848460016129cf565b92509050818404811115612ae857612ae7612993565b5b81810290505b9392505050565b6000612b00826126f0565b9150612b0b83612819565b9250612b387fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a22565b905092915050565b6000612b4b826126f0565b9150612b56836126f0565b9250828202612b64816126f0565b91508282048414831517612b7b57612b7a612993565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612bb86017836125e6565b9150612bc382612b82565b602082019050919050565b60006020820190508181036000830152612be781612bab565b9050919050565b6000819050919050565b6000819050919050565b6000612c1d612c18612c1384612bee565b612bf8565b6126f0565b9050919050565b612c2d81612c02565b82525050565b600060c082019050612c4860008301896128bd565b612c55602083018861279c565b612c626040830187612c24565b612c6f6060830186612c24565b612c7c60808301856128bd565b612c8960a083018461279c565b979650505050505050565b600081519050612ca3816126fa565b92915050565b600080600060608486031215612cc257612cc161268d565b5b6000612cd086828701612c94565b9350506020612ce186828701612c94565b9250506040612cf286828701612c94565b9150509250925092565b6000604082019050612d1160008301856128bd565b612d1e602083018461279c565b9392505050565b612d2e81612766565b8114612d3957600080fd5b50565b600081519050612d4b81612d25565b92915050565b600060208284031215612d6757612d6661268d565b5b6000612d7584828501612d3c565b91505092915050565b7f4275792074617820746f6f206869676800000000000000000000000000000000600082015250565b6000612db46010836125e6565b9150612dbf82612d7e565b602082019050919050565b60006020820190508181036000830152612de381612da7565b9050919050565b7f53656c6c2074617820746f6f2068696768000000000000000000000000000000600082015250565b6000612e206011836125e6565b9150612e2b82612dea565b602082019050919050565b60006020820190508181036000830152612e4f81612e13565b9050919050565b7f54726164696e6720616c726561647920656e61626c6564000000000000000000600082015250565b6000612e8c6017836125e6565b9150612e9782612e56565b602082019050919050565b60006020820190508181036000830152612ebb81612e7f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612efc826126f0565b9150612f07836126f0565b925082612f1757612f16612ec2565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f7e6021836125e6565b9150612f8982612f22565b604082019050919050565b60006020820190508181036000830152612fad81612f71565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006130106024836125e6565b915061301b82612fb4565b604082019050919050565b6000602082019050818103600083015261303f81613003565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006130a26022836125e6565b91506130ad82613046565b604082019050919050565b600060208201905081810360008301526130d181613095565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131346025836125e6565b915061313f826130d8565b604082019050919050565b6000602082019050818103600083015261316381613127565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131c66023836125e6565b91506131d18261316a565b604082019050919050565b600060208201905081810360008301526131f5816131b9565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132586029836125e6565b9150613263826131fc565b604082019050919050565b600060208201905081810360008301526132878161324b565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006132c46016836125e6565b91506132cf8261328e565b602082019050919050565b600060208201905081810360008301526132f3816132b7565b9050919050565b6000613305826126f0565b9150613310836126f0565b925082820190508082111561332857613327612993565b5b92915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006133646019836125e6565b915061336f8261332e565b602082019050919050565b6000602082019050818103600083015261339381613357565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006133d0601a836125e6565b91506133db8261339a565b602082019050919050565b600060208201905081810360008301526133ff816133c3565b9050919050565b6000613411826126f0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361344357613442612993565b5b600182019050919050565b6000613459826126f0565b9150613464836126f0565b925082820390508181111561347c5761347b612993565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506134ef816126c4565b92915050565b60006020828403121561350b5761350a61268d565b5b6000613519848285016134e0565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613557816126b2565b82525050565b6000613569838361354e565b60208301905092915050565b6000602082019050919050565b600061358d82613522565b613597818561352d565b93506135a28361353e565b8060005b838110156135d35781516135ba888261355d565b97506135c583613575565b9250506001810190506135a6565b5085935050505092915050565b600060a0820190506135f5600083018861279c565b6136026020830187612c24565b81810360408301526136148186613582565b905061362360608301856128bd565b613630608083018461279c565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613670601b836125e6565b915061367b8261363a565b602082019050919050565b6000602082019050818103600083015261369f81613663565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220abac13abb7d4ac5655b52d1e107cf7a853956fb2be36b6e402cfcd4e9136593f64736f6c63430008180033
Deployed Bytecode Sourcemap
3652:8670:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5809:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11967:206;;;;;;;;;;;;;:::i;:::-;;6642:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4688:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6086:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10991:202;;;;;;;;;;;;;:::i;:::-;;6811:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10294:433;;;;;;;;;;;;;:::i;:::-;;10735:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6189:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2567:148;;;;;;;;;;;;;:::i;:::-;;11798:161;;;;;;;;;;;;;:::i;:::-;;4564:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10054:232;;;;;;;;;;;;;:::i;:::-;;2353:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4625:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5900:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6316:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4745:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6491:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2723:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5809:83;5846:13;5879:5;;;;;;;;;;;;;;;;;5872:12;;5809:83;:::o;11967:206::-;2490:12;:10;:12::i;:::-;2480:22;;:6;;;;;;;;;;:22;;;2472:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12039:25:::1;12059:4;12039:15;12051:2;4488:1;4544:2;:13;;;;:::i;:::-;4531:10;:26;;;;:::i;:::-;12039:11;;:15;;;;:::i;:::-;:19;;:25;;;;:::i;:::-;12022:14;:42;;;;12090:25;12110:4;12090:15;12102:2;4488:1;4544:2;:13;;;;:::i;:::-;4531:10;:26;;;;:::i;:::-;12090:11;;:15;;;;:::i;:::-;:19;;:25;;;;:::i;:::-;12075:12;:40;;;;12133:32;12152:12;;12133:32;;;;;;:::i;:::-;;;;;;;;11967:206::o:0;6642:161::-;6717:4;6734:39;6743:12;:10;:12::i;:::-;6757:7;6766:6;6734:8;:39::i;:::-;6791:4;6784:11;;6642:161;;;;:::o;4688:50::-;;;;:::o;6086:95::-;6139:7;4488:1;4544:2;:13;;;;:::i;:::-;4531:10;:26;;;;:::i;:::-;6159:14;;6086:95;:::o;10991:202::-;2490:12;:10;:12::i;:::-;2480:22;;:6;;;;;;;;;;:22;;;2472:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11059:26:::1;11079:5;11059:15;11071:2;4488:1;4544:2;:13;;;;:::i;:::-;4531:10;:26;;;;:::i;:::-;11059:11;;:15;;;;:::i;:::-;:19;;:26;;;;:::i;:::-;11042:14;:43;;;;11111:26;11131:5;11111:15;11123:2;4488:1;4544:2;:13;;;;:::i;:::-;4531:10;:26;;;;:::i;:::-;11111:11;;:15;;;;:::i;:::-;:19;;:26;;;;:::i;:::-;11096:12;:41;;;;11153:32;11172:12;;11153:32;;;;;;:::i;:::-;;;;;;;;10991:202::o:0;6811:313::-;6909:4;6926:36;6936:6;6944:9;6955:6;6926:9;:36::i;:::-;6973:121;6982:6;6990:12;:10;:12::i;:::-;7004:89;7042:6;7004:89;;;;;;;;;;;;;;;;;:11;:19;7016:6;7004:19;;;;;;;;;;;;;;;:33;7024:12;:10;:12::i;:::-;7004:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6973:8;:121::i;:::-;7112:4;7105:11;;6811:313;;;;;:::o;5995:83::-;6036:5;4488:1;6054:16;;5995:83;:::o;10294:433::-;2490:12;:10;:12::i;:::-;2480:22;;:6;;;;;;;;;;:22;;;2472:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10355:11:::1;;;;;;;;;;;10354:12;10346:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10404:58;10421:4;10436:15;;;;;;;;;;;4488:1;4544:2;:13;;;;:::i;:::-;4531:10;:26;;;;:::i;:::-;10404:8;:58::i;:::-;10473:15;;;;;;;;;;;:31;;;10512:21;10543:4;10549:24;10567:4;10549:9;:24::i;:::-;10574:1;10576::::0;10578:42:::1;10621:15;10473:164;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10655:13;;;;;;;;;;;10648:29;;;10686:15;;;;;;;;;;;10704:14;10648:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10294:433::o:0;10735:248::-;2490:12;:10;:12::i;:::-;2480:22;;:6;;;;;;;;;;:22;;;2472:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10836:2:::1;10824:8;:14;;10816:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;10891:2;10878:9;:15;;10870:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;10936:8;10926:7;:18;;;;10966:9;10955:8;:20;;;;10735:248:::0;;:::o;6189:119::-;6255:7;6282:9;:18;6292:7;6282:18;;;;;;;;;;;;;;;;6275:25;;6189:119;;;:::o;2567:148::-;2490:12;:10;:12::i;:::-;2480:22;;:6;;;;;;;;;;:22;;;2472:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2674:1:::1;2637:40;;2658:6;::::0;::::1;;;;;;;;2637:40;;;;;;;;;;;;2705:1;2688:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2567:148::o:0;11798:161::-;2490:12;:10;:12::i;:::-;2480:22;;:6;;;;;;;;;;:22;;;2472:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4488:1:::1;4544:2;:13;;;;:::i;:::-;4531:10;:26;;;;:::i;:::-;11851:14;:24;;;;4488:1;4544:2;:13;;;;:::i;:::-;4531:10;:26;;;;:::i;:::-;11886:12;:22;;;;11924:27;4488:1;4544:2;:13;;;;:::i;:::-;4531:10;:26;;;;:::i;:::-;11924:27;;;;;;:::i;:::-;;;;;;;;11798:161::o:0;4564:54::-;;;;:::o;10054:232::-;2490:12;:10;:12::i;:::-;2480:22;;:6;;;;;;;;;;:22;;;2472:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10120:11:::1;;;;;;;;;;;10119:12;10111:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;10184:12;10170:11;:26;;;;10245:4;10231:11;;:18;;;;;;;;;;;;;;;;;;10274:4;10260:11;;:18;;;;;;;;;;;;;;;;;;10054:232::o:0;2353:79::-;2391:7;2418:6;;;;;;;;;;;2411:13;;2353:79;:::o;4625:56::-;;;;:::o;5900:87::-;5939:13;5972:7;;;;;;;;;;;;;;;;;5965:14;;5900:87;:::o;6316:167::-;6394:4;6411:42;6421:12;:10;:12::i;:::-;6435:9;6446:6;6411:9;:42::i;:::-;6471:4;6464:11;;6316:167;;;;:::o;4745:57::-;;;;:::o;6491:143::-;6572:7;6599:11;:18;6611:5;6599:18;;;;;;;;;;;;;;;:27;6618:7;6599:27;;;;;;;;;;;;;;;;6592:34;;6491:143;;;;:::o;2723:160::-;2490:12;:10;:12::i;:::-;2480:22;;:6;;;;;;;;;;:22;;;2472:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2838:8:::1;2809:38;;2830:6;::::0;::::1;;;;;;;;2809:38;;;;;;;;;;;;2867:8;2858:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2723:160:::0;:::o;108:98::-;161:7;188:10;181:17;;108:98;:::o;1443:246::-;1501:7;1530:1;1525;:6;1521:47;;1555:1;1548:8;;;;1521:47;1578:9;1594:1;1590;:5;;;;:::i;:::-;1578:17;;1623:1;1618;1614;:5;;;;:::i;:::-;:10;1606:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1680:1;1673:8;;;1443:246;;;;;:::o;1697:132::-;1755:7;1782:39;1786:1;1789;1782:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1775:46;;1697:132;;;;:::o;7132:335::-;7242:1;7225:19;;:5;:19;;;7217:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7323:1;7304:21;;:7;:21;;;7296:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7405:6;7375:11;:18;7387:5;7375:18;;;;;;;;;;;;;;;:27;7394:7;7375:27;;;;;;;;;;;;;;;:36;;;;7443:7;7427:32;;7436:5;7427:32;;;7452:6;7427:32;;;;;;:::i;:::-;;;;;;;;7132:335;;;:::o;7475:2571::-;7579:1;7563:18;;:4;:18;;;7555:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7656:1;7642:16;;:2;:16;;;7634:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7726:1;7717:6;:10;7709:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7784:17;7828:7;:5;:7::i;:::-;7820:15;;:4;:15;;;;:32;;;;;7845:7;:5;:7::i;:::-;7839:13;;:2;:13;;;;7820:32;:54;;;;;7864:10;;;;;;;;;;;7856:18;;:4;:18;;;;7820:54;:74;;;;;7884:10;;;;;;;;;;;7878:16;;:2;:16;;;;7820:74;7816:1710;;;7916:11;;;;;;;;;;;7911:138;;7956:18;:24;7975:4;7956:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;7984:18;:22;8003:2;7984:22;;;;;;;;;;;;;;;;;;;;;;;;;7956:50;7948:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;7911:138;8083:1;8069:11;;:15;:32;;;;;8089:12;;;;;;;;;;;8088:13;8069:32;:67;;;;;8135:1;8121:11;;:15;;;;:::i;:::-;8105:12;:31;;8069:67;8065:209;;;4145:2;8157:7;:21;;;;4194:2;8197:8;:23;;;;8254:4;8239:12;;:19;;;;;;;;;;;;;;;;;;8065:209;8302:28;8326:3;8302:19;8313:7;;8302:6;:10;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;8290:40;;8359:13;;;;;;;;;;;8351:21;;:4;:21;;;:55;;;;;8390:15;;;;;;;;;;;8376:30;;:2;:30;;;;8351:55;:83;;;;;8412:18;:22;8431:2;8412:22;;;;;;;;;;;;;;;;;;;;;;;;;8410:24;8351:83;8347:283;;;8474:12;;8464:6;:22;;8456:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8569:14;;8559:6;8543:13;8553:2;8543:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8535:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8347:283;8655:13;;;;;;;;;;;8649:19;;:2;:19;;;:43;;;;;8687:4;8672:20;;:4;:20;;;;8649:43;8646:124;;;8725:29;8750:3;8725:20;8736:8;;8725:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8713:41;;8646:124;8786:28;8817:24;8835:4;8817:9;:24::i;:::-;8786:55;;8861:6;;;;;;;;;;;8860:7;:32;;;;;8879:13;;;;;;;;;;;8871:21;;:2;:21;;;8860:32;:47;;;;;8896:11;;;;;;;;;;;8860:47;:89;;;;;8932:17;;8911:20;:38;8860:89;8856:659;;;8989:13;;8974:12;:28;8970:90;;;9039:1;9027:9;:13;;;;8970:90;9095:1;9083:9;;:13;9080:420;;;9121:67;9138:49;9142:6;9149:37;9153:20;9174:11;;9149:3;:37::i;:::-;9138:3;:49::i;:::-;9121:16;:67::i;:::-;9211:26;9240:21;9211:50;;9308:1;9287:18;:22;9284:112;;;9338:34;9350:21;9338:11;:34::i;:::-;9284:112;9418:9;;:11;;;;;;;;;:::i;:::-;;;;;;9468:12;9452:13;:28;;;;9098:402;9080:420;8856:659;7896:1630;7816:1710;9543:18;:24;9562:4;9543:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;9571:18;:22;9590:2;9571:22;;;;;;;;;;;;;;;;;;;;;;;;;9543:50;9542:102;;;;9607:13;;;;;;;;;;;9599:21;;:4;:21;;;;:44;;;;;9630:13;;;;;;;;;;;9624:19;;:2;:19;;;;9599:44;9542:102;9538:148;;;9673:1;9661:13;;9538:148;9713:1;9701:9;:13;9698:163;;;9753:39;9782:9;9753;:24;9771:4;9753:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9728:9;:24;9746:4;9728:24;;;;;;;;;;;;;;;:64;;;;9833:4;9810:39;;9819:4;9810:39;;;9839:9;9810:39;;;;;;:::i;:::-;;;;;;;;9698:163;9889:27;9909:6;9889:9;:15;9899:4;9889:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9873:9;:15;9883:4;9873:15;;;;;;;;;;;;;;;:43;;;;9941:40;9959:21;9970:9;9959:6;:10;;:21;;;;:::i;:::-;9941:9;:13;9951:2;9941:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9927:9;:13;9937:2;9927:13;;;;;;;;;;;;;;;:54;;;;10012:2;9997:41;;10006:4;9997:41;;;10016:21;10027:9;10016:6;:10;;:21;;;;:::i;:::-;9997:41;;;;;;:::i;:::-;;;;;;;;7544:2502;7475:2571;;;:::o;1245:190::-;1331:7;1364:1;1359;:6;;1367:12;1351:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1391:9;1407:1;1403;:5;;;;:::i;:::-;1391:17;;1426:1;1419:8;;;1245:190;;;;;:::o;1837:189::-;1923:7;1955:1;1951;:5;1958:12;1943:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1982:9;1998:1;1994;:5;;;;:::i;:::-;1982:17;;2017:1;2010:8;;;1837:189;;;;;:::o;11201:98::-;11258:7;11285:1;11283;:3;11282:9;;11290:1;11282:9;;;11288:1;11282:9;11275:16;;11201:98;;;;:::o;11307:483::-;5103:4;5094:6;;:13;;;;;;;;;;;;;;;;;;11385:21:::1;11423:1;11409:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11385:40;;11454:4;11436;11441:1;11436:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11480:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11470:4;11475:1;11470:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11513:62;11530:4;11545:15;;;;;;;;;;;11563:11;11513:8;:62::i;:::-;11586:15;;;;;;;;;;;:66;;;11667:11;11693:1;11709:4;11736;11756:15;11586:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11374:416;5139:5:::0;5130:6;;:14;;;;;;;;;;;;;;;;;;11307:483;:::o;12185:97::-;12241:16;;;;;;;;;;;:25;;:33;12267:6;12241:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12185:97;:::o;914:179::-;972:7;992:9;1008:1;1004;:5;;;;:::i;:::-;992:17;;1033:1;1028;:6;;1020:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1084:1;1077:8;;;914:179;;;;:::o;1101:136::-;1159:7;1186:43;1190:1;1193;1186:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1179:50;;1101:136;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:474::-;4921:6;4929;4978:2;4966:9;4957:7;4953:23;4949:32;4946:119;;;4984:79;;:::i;:::-;4946:119;5104:1;5129:53;5174:7;5165:6;5154:9;5150:22;5129:53;:::i;:::-;5119:63;;5075:117;5231:2;5257:53;5302:7;5293:6;5282:9;5278:22;5257:53;:::i;:::-;5247:63;;5202:118;4853:474;;;;;:::o;5333:329::-;5392:6;5441:2;5429:9;5420:7;5416:23;5412:32;5409:119;;;5447:79;;:::i;:::-;5409:119;5567:1;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5538:117;5333:329;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:474::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:182::-;6640:34;6636:1;6628:6;6624:14;6617:58;6500:182;:::o;6688:366::-;6830:3;6851:67;6915:2;6910:3;6851:67;:::i;:::-;6844:74;;6927:93;7016:3;6927:93;:::i;:::-;7045:2;7040:3;7036:12;7029:19;;6688:366;;;:::o;7060:419::-;7226:4;7264:2;7253:9;7249:18;7241:26;;7313:9;7307:4;7303:20;7299:1;7288:9;7284:17;7277:47;7341:131;7467:4;7341:131;:::i;:::-;7333:139;;7060:419;;;:::o;7485:180::-;7533:77;7530:1;7523:88;7630:4;7627:1;7620:15;7654:4;7651:1;7644:15;7671:102;7713:8;7760:5;7757:1;7753:13;7732:34;;7671:102;;;:::o;7779:848::-;7840:5;7847:4;7871:6;7862:15;;7895:5;7886:14;;7909:712;7930:1;7920:8;7917:15;7909:712;;;8025:4;8020:3;8016:14;8010:4;8007:24;8004:50;;;8034:18;;:::i;:::-;8004:50;8084:1;8074:8;8070:16;8067:451;;;8499:4;8492:5;8488:16;8479:25;;8067:451;8549:4;8543;8539:15;8531:23;;8579:32;8602:8;8579:32;:::i;:::-;8567:44;;7909:712;;;7779:848;;;;;;;:::o;8633:1073::-;8687:5;8878:8;8868:40;;8899:1;8890:10;;8901:5;;8868:40;8927:4;8917:36;;8944:1;8935:10;;8946:5;;8917:36;9013:4;9061:1;9056:27;;;;9097:1;9092:191;;;;9006:277;;9056:27;9074:1;9065:10;;9076:5;;;9092:191;9137:3;9127:8;9124:17;9121:43;;;9144:18;;:::i;:::-;9121:43;9193:8;9190:1;9186:16;9177:25;;9228:3;9221:5;9218:14;9215:40;;;9235:18;;:::i;:::-;9215:40;9268:5;;;9006:277;;9392:2;9382:8;9379:16;9373:3;9367:4;9364:13;9360:36;9342:2;9332:8;9329:16;9324:2;9318:4;9315:12;9311:35;9295:111;9292:246;;;9448:8;9442:4;9438:19;9429:28;;9483:3;9476:5;9473:14;9470:40;;;9490:18;;:::i;:::-;9470:40;9523:5;;9292:246;9563:42;9601:3;9591:8;9585:4;9582:1;9563:42;:::i;:::-;9548:57;;;;9637:4;9632:3;9628:14;9621:5;9618:25;9615:51;;;9646:18;;:::i;:::-;9615:51;9695:4;9688:5;9684:16;9675:25;;8633:1073;;;;;;:::o;9712:281::-;9770:5;9794:23;9812:4;9794:23;:::i;:::-;9786:31;;9838:25;9854:8;9838:25;:::i;:::-;9826:37;;9882:104;9919:66;9909:8;9903:4;9882:104;:::i;:::-;9873:113;;9712:281;;;;:::o;9999:410::-;10039:7;10062:20;10080:1;10062:20;:::i;:::-;10057:25;;10096:20;10114:1;10096:20;:::i;:::-;10091:25;;10151:1;10148;10144:9;10173:30;10191:11;10173:30;:::i;:::-;10162:41;;10352:1;10343:7;10339:15;10336:1;10333:22;10313:1;10306:9;10286:83;10263:139;;10382:18;;:::i;:::-;10263:139;10047:362;9999:410;;;;:::o;10415:173::-;10555:25;10551:1;10543:6;10539:14;10532:49;10415:173;:::o;10594:366::-;10736:3;10757:67;10821:2;10816:3;10757:67;:::i;:::-;10750:74;;10833:93;10922:3;10833:93;:::i;:::-;10951:2;10946:3;10942:12;10935:19;;10594:366;;;:::o;10966:419::-;11132:4;11170:2;11159:9;11155:18;11147:26;;11219:9;11213:4;11209:20;11205:1;11194:9;11190:17;11183:47;11247:131;11373:4;11247:131;:::i;:::-;11239:139;;10966:419;;;:::o;11391:85::-;11436:7;11465:5;11454:16;;11391:85;;;:::o;11482:60::-;11510:3;11531:5;11524:12;;11482:60;;;:::o;11548:158::-;11606:9;11639:61;11657:42;11666:32;11692:5;11666:32;:::i;:::-;11657:42;:::i;:::-;11639:61;:::i;:::-;11626:74;;11548:158;;;:::o;11712:147::-;11807:45;11846:5;11807:45;:::i;:::-;11802:3;11795:58;11712:147;;:::o;11865:807::-;12114:4;12152:3;12141:9;12137:19;12129:27;;12166:71;12234:1;12223:9;12219:17;12210:6;12166:71;:::i;:::-;12247:72;12315:2;12304:9;12300:18;12291:6;12247:72;:::i;:::-;12329:80;12405:2;12394:9;12390:18;12381:6;12329:80;:::i;:::-;12419;12495:2;12484:9;12480:18;12471:6;12419:80;:::i;:::-;12509:73;12577:3;12566:9;12562:19;12553:6;12509:73;:::i;:::-;12592;12660:3;12649:9;12645:19;12636:6;12592:73;:::i;:::-;11865:807;;;;;;;;;:::o;12678:143::-;12735:5;12766:6;12760:13;12751:22;;12782:33;12809:5;12782:33;:::i;:::-;12678:143;;;;:::o;12827:663::-;12915:6;12923;12931;12980:2;12968:9;12959:7;12955:23;12951:32;12948:119;;;12986:79;;:::i;:::-;12948:119;13106:1;13131:64;13187:7;13178:6;13167:9;13163:22;13131:64;:::i;:::-;13121:74;;13077:128;13244:2;13270:64;13326:7;13317:6;13306:9;13302:22;13270:64;:::i;:::-;13260:74;;13215:129;13383:2;13409:64;13465:7;13456:6;13445:9;13441:22;13409:64;:::i;:::-;13399:74;;13354:129;12827:663;;;;;:::o;13496:332::-;13617:4;13655:2;13644:9;13640:18;13632:26;;13668:71;13736:1;13725:9;13721:17;13712:6;13668:71;:::i;:::-;13749:72;13817:2;13806:9;13802:18;13793:6;13749:72;:::i;:::-;13496:332;;;;;:::o;13834:116::-;13904:21;13919:5;13904:21;:::i;:::-;13897:5;13894:32;13884:60;;13940:1;13937;13930:12;13884:60;13834:116;:::o;13956:137::-;14010:5;14041:6;14035:13;14026:22;;14057:30;14081:5;14057:30;:::i;:::-;13956:137;;;;:::o;14099:345::-;14166:6;14215:2;14203:9;14194:7;14190:23;14186:32;14183:119;;;14221:79;;:::i;:::-;14183:119;14341:1;14366:61;14419:7;14410:6;14399:9;14395:22;14366:61;:::i;:::-;14356:71;;14312:125;14099:345;;;;:::o;14450:166::-;14590:18;14586:1;14578:6;14574:14;14567:42;14450:166;:::o;14622:366::-;14764:3;14785:67;14849:2;14844:3;14785:67;:::i;:::-;14778:74;;14861:93;14950:3;14861:93;:::i;:::-;14979:2;14974:3;14970:12;14963:19;;14622:366;;;:::o;14994:419::-;15160:4;15198:2;15187:9;15183:18;15175:26;;15247:9;15241:4;15237:20;15233:1;15222:9;15218:17;15211:47;15275:131;15401:4;15275:131;:::i;:::-;15267:139;;14994:419;;;:::o;15419:167::-;15559:19;15555:1;15547:6;15543:14;15536:43;15419:167;:::o;15592:366::-;15734:3;15755:67;15819:2;15814:3;15755:67;:::i;:::-;15748:74;;15831:93;15920:3;15831:93;:::i;:::-;15949:2;15944:3;15940:12;15933:19;;15592:366;;;:::o;15964:419::-;16130:4;16168:2;16157:9;16153:18;16145:26;;16217:9;16211:4;16207:20;16203:1;16192:9;16188:17;16181:47;16245:131;16371:4;16245:131;:::i;:::-;16237:139;;15964:419;;;:::o;16389:173::-;16529:25;16525:1;16517:6;16513:14;16506:49;16389:173;:::o;16568:366::-;16710:3;16731:67;16795:2;16790:3;16731:67;:::i;:::-;16724:74;;16807:93;16896:3;16807:93;:::i;:::-;16925:2;16920:3;16916:12;16909:19;;16568:366;;;:::o;16940:419::-;17106:4;17144:2;17133:9;17129:18;17121:26;;17193:9;17187:4;17183:20;17179:1;17168:9;17164:17;17157:47;17221:131;17347:4;17221:131;:::i;:::-;17213:139;;16940:419;;;:::o;17365:180::-;17413:77;17410:1;17403:88;17510:4;17507:1;17500:15;17534:4;17531:1;17524:15;17551:185;17591:1;17608:20;17626:1;17608:20;:::i;:::-;17603:25;;17642:20;17660:1;17642:20;:::i;:::-;17637:25;;17681:1;17671:35;;17686:18;;:::i;:::-;17671:35;17728:1;17725;17721:9;17716:14;;17551:185;;;;:::o;17742:220::-;17882:34;17878:1;17870:6;17866:14;17859:58;17951:3;17946:2;17938:6;17934:15;17927:28;17742:220;:::o;17968:366::-;18110:3;18131:67;18195:2;18190:3;18131:67;:::i;:::-;18124:74;;18207:93;18296:3;18207:93;:::i;:::-;18325:2;18320:3;18316:12;18309:19;;17968:366;;;:::o;18340:419::-;18506:4;18544:2;18533:9;18529:18;18521:26;;18593:9;18587:4;18583:20;18579:1;18568:9;18564:17;18557:47;18621:131;18747:4;18621:131;:::i;:::-;18613:139;;18340:419;;;:::o;18765:223::-;18905:34;18901:1;18893:6;18889:14;18882:58;18974:6;18969:2;18961:6;18957:15;18950:31;18765:223;:::o;18994:366::-;19136:3;19157:67;19221:2;19216:3;19157:67;:::i;:::-;19150:74;;19233:93;19322:3;19233:93;:::i;:::-;19351:2;19346:3;19342:12;19335:19;;18994:366;;;:::o;19366:419::-;19532:4;19570:2;19559:9;19555:18;19547:26;;19619:9;19613:4;19609:20;19605:1;19594:9;19590:17;19583:47;19647:131;19773:4;19647:131;:::i;:::-;19639:139;;19366:419;;;:::o;19791:221::-;19931:34;19927:1;19919:6;19915:14;19908:58;20000:4;19995:2;19987:6;19983:15;19976:29;19791:221;:::o;20018:366::-;20160:3;20181:67;20245:2;20240:3;20181:67;:::i;:::-;20174:74;;20257:93;20346:3;20257:93;:::i;:::-;20375:2;20370:3;20366:12;20359:19;;20018:366;;;:::o;20390:419::-;20556:4;20594:2;20583:9;20579:18;20571:26;;20643:9;20637:4;20633:20;20629:1;20618:9;20614:17;20607:47;20671:131;20797:4;20671:131;:::i;:::-;20663:139;;20390:419;;;:::o;20815:224::-;20955:34;20951:1;20943:6;20939:14;20932:58;21024:7;21019:2;21011:6;21007:15;21000:32;20815:224;:::o;21045:366::-;21187:3;21208:67;21272:2;21267:3;21208:67;:::i;:::-;21201:74;;21284:93;21373:3;21284:93;:::i;:::-;21402:2;21397:3;21393:12;21386:19;;21045:366;;;:::o;21417:419::-;21583:4;21621:2;21610:9;21606:18;21598:26;;21670:9;21664:4;21660:20;21656:1;21645:9;21641:17;21634:47;21698:131;21824:4;21698:131;:::i;:::-;21690:139;;21417:419;;;:::o;21842:222::-;21982:34;21978:1;21970:6;21966:14;21959:58;22051:5;22046:2;22038:6;22034:15;22027:30;21842:222;:::o;22070:366::-;22212:3;22233:67;22297:2;22292:3;22233:67;:::i;:::-;22226:74;;22309:93;22398:3;22309:93;:::i;:::-;22427:2;22422:3;22418:12;22411:19;;22070:366;;;:::o;22442:419::-;22608:4;22646:2;22635:9;22631:18;22623:26;;22695:9;22689:4;22685:20;22681:1;22670:9;22666:17;22659:47;22723:131;22849:4;22723:131;:::i;:::-;22715:139;;22442:419;;;:::o;22867:228::-;23007:34;23003:1;22995:6;22991:14;22984:58;23076:11;23071:2;23063:6;23059:15;23052:36;22867:228;:::o;23101:366::-;23243:3;23264:67;23328:2;23323:3;23264:67;:::i;:::-;23257:74;;23340:93;23429:3;23340:93;:::i;:::-;23458:2;23453:3;23449:12;23442:19;;23101:366;;;:::o;23473:419::-;23639:4;23677:2;23666:9;23662:18;23654:26;;23726:9;23720:4;23716:20;23712:1;23701:9;23697:17;23690:47;23754:131;23880:4;23754:131;:::i;:::-;23746:139;;23473:419;;;:::o;23898:172::-;24038:24;24034:1;24026:6;24022:14;24015:48;23898:172;:::o;24076:366::-;24218:3;24239:67;24303:2;24298:3;24239:67;:::i;:::-;24232:74;;24315:93;24404:3;24315:93;:::i;:::-;24433:2;24428:3;24424:12;24417:19;;24076:366;;;:::o;24448:419::-;24614:4;24652:2;24641:9;24637:18;24629:26;;24701:9;24695:4;24691:20;24687:1;24676:9;24672:17;24665:47;24729:131;24855:4;24729:131;:::i;:::-;24721:139;;24448:419;;;:::o;24873:191::-;24913:3;24932:20;24950:1;24932:20;:::i;:::-;24927:25;;24966:20;24984:1;24966:20;:::i;:::-;24961:25;;25009:1;25006;25002:9;24995:16;;25030:3;25027:1;25024:10;25021:36;;;25037:18;;:::i;:::-;25021:36;24873:191;;;;:::o;25070:175::-;25210:27;25206:1;25198:6;25194:14;25187:51;25070:175;:::o;25251:366::-;25393:3;25414:67;25478:2;25473:3;25414:67;:::i;:::-;25407:74;;25490:93;25579:3;25490:93;:::i;:::-;25608:2;25603:3;25599:12;25592:19;;25251:366;;;:::o;25623:419::-;25789:4;25827:2;25816:9;25812:18;25804:26;;25876:9;25870:4;25866:20;25862:1;25851:9;25847:17;25840:47;25904:131;26030:4;25904:131;:::i;:::-;25896:139;;25623:419;;;:::o;26048:176::-;26188:28;26184:1;26176:6;26172:14;26165:52;26048:176;:::o;26230:366::-;26372:3;26393:67;26457:2;26452:3;26393:67;:::i;:::-;26386:74;;26469:93;26558:3;26469:93;:::i;:::-;26587:2;26582:3;26578:12;26571:19;;26230:366;;;:::o;26602:419::-;26768:4;26806:2;26795:9;26791:18;26783:26;;26855:9;26849:4;26845:20;26841:1;26830:9;26826:17;26819:47;26883:131;27009:4;26883:131;:::i;:::-;26875:139;;26602:419;;;:::o;27027:233::-;27066:3;27089:24;27107:5;27089:24;:::i;:::-;27080:33;;27135:66;27128:5;27125:77;27122:103;;27205:18;;:::i;:::-;27122:103;27252:1;27245:5;27241:13;27234:20;;27027:233;;;:::o;27266:194::-;27306:4;27326:20;27344:1;27326:20;:::i;:::-;27321:25;;27360:20;27378:1;27360:20;:::i;:::-;27355:25;;27404:1;27401;27397:9;27389:17;;27428:1;27422:4;27419:11;27416:37;;;27433:18;;:::i;:::-;27416:37;27266:194;;;;:::o;27466:180::-;27514:77;27511:1;27504:88;27611:4;27608:1;27601:15;27635:4;27632:1;27625:15;27652:180;27700:77;27697:1;27690:88;27797:4;27794:1;27787:15;27821:4;27818:1;27811:15;27838:143;27895:5;27926:6;27920:13;27911:22;;27942:33;27969:5;27942:33;:::i;:::-;27838:143;;;;:::o;27987:351::-;28057:6;28106:2;28094:9;28085:7;28081:23;28077:32;28074:119;;;28112:79;;:::i;:::-;28074:119;28232:1;28257:64;28313:7;28304:6;28293:9;28289:22;28257:64;:::i;:::-;28247:74;;28203:128;27987:351;;;;:::o;28344:114::-;28411:6;28445:5;28439:12;28429:22;;28344:114;;;:::o;28464:184::-;28563:11;28597:6;28592:3;28585:19;28637:4;28632:3;28628:14;28613:29;;28464:184;;;;:::o;28654:132::-;28721:4;28744:3;28736:11;;28774:4;28769:3;28765:14;28757:22;;28654:132;;;:::o;28792:108::-;28869:24;28887:5;28869:24;:::i;:::-;28864:3;28857:37;28792:108;;:::o;28906:179::-;28975:10;28996:46;29038:3;29030:6;28996:46;:::i;:::-;29074:4;29069:3;29065:14;29051:28;;28906:179;;;;:::o;29091:113::-;29161:4;29193;29188:3;29184:14;29176:22;;29091:113;;;:::o;29240:732::-;29359:3;29388:54;29436:5;29388:54;:::i;:::-;29458:86;29537:6;29532:3;29458:86;:::i;:::-;29451:93;;29568:56;29618:5;29568:56;:::i;:::-;29647:7;29678:1;29663:284;29688:6;29685:1;29682:13;29663:284;;;29764:6;29758:13;29791:63;29850:3;29835:13;29791:63;:::i;:::-;29784:70;;29877:60;29930:6;29877:60;:::i;:::-;29867:70;;29723:224;29710:1;29707;29703:9;29698:14;;29663:284;;;29667:14;29963:3;29956:10;;29364:608;;;29240:732;;;;:::o;29978:831::-;30241:4;30279:3;30268:9;30264:19;30256:27;;30293:71;30361:1;30350:9;30346:17;30337:6;30293:71;:::i;:::-;30374:80;30450:2;30439:9;30435:18;30426:6;30374:80;:::i;:::-;30501:9;30495:4;30491:20;30486:2;30475:9;30471:18;30464:48;30529:108;30632:4;30623:6;30529:108;:::i;:::-;30521:116;;30647:72;30715:2;30704:9;30700:18;30691:6;30647:72;:::i;:::-;30729:73;30797:3;30786:9;30782:19;30773:6;30729:73;:::i;:::-;29978:831;;;;;;;;:::o;30815:177::-;30955:29;30951:1;30943:6;30939:14;30932:53;30815:177;:::o;30998:366::-;31140:3;31161:67;31225:2;31220:3;31161:67;:::i;:::-;31154:74;;31237:93;31326:3;31237:93;:::i;:::-;31355:2;31350:3;31346:12;31339:19;;30998:366;;;:::o;31370:419::-;31536:4;31574:2;31563:9;31559:18;31551:26;;31623:9;31617:4;31613:20;31609:1;31598:9;31594:17;31587:47;31651:131;31777:4;31651:131;:::i;:::-;31643:139;;31370:419;;;:::o
Swarm Source
ipfs://abac13abb7d4ac5655b52d1e107cf7a853956fb2be36b6e402cfcd4e9136593f
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)