Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 36 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Set Edition Pack... | 6141675 | 2781 days ago | IN | 0 ETH | 0.00021413 | ||||
| Set Edition Max ... | 6141669 | 2781 days ago | IN | 0 ETH | 0.00021272 | ||||
| Set Edition Pack... | 6141666 | 2781 days ago | IN | 0 ETH | 0.0002169 | ||||
| Set Edition Name | 6141657 | 2781 days ago | IN | 0 ETH | 0.00022513 | ||||
| Upgrade Card Dam... | 6016680 | 2802 days ago | IN | 0 ETH | 0.00048543 | ||||
| Grant Mythex Tok... | 6013017 | 2803 days ago | IN | 0 ETH | 0.00060234 | ||||
| Upgrade Card Shi... | 6009545 | 2803 days ago | IN | 0 ETH | 0.00008616 | ||||
| Upgrade Card Shi... | 6009543 | 2803 days ago | IN | 0 ETH | 0.00017993 | ||||
| Upgrade Card Dam... | 6007441 | 2804 days ago | IN | 0 ETH | 0.0001707 | ||||
| Grant Mythex Tok... | 6007311 | 2804 days ago | IN | 0 ETH | 0.00060234 | ||||
| Upgrade Card Shi... | 6007247 | 2804 days ago | IN | 0 ETH | 0.00025704 | ||||
| Upgrade Card Shi... | 6004174 | 2804 days ago | IN | 0 ETH | 0.00034273 | ||||
| Grant Mythex Tok... | 6004114 | 2804 days ago | IN | 0 ETH | 0.00060234 | ||||
| Upgrade Card Dam... | 6000076 | 2805 days ago | IN | 0 ETH | 0.00051211 | ||||
| Upgrade Card Shi... | 6000076 | 2805 days ago | IN | 0 ETH | 0.00051409 | ||||
| Upgrade Card Dam... | 6000053 | 2805 days ago | IN | 0 ETH | 0.00076817 | ||||
| Upgrade Card Dam... | 6000047 | 2805 days ago | IN | 0 ETH | 0.00068282 | ||||
| Upgrade Card Dam... | 5999901 | 2805 days ago | IN | 0 ETH | 0.00056282 | ||||
| Upgrade Card Dam... | 5999893 | 2805 days ago | IN | 0 ETH | 0.00076817 | ||||
| Add Shareholder | 5999709 | 2805 days ago | IN | 0 ETH | 0.00080542 | ||||
| Add Shareholder | 5999707 | 2805 days ago | IN | 0 ETH | 0.00103042 | ||||
| Upgrade Card Shi... | 5999663 | 2805 days ago | IN | 0 ETH | 0.00034273 | ||||
| Grant Mythex Tok... | 5999382 | 2805 days ago | IN | 0 ETH | 0.00060234 | ||||
| Upgrade Card Dam... | 5999330 | 2805 days ago | IN | 0 ETH | 0.00073403 | ||||
| Burn Mythex Toke... | 5999327 | 2805 days ago | IN | 0 ETH | 0.00065794 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
Mythereum
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-07-20
*/
pragma solidity ^0.4.21;
/**
* @title Maths
* A library to make working with numbers in Solidity hurt your brain less.
*/
library Maths {
/**
* @dev Adds two addends together, returns the sum
* @param addendA the first addend
* @param addendB the second addend
* @return sum the sum of the equation (e.g. addendA + addendB)
*/
function plus(
uint256 addendA,
uint256 addendB
) public pure returns (uint256 sum) {
sum = addendA + addendB;
}
/**
* @dev Subtracts the minuend from the subtrahend, returns the difference
* @param minuend the minuend
* @param subtrahend the subtrahend
* @return difference the difference (e.g. minuend - subtrahend)
*/
function minus(
uint256 minuend,
uint256 subtrahend
) public pure returns (uint256 difference) {
assert(minuend >= subtrahend);
difference = minuend - subtrahend;
}
/**
* @dev Multiplies two factors, returns the product
* @param factorA the first factor
* @param factorB the second factor
* @return product the product of the equation (e.g. factorA * factorB)
*/
function mul(
uint256 factorA,
uint256 factorB
) public pure returns (uint256 product) {
if (factorA == 0 || factorB == 0) return 0;
product = factorA * factorB;
assert(product / factorA == factorB);
}
/**
* @dev Multiplies two factors, returns the product
* @param factorA the first factor
* @param factorB the second factor
* @return product the product of the equation (e.g. factorA * factorB)
*/
function times(
uint256 factorA,
uint256 factorB
) public pure returns (uint256 product) {
return mul(factorA, factorB);
}
/**
* @dev Divides the dividend by divisor, returns the truncated quotient
* @param dividend the dividend
* @param divisor the divisor
* @return quotient the quotient of the equation (e.g. dividend / divisor)
*/
function div(
uint256 dividend,
uint256 divisor
) public pure returns (uint256 quotient) {
quotient = dividend / divisor;
assert(quotient * divisor == dividend);
}
/**
* @dev Divides the dividend by divisor, returns the truncated quotient
* @param dividend the dividend
* @param divisor the divisor
* @return quotient the quotient of the equation (e.g. dividend / divisor)
*/
function dividedBy(
uint256 dividend,
uint256 divisor
) public pure returns (uint256 quotient) {
return div(dividend, divisor);
}
/**
* @dev Divides the dividend by divisor, returns the quotient and remainder
* @param dividend the dividend
* @param divisor the divisor
* @return quotient the quotient of the equation (e.g. dividend / divisor)
* @return remainder the remainder of the equation (e.g. dividend % divisor)
*/
function divideSafely(
uint256 dividend,
uint256 divisor
) public pure returns (uint256 quotient, uint256 remainder) {
quotient = div(dividend, divisor);
remainder = dividend % divisor;
}
/**
* @dev Returns the lesser of two values.
* @param a the first value
* @param b the second value
* @return result the lesser of the two values
*/
function min(
uint256 a,
uint256 b
) public pure returns (uint256 result) {
result = a <= b ? a : b;
}
/**
* @dev Returns the greater of two values.
* @param a the first value
* @param b the second value
* @return result the greater of the two values
*/
function max(
uint256 a,
uint256 b
) public pure returns (uint256 result) {
result = a >= b ? a : b;
}
/**
* @dev Determines whether a value is less than another.
* @param a the first value
* @param b the second value
* @return isTrue whether a is less than b
*/
function isLessThan(uint256 a, uint256 b) public pure returns (bool isTrue) {
isTrue = a < b;
}
/**
* @dev Determines whether a value is equal to or less than another.
* @param a the first value
* @param b the second value
* @return isTrue whether a is less than or equal to b
*/
function isAtMost(uint256 a, uint256 b) public pure returns (bool isTrue) {
isTrue = a <= b;
}
/**
* @dev Determines whether a value is greater than another.
* @param a the first value
* @param b the second value
* @return isTrue whether a is greater than b
*/
function isGreaterThan(uint256 a, uint256 b) public pure returns (bool isTrue) {
isTrue = a > b;
}
/**
* @dev Determines whether a value is equal to or greater than another.
* @param a the first value
* @param b the second value
* @return isTrue whether a is less than b
*/
function isAtLeast(uint256 a, uint256 b) public pure returns (bool isTrue) {
isTrue = a >= b;
}
}
/**
* @title Manageable
*/
contract Manageable {
address public owner;
address public manager;
event OwnershipChanged(address indexed previousOwner, address indexed newOwner);
event ManagementChanged(address indexed previousManager, address indexed newManager);
/**
* @dev The Manageable constructor sets the original `owner` of the contract to the sender
* account.
*/
function Manageable() public {
owner = msg.sender;
manager = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner or manager.
*/
modifier onlyManagement() {
require(msg.sender == owner || msg.sender == manager);
_;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
OwnershipChanged(owner, newOwner);
owner = newOwner;
}
/**
* @dev Allows the owner or manager to replace the current manager
* @param newManager The address to give contract management rights.
*/
function replaceManager(address newManager) public onlyManagement {
require(newManager != address(0));
ManagementChanged(manager, newManager);
manager = newManager;
}
}
contract ERC20 {
function allowance(address owner, address spender) public view returns (uint256);
function approve(address spender, uint256 value) public returns (bool);
function balanceOf(address who) public view returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
function transferFrom(address from, address to, uint256 value) public returns (bool);
function totalSupply() public view returns (uint256);
}
contract MythereumERC20Token is ERC20 {
function burn(address burner, uint256 amount) public returns (bool);
function mint(address to, uint256 amount) public returns (bool);
}
contract MythereumCardToken {
function balanceOf(address _owner) public view returns (uint256 _balance);
function ownerOf(uint256 _tokenId) public view returns (address _owner);
function exists(uint256 _tokenId) public view returns (bool _exists);
function approve(address _to, uint256 _tokenId) public;
function getApproved(uint256 _tokenId) public view returns (address _operator);
function setApprovalForAll(address _operator, bool _approved) public;
function isApprovedForAll(address _owner, address _operator) public view returns (bool);
function transferFrom(address _from, address _to, uint256 _tokenId) public;
function safeTransferFrom(address _from, address _to, uint256 _tokenId) public;
function safeTransferFrom(
address _from,
address _to,
uint256 _tokenId,
bytes _data
) public;
function isEditionAvailable(uint8 _editionNumber) public view returns (bool);
function cloneCard(address _owner, uint256 _tokenId) public returns (bool);
function mintRandomCards(
address _owner,
uint8 _editionNumber,
uint8 _numCards
) public returns (bool);
function improveCard(
uint256 _tokenId,
uint256 _addedDamage,
uint256 _addedShield
) public returns (bool);
function destroyCard(uint256 _tokenId) public returns (bool);
}
contract Mythereum is Manageable {
using Maths for uint256;
struct Edition {
string name;
uint256 sales;
uint256 maxSales;
uint8 packSize;
uint256 packPrice;
uint256 packPriceIncrease;
}
mapping (uint8 => Edition) public editions;
mapping (address => bool) public isVIP;
mapping (address => bool) public isTokenAccepted;
mapping (address => uint256) public tokenCostPerPack;
mapping (uint256 => uint256) public mythexCostPerUpgradeLevel;
mapping (uint256 => uint256) public cardDamageUpgradeLevel;
mapping (uint256 => uint256) public cardShieldUpgradeLevel;
uint256 public maxCardUpgradeLevel = 30;
address public cardTokenAddress;
address public xpTokenAddress;
address public mythexTokenAddress;
address public gameHostAddress;
/* data related to shared ownership */
uint256 public totalShares = 0;
uint256 public totalReleased = 0;
mapping(address => uint256) public shares;
mapping(address => uint256) public released;
event CardsPurchased(uint256 editionNumber, uint256 packSize, address buyer);
event CardUpgraded(uint256 cardId, uint256 addedDamage, uint256 addedShield);
modifier onlyHosts() {
require(
msg.sender == owner ||
msg.sender == manager ||
msg.sender == gameHostAddress
);
_;
}
function Mythereum() public {
editions[0] = Edition({
name: "Genesis",
sales: 3999,
maxSales: 5000,
packSize: 7,
packPrice: 100 finney,
packPriceIncrease: 1 finney
});
editions[1] = Edition({
name: "Survivor",
sales: 20,
maxSales: 1000000,
packSize: 10,
packPrice: 0,
packPriceIncrease: 0
});
isVIP[msg.sender] = true;
}
/**
* @dev Disallow funds being sent directly to the contract since we can't know
* which edition they'd intended to purchase.
*/
function () public payable {
revert();
}
function buyPack(
uint8 _editionNumber
) public payable {
uint256 packPrice = isVIP[msg.sender] ? 0 : editions[_editionNumber].packPrice;
require(msg.value.isAtLeast(packPrice));
if (msg.value.isGreaterThan(packPrice)) {
msg.sender.transfer(msg.value.minus(packPrice));
}
_deliverPack(msg.sender, _editionNumber);
}
function buyPackWithERC20Tokens(
uint8 _editionNumber,
address _tokenAddress
) public {
require(isTokenAccepted[_tokenAddress]);
_processERC20TokenPackPurchase(_editionNumber, _tokenAddress, msg.sender);
}
function upgradeCardDamage(uint256 _cardId) public {
require(cardDamageUpgradeLevel[_cardId].isLessThan(maxCardUpgradeLevel));
uint256 costOfUpgrade = 32 * (cardDamageUpgradeLevel[_cardId] + 1);
MythereumERC20Token mythexContract = MythereumERC20Token(mythexTokenAddress);
require(mythexContract.burn(msg.sender, costOfUpgrade));
cardDamageUpgradeLevel[_cardId]++;
_improveCard(_cardId, 1, 0);
}
function upgradeCardShield(uint256 _cardId) public {
require(cardShieldUpgradeLevel[_cardId].isLessThan(maxCardUpgradeLevel));
uint256 costOfUpgrade = 32 * (cardShieldUpgradeLevel[_cardId] + 1);
MythereumERC20Token mythexContract = MythereumERC20Token(mythexTokenAddress);
require(mythexContract.burn(msg.sender, costOfUpgrade));
cardShieldUpgradeLevel[_cardId]++;
_improveCard(_cardId, 0, 1);
}
function improveCard(
uint256 _cardId,
uint256 _addedDamage,
uint256 _addedShield
) public onlyManagement {
require(cardShieldUpgradeLevel[_cardId].isLessThan(maxCardUpgradeLevel));
_improveCard(_cardId, _addedDamage, _addedShield);
}
function _improveCard(
uint256 _cardId,
uint256 _addedDamage,
uint256 _addedShield
) internal {
MythereumCardToken cardToken = MythereumCardToken(cardTokenAddress);
require(cardToken.improveCard(_cardId, _addedDamage, _addedShield));
CardUpgraded(_cardId, _addedDamage, _addedShield);
}
function receiveApproval(
address _sender,
uint256 _value,
address _tokenContract,
bytes _extraData
) public {
require(isTokenAccepted[_tokenContract]);
uint8 editionNumber = 0;
if (_extraData.length != 0) editionNumber = uint8(_extraData[0]);
_processERC20TokenPackPurchase(editionNumber, _tokenContract, _sender);
}
function _processERC20TokenPackPurchase(
uint8 _editionNumber,
address _tokenAddress,
address _buyer
) internal {
require(isTokenAccepted[_tokenAddress]);
ERC20 tokenContract = ERC20(_tokenAddress);
uint256 costPerPack = tokenCostPerPack[_tokenAddress];
uint256 ourBalanceBefore = tokenContract.balanceOf(address(this));
tokenContract.transferFrom(_buyer, address(this), costPerPack);
uint256 ourBalanceAfter = tokenContract.balanceOf(address(this));
require(ourBalanceAfter.isAtLeast(ourBalanceBefore.plus(costPerPack)));
_deliverPack(_buyer, _editionNumber);
}
function burnMythexTokens(address _burner, uint256 _amount) public onlyHosts {
require(_burner != address(0));
MythereumERC20Token(mythexTokenAddress).burn(_burner, _amount);
}
function burnXPTokens(address _burner, uint256 _amount) public onlyHosts {
require(_burner != address(0));
MythereumERC20Token(xpTokenAddress).burn(_burner, _amount);
}
function grantMythexTokens(address _recipient, uint256 _amount) public onlyHosts {
require(_recipient != address(0));
MythereumERC20Token(mythexTokenAddress).mint(_recipient, _amount);
}
function grantXPTokens(address _recipient, uint256 _amount) public onlyHosts {
require(_recipient != address(0));
MythereumERC20Token(xpTokenAddress).mint(_recipient, _amount);
}
function grantPromoPack(
address _recipient,
uint8 _editionNumber
) public onlyManagement {
_deliverPack(_recipient, _editionNumber);
}
function setTokenAcceptanceRate(
address _token,
uint256 _costPerPack
) public onlyManagement {
if (_costPerPack > 0) {
isTokenAccepted[_token] = true;
tokenCostPerPack[_token] = _costPerPack;
} else {
isTokenAccepted[_token] = false;
tokenCostPerPack[_token] = 0;
}
}
function transferERC20Tokens(
address _token,
address _recipient,
uint256 _amount
) public onlyManagement {
require(ERC20(_token).transfer(_recipient, _amount));
}
function addVIP(address _vip) public onlyManagement {
isVIP[_vip] = true;
}
function removeVIP(address _vip) public onlyManagement {
isVIP[_vip] = false;
}
function setEditionName(
uint8 _editionNumber,
string _name
) public onlyManagement {
editions[_editionNumber].name = _name;
}
function setEditionSales(
uint8 _editionNumber,
uint256 _numSales
) public onlyManagement {
editions[_editionNumber].sales = _numSales;
}
function setEditionMaxSales(
uint8 _editionNumber,
uint256 _maxSales
) public onlyManagement {
editions[_editionNumber].maxSales = _maxSales;
}
function setEditionPackPrice(
uint8 _editionNumber,
uint256 _newPrice
) public onlyManagement {
editions[_editionNumber].packPrice = _newPrice;
}
function setEditionPackPriceIncrease(
uint8 _editionNumber,
uint256 _increase
) public onlyManagement {
editions[_editionNumber].packPriceIncrease = _increase;
}
function setEditionPackSize(
uint8 _editionNumber,
uint8 _newSize
) public onlyManagement {
editions[_editionNumber].packSize = _newSize;
}
function setCardTokenAddress(address _addr) public onlyManagement {
require(_addr != address(0));
cardTokenAddress = _addr;
}
function setXPTokenAddress(address _addr) public onlyManagement {
require(_addr != address(0));
xpTokenAddress = _addr;
}
function setMythexTokenAddress(address _addr) public onlyManagement {
require(_addr != address(0));
mythexTokenAddress = _addr;
}
function setGameHostAddress(address _addr) public onlyManagement {
require(_addr != address(0));
gameHostAddress = _addr;
}
function claim() public {
_claim(msg.sender);
}
function deposit() public payable {
// this is for crediting funds to the contract - only meant for internal use
}
function addShareholder(address _payee, uint256 _shares) public onlyOwner {
require(_payee != address(0));
require(_shares.isAtLeast(1));
require(shares[_payee] == 0);
shares[_payee] = _shares;
totalShares = totalShares.plus(_shares);
}
function removeShareholder(address _payee) public onlyOwner {
require(shares[_payee] != 0);
_claim(_payee);
_forfeitShares(_payee, shares[_payee]);
}
function grantAdditionalShares(
address _payee,
uint256 _shares
) public onlyOwner {
require(shares[_payee] != 0);
require(_shares.isAtLeast(1));
shares[_payee] = shares[_payee].plus(_shares);
totalShares = totalShares.plus(_shares);
}
function forfeitShares(uint256 _numShares) public {
_forfeitShares(msg.sender, _numShares);
}
function transferShares(address _to, uint256 _numShares) public {
require(_numShares.isAtLeast(1));
require(shares[msg.sender].isAtLeast(_numShares));
shares[msg.sender] = shares[msg.sender].minus(_numShares);
shares[_to] = shares[_to].plus(_numShares);
}
function transferEntireStake(address _to) public {
transferShares(_to, shares[msg.sender]);
}
function _claim(address payee) internal {
require(shares[payee].isAtLeast(1));
uint256 totalReceived = address(this).balance.plus(totalReleased);
uint256 payment = totalReceived.times(shares[payee]).dividedBy(totalShares).minus(released[payee]);
require(payment != 0);
require(address(this).balance.isAtLeast(payment));
released[payee] = released[payee].plus(payment);
totalReleased = totalReleased.plus(payment);
payee.transfer(payment);
}
function _forfeitShares(address payee, uint256 numShares) internal {
require(shares[payee].isAtLeast(numShares));
shares[payee] = shares[payee].minus(numShares);
totalShares = totalShares.minus(numShares);
}
function _deliverPack(address recipient, uint8 editionNumber) internal {
Edition storage edition = editions[editionNumber];
require(edition.sales.isLessThan(edition.maxSales.plus(edition.packSize)));
edition.sales = edition.sales.plus(edition.packSize);
edition.packPrice = edition.packPrice.plus(edition.packPriceIncrease);
MythereumCardToken cardToken = MythereumCardToken(cardTokenAddress);
cardToken.mintRandomCards(recipient, editionNumber, edition.packSize);
CardsPurchased(editionNumber, edition.packSize, recipient);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"gameHostAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isTokenAccepted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_vip","type":"address"}],"name":"removeVIP","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"setCardTokenAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"setXPTokenAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"cardShieldUpgradeLevel","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_editionNumber","type":"uint8"},{"name":"_maxSales","type":"uint256"}],"name":"setEditionMaxSales","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_burner","type":"address"},{"name":"_amount","type":"uint256"}],"name":"burnXPTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_editionNumber","type":"uint8"},{"name":"_increase","type":"uint256"}],"name":"setEditionPackPriceIncrease","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"tokenCostPerPack","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_payee","type":"address"},{"name":"_shares","type":"uint256"}],"name":"grantAdditionalShares","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_editionNumber","type":"uint8"},{"name":"_numSales","type":"uint256"}],"name":"setEditionSales","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newManager","type":"address"}],"name":"replaceManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_editionNumber","type":"uint8"},{"name":"_newPrice","type":"uint256"}],"name":"setEditionPackPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalShares","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"transferEntireStake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"},{"name":"_amount","type":"uint256"}],"name":"grantMythexTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint8"}],"name":"editions","outputs":[{"name":"name","type":"string"},{"name":"sales","type":"uint256"},{"name":"maxSales","type":"uint256"},{"name":"packSize","type":"uint8"},{"name":"packPrice","type":"uint256"},{"name":"packPriceIncrease","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mythexTokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_vip","type":"address"}],"name":"addVIP","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_cardId","type":"uint256"}],"name":"upgradeCardDamage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"setGameHostAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_editionNumber","type":"uint8"},{"name":"_tokenAddress","type":"address"}],"name":"buyPackWithERC20Tokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_payee","type":"address"},{"name":"_shares","type":"uint256"}],"name":"addShareholder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"},{"name":"_amount","type":"uint256"}],"name":"grantXPTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cardTokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"xpTokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_burner","type":"address"},{"name":"_amount","type":"uint256"}],"name":"burnMythexTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_tokenContract","type":"address"},{"name":"_extraData","type":"bytes"}],"name":"receiveApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_numShares","type":"uint256"}],"name":"transferShares","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxCardUpgradeLevel","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_editionNumber","type":"uint8"}],"name":"buyPack","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"released","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_payee","type":"address"}],"name":"removeShareholder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_cardId","type":"uint256"}],"name":"upgradeCardShield","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_editionNumber","type":"uint8"},{"name":"_newSize","type":"uint8"}],"name":"setEditionPackSize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_recipient","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferERC20Tokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"},{"name":"_editionNumber","type":"uint8"}],"name":"grantPromoPack","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"shares","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_cardId","type":"uint256"},{"name":"_addedDamage","type":"uint256"},{"name":"_addedShield","type":"uint256"}],"name":"improveCard","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"setMythexTokenAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalReleased","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_numShares","type":"uint256"}],"name":"forfeitShares","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isVIP","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"mythexCostPerUpgradeLevel","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_costPerPack","type":"uint256"}],"name":"setTokenAcceptanceRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"cardDamageUpgradeLevel","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_editionNumber","type":"uint8"},{"name":"_name","type":"string"}],"name":"setEditionName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"editionNumber","type":"uint256"},{"indexed":false,"name":"packSize","type":"uint256"},{"indexed":false,"name":"buyer","type":"address"}],"name":"CardsPurchased","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"cardId","type":"uint256"},{"indexed":false,"name":"addedDamage","type":"uint256"},{"indexed":false,"name":"addedShield","type":"uint256"}],"name":"CardUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousManager","type":"address"},{"indexed":true,"name":"newManager","type":"address"}],"name":"ManagementChanged","type":"event"}]Contract Creation Code
6080604052601e6009556000600e556000600f553480156200002057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c0604051908101604052806040805190810160405280600781526020017f47656e65736973000000000000000000000000000000000000000000000000008152508152602001610f9f81526020016113888152602001600760ff16815260200167016345785d8a0000815260200166038d7ea4c68000815250600260008060ff168152602001908152602001600020600082015181600001908051906020019062000150929190620002ea565b50602082015181600101556040820151816002015560608201518160030160006101000a81548160ff021916908360ff1602179055506080820151816004015560a0820151816005015590505060c0604051908101604052806040805190810160405280600881526020017f5375727669766f72000000000000000000000000000000000000000000000000815250815260200160148152602001620f42408152602001600a60ff16815260200160008152602001600081525060026000600160ff16815260200190815260200160002060008201518160000190805190602001906200023f929190620002ea565b50602082015181600101556040820151816002015560608201518160030160006101000a81548160ff021916908360ff1602179055506080820151816004015560a082015181600501559050506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000399565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200032d57805160ff19168380011785556200035e565b828001600101855582156200035e579182015b828111156200035d57825182559160200191906001019062000340565b5b5090506200036d919062000371565b5090565b6200039691905b808211156200039257600081600090555060010162000378565b5090565b90565b615d1480620003a96000396000f30060806040526004361061027d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302978be8146102825780630560bd96146102d9578063095dc5cf146103345780630b39f18e146103775780630cd8dd0b146103ba578063137e1ba8146103fd578063141e26a51461043e5780631474b789146104785780631c3cf5d0146104c55780631cc72868146104ff57806322bac56814610556578063233a04ec146105a357806323447982146105dd5780632a92bffa146106205780633a98ef391461065a5780633b9178f7146106855780634145aa9d146106c8578063481c6a75146107155780634c3032761461076c5780634e71d92d1461083e5780634f3b8938146108555780634f7d4951146108ac5780635da99f5e146108ef5780636254cf801461091c5780636e5816731461095f57806375724990146109af5780637ab42bbd146109fc5780637d1e97a114610a4957806387b5f11414610aa05780638a83d4a014610af75780638da5cb5b14610b445780638f4ffcb114610b9b5780638fcb4e5b14610c4e5780638fd1b1f214610c9b578063940d72ec14610cc65780639852595c14610ce95780639babdad614610d40578063b9324db614610d83578063c3c75e5c14610db0578063c41c9a6114610ded578063cd7ecda014610e5a578063ce7c2ac214610eaa578063d0e30db014610f01578063d54c2a6314610f0b578063dd0b1af514610f4c578063e33b7de314610f8f578063ef2f92ad14610fba578063f2fde38b14610fe7578063f4201c3c1461102a578063f5109a3914611085578063f5ea25f0146110c6578063f7bb495c14611113578063ff0ec23e14611154575b600080fd5b34801561028e57600080fd5b506102976111ca565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e557600080fd5b5061031a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111f0565b604051808215151515815260200191505060405180910390f35b34801561034057600080fd5b50610375600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611210565b005b34801561038357600080fd5b506103b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061131e565b005b3480156103c657600080fd5b506103fb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611451565b005b34801561040957600080fd5b5061042860048036038101908080359060200190929190505050611584565b6040518082815260200191505060405180910390f35b34801561044a57600080fd5b50610476600480360381019080803560ff1690602001909291908035906020019092919050505061159c565b005b34801561048457600080fd5b506104c3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611674565b005b3480156104d157600080fd5b506104fd600480360381019080803560ff169060200190929190803590602001909291905050506118c0565b005b34801561050b57600080fd5b50610540600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611998565b6040518082815260200191505060405180910390f35b34801561056257600080fd5b506105a1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119b0565b005b3480156105af57600080fd5b506105db600480360381019080803560ff16906020019092919080359060200190929190505050611d04565b005b3480156105e957600080fd5b5061061e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ddc565b005b34801561062c57600080fd5b50610658600480360381019080803560ff16906020019092919080359060200190929190505050611f8b565b005b34801561066657600080fd5b5061066f612063565b6040518082815260200191505060405180910390f35b34801561069157600080fd5b506106c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612069565b005b3480156106d457600080fd5b50610713600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506120b5565b005b34801561072157600080fd5b5061072a612301565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561077857600080fd5b5061079a600480360381019080803560ff169060200190929190505050612327565b60405180806020018781526020018681526020018560ff1660ff168152602001848152602001838152602001828103825288818151815260200191508051906020019080838360005b838110156107fe5780820151818401526020810190506107e3565b50505050905090810190601f16801561082b5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b34801561084a57600080fd5b50610853612408565b005b34801561086157600080fd5b5061086a612413565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108b857600080fd5b506108ed600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612439565b005b3480156108fb57600080fd5b5061091a60048036038101908080359060200190929190505050612547565b005b34801561092857600080fd5b5061095d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612779565b005b34801561096b57600080fd5b506109ad600480360381019080803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b3480156109bb57600080fd5b506109fa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612913565b005b348015610a0857600080fd5b50610a47600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612bb4565b005b348015610a5557600080fd5b50610a5e612e00565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610aac57600080fd5b50610ab5612e26565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b0357600080fd5b50610b42600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612e4c565b005b348015610b5057600080fd5b50610b59613098565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ba757600080fd5b50610c4c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506130bd565b005b348015610c5a57600080fd5b50610c99600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506131b8565b005b348015610ca757600080fd5b50610cb06135d6565b6040518082815260200191505060405180910390f35b610ce7600480360381019080803560ff1690602001909291905050506135dc565b005b348015610cf557600080fd5b50610d2a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506138cb565b6040518082815260200191505060405180910390f35b348015610d4c57600080fd5b50610d81600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506138e3565b005b348015610d8f57600080fd5b50610dae600480360381019080803590602001909291905050506139e2565b005b348015610dbc57600080fd5b50610deb600480360381019080803560ff169060200190929190803560ff169060200190929190505050613c14565b005b348015610df957600080fd5b50610e58600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613d00565b005b348015610e6657600080fd5b50610ea8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050613ea1565b005b348015610eb657600080fd5b50610eeb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f62565b6040518082815260200191505060405180910390f35b610f09613f7a565b005b348015610f1757600080fd5b50610f4a600480360381019080803590602001909291908035906020019092919080359060200190929190505050613f7c565b005b348015610f5857600080fd5b50610f8d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061410f565b005b348015610f9b57600080fd5b50610fa4614242565b6040518082815260200191505060405180910390f35b348015610fc657600080fd5b50610fe560048036038101908080359060200190929190505050614248565b005b348015610ff357600080fd5b50611028600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614255565b005b34801561103657600080fd5b5061106b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506143aa565b604051808215151515815260200191505060405180910390f35b34801561109157600080fd5b506110b0600480360381019080803590602001909291905050506143ca565b6040518082815260200191505060405180910390f35b3480156110d257600080fd5b50611111600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506143e2565b005b34801561111f57600080fd5b5061113e600480360381019080803590602001909291905050506145e1565b6040518082815260200191505060405180910390f35b34801561116057600080fd5b506111c8600480360381019080803560ff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506145f9565b005b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60046020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112b85750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156112c357600080fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806113c65750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156113d157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140d57600080fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114f95750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561150457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561154057600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60086020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806116445750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561164f57600080fd5b80600260008460ff1660ff168152602001908152602001600020600201819055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061171c5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806117745750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561177f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156117bb57600080fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561188057600080fd5b505af1158015611894573d6000803e3d6000fd5b505050506040513d60208110156118aa57600080fd5b8101908080519060200190929190505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119685750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561197357600080fd5b80600260008460ff1660ff168152602001908152602001600020600501819055505050565b60056020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0b57600080fd5b6000601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414151515611a5a57600080fd5b8073b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc17909160016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015611ad057600080fd5b505af4158015611ae4573d6000803e3d6000fd5b505050506040513d6020811015611afa57600080fd5b81019080805190602001909291905050501515611b1657600080fd5b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015611bca57600080fd5b505af4158015611bde573d6000803e3d6000fd5b505050506040513d6020811015611bf457600080fd5b8101908080519060200190929190505050601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e5473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015611cbf57600080fd5b505af4158015611cd3573d6000803e3d6000fd5b505050506040513d6020811015611ce957600080fd5b8101908080519060200190929190505050600e819055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611dac5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611db757600080fd5b80600260008460ff1660ff168152602001908152602001600020600101819055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611e845750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611e8f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611ecb57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fc6a1baebe57160c2d8aaa4affd797ada64a54753248acc4887748a2d99f5233260405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806120335750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561203e57600080fd5b80600260008460ff1660ff168152602001908152602001600020600401819055505050565b600e5481565b6120b281601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131b8565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061215d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806121b55750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156121c057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156121fc57600080fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1983836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156122c157600080fd5b505af11580156122d5573d6000803e3d6000fd5b505050506040513d60208110156122eb57600080fd5b8101908080519060200190929190505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002602052806000526040600020600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123d35780601f106123a8576101008083540402835291602001916123d3565b820191906000526020600020905b8154815290600101906020018083116123b657829003601f168201915b5050505050908060010154908060020154908060030160009054906101000a900460ff16908060040154908060050154905086565b612411336146e1565b565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806124e15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156124ec57600080fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080600760008481526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963e9970b6c90916009546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156125d457600080fd5b505af41580156125e8573d6000803e3d6000fd5b505050506040513d60208110156125fe57600080fd5b8101908080519060200190929190505050151561261a57600080fd5b60016007600085815260200190815260200160002054016020029150600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16639dc29fac33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156126fe57600080fd5b505af1158015612712573d6000803e3d6000fd5b505050506040513d602081101561272857600080fd5b8101908080519060200190929190505050151561274457600080fd5b60076000848152602001908152602001600020600081548092919060010191905055506127748360016000614e52565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806128215750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561282c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561286857600080fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561290457600080fd5b61290f828233614f8b565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561296e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156129aa57600080fd5b8073b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc17909160016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015612a2057600080fd5b505af4158015612a34573d6000803e3d6000fd5b505050506040513d6020811015612a4a57600080fd5b81019080805190602001909291905050501515612a6657600080fd5b6000601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515612ab457600080fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e5473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015612b6f57600080fd5b505af4158015612b83573d6000803e3d6000fd5b505050506040513d6020811015612b9957600080fd5b8101908080519060200190929190505050600e819055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612c5c5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80612cb45750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612cbf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612cfb57600080fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1983836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612dc057600080fd5b505af1158015612dd4573d6000803e3d6000fd5b505050506040513d6020811015612dea57600080fd5b8101908080519060200190929190505050505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612ef45750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80612f4c5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612f5757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612f9357600080fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561305857600080fd5b505af115801561306c573d6000803e3d6000fd5b505050506040513d602081101561308257600080fd5b8101908080519060200190929190505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561311757600080fd5b60009050600082511415156131a65781600081518110151561313557fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900490505b6131b1818487614f8b565b5050505050565b8073b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc17909160016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561322e57600080fd5b505af4158015613242573d6000803e3d6000fd5b505050506040513d602081101561325857600080fd5b8101908080519060200190929190505050151561327457600080fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc179091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561332857600080fd5b505af415801561333c573d6000803e3d6000fd5b505050506040513d602081101561335257600080fd5b8101908080519060200190929190505050151561336e57600080fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963f4f3bdc19091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561342257600080fd5b505af4158015613436573d6000803e3d6000fd5b505050506040513d602081101561344c57600080fd5b8101908080519060200190929190505050601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561355457600080fd5b505af4158015613568573d6000803e3d6000fd5b505050506040513d602081101561357e57600080fd5b8101908080519060200190929190505050601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60095481565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661365157600260008360ff1660ff16815260200190815260200160002060040154613654565b60005b90503473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc179091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156136cb57600080fd5b505af41580156136df573d6000803e3d6000fd5b505050506040513d60208110156136f557600080fd5b8101908080519060200190929190505050151561371157600080fd5b3473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963dcf6a5929091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561378657600080fd5b505af415801561379a573d6000803e3d6000fd5b505050506040513d60208110156137b057600080fd5b8101908080519060200190929190505050156138bd573373ffffffffffffffffffffffffffffffffffffffff166108fc3473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963f4f3bdc19091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561385557600080fd5b505af4158015613869573d6000803e3d6000fd5b505050506040513d602081101561387f57600080fd5b81019080805190602001909291905050509081150290604051600060405180830381858888f193505050501580156138bb573d6000803e3d6000fd5b505b6138c7338361546e565b5050565b60116020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561393e57600080fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415151561398d57600080fd5b613996816146e1565b6139df81601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461595b565b50565b600080600860008481526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963e9970b6c90916009546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015613a6f57600080fd5b505af4158015613a83573d6000803e3d6000fd5b505050506040513d6020811015613a9957600080fd5b81019080805190602001909291905050501515613ab557600080fd5b60016008600085815260200190815260200160002054016020029150600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16639dc29fac33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b9957600080fd5b505af1158015613bad573d6000803e3d6000fd5b505050506040513d6020811015613bc357600080fd5b81019080805190602001909291905050501515613bdf57600080fd5b6008600084815260200190815260200160002060008154809291906001019190505550613c0f8360006001614e52565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613cbc5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613cc757600080fd5b80600260008460ff1660ff16815260200190815260200160002060030160006101000a81548160ff021916908360ff1602179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613da85750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613db357600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613e5657600080fd5b505af1158015613e6a573d6000803e3d6000fd5b505050506040513d6020811015613e8057600080fd5b81019080805190602001909291905050501515613e9c57600080fd5b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613f495750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613f5457600080fd5b613f5e828261546e565b5050565b60106020528060005260406000206000915090505481565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806140245750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561402f57600080fd5b600860008481526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963e9970b6c90916009546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156140b957600080fd5b505af41580156140cd573d6000803e3d6000fd5b505050506040513d60208110156140e357600080fd5b810190808051906020019092919050505015156140ff57600080fd5b61410a838383614e52565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806141b75750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156141c257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156141fe57600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f5481565b614252338261595b565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156142b057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156142ec57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60036020528060005260406000206000915054906101000a900460ff1681565b60066020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061448a5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561449557600080fd5b600081111561453f576001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506145dd565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b60076020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806146a15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156146ac57600080fd5b80600260008460ff1660ff16815260200190815260200160002060000190805190602001906146dc929190615c43565b505050565b600080601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc17909160016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561479957600080fd5b505af41580156147ad573d6000803e3d6000fd5b505050506040513d60208110156147c357600080fd5b810190808051906020019092919050505015156147df57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163173b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091600f546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561486d57600080fd5b505af4158015614881573d6000803e3d6000fd5b505050506040513d602081101561489757600080fd5b810190808051906020019092919050505091508173b5f1efa8a3267cce1aea000dd2cc7a0778aa8299631d3b9edf9091601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561495e57600080fd5b505af4158015614972573d6000803e3d6000fd5b505050506040513d602081101561498857600080fd5b810190808051906020019092919050505073b5f1efa8a3267cce1aea000dd2cc7a0778aa829963e39bbf689091600e546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015614a0f57600080fd5b505af4158015614a23573d6000803e3d6000fd5b505050506040513d6020811015614a3957600080fd5b810190808051906020019092919050505073b5f1efa8a3267cce1aea000dd2cc7a0778aa829963f4f3bdc19091601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015614afd57600080fd5b505af4158015614b11573d6000803e3d6000fd5b505050506040513d6020811015614b2757600080fd5b8101908080519060200190929190505050905060008114151515614b4a57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163173b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc179091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015614bd657600080fd5b505af4158015614bea573d6000803e3d6000fd5b505050506040513d6020811015614c0057600080fd5b81019080805190602001909291905050501515614c1c57600080fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015614cd057600080fd5b505af4158015614ce4573d6000803e3d6000fd5b505050506040513d6020811015614cfa57600080fd5b8101908080519060200190929190505050601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600f5473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015614dc557600080fd5b505af4158015614dd9573d6000803e3d6000fd5b505050506040513d6020811015614def57600080fd5b8101908080519060200190929190505050600f819055508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015614e4c573d6000803e3d6000fd5b50505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663d54c2a638585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b158015614ef857600080fd5b505af1158015614f0c573d6000803e3d6000fd5b505050506040513d6020811015614f2257600080fd5b81019080805190602001909291905050501515614f3e57600080fd5b7fce1d0ccd3193ad0a874c6998c738b5603d55f8e2951d1d523203bec9859257ec84848460405180848152602001838152602001828152602001935050505060405180910390a150505050565b600080600080600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515614fe957600080fd5b859350600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492508373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156150c957600080fd5b505af11580156150dd573d6000803e3d6000fd5b505050506040513d60208110156150f357600080fd5b810190808051906020019092919050505091508373ffffffffffffffffffffffffffffffffffffffff166323b872dd8630866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156151dd57600080fd5b505af11580156151f1573d6000803e3d6000fd5b505050506040513d602081101561520757600080fd5b8101908080519060200190929190505050508373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156152b457600080fd5b505af11580156152c8573d6000803e3d6000fd5b505050506040513d60208110156152de57600080fd5b810190808051906020019092919050505090508073b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc1790918473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091886040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561538357600080fd5b505af4158015615397573d6000803e3d6000fd5b505050506040513d60208110156153ad57600080fd5b81019080805190602001909291905050506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561541557600080fd5b505af4158015615429573d6000803e3d6000fd5b505050506040513d602081101561543f57600080fd5b8101908080519060200190929190505050151561545b57600080fd5b615465858861546e565b50505050505050565b600080600260008460ff1660ff1681526020019081526020016000209150816001015473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963e9970b6c9091846002015473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f90918760030160009054906101000a900460ff166040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018260ff1681526020019250505060206040518083038186803b15801561553a57600080fd5b505af415801561554e573d6000803e3d6000fd5b505050506040513d602081101561556457600080fd5b81019080805190602001909291905050506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156155cc57600080fd5b505af41580156155e0573d6000803e3d6000fd5b505050506040513d60208110156155f657600080fd5b8101908080519060200190929190505050151561561257600080fd5b816001015473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f90918460030160009054906101000a900460ff166040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018260ff1681526020019250505060206040518083038186803b15801561569f57600080fd5b505af41580156156b3573d6000803e3d6000fd5b505050506040513d60208110156156c957600080fd5b81019080805190602001909291905050508260010181905550816004015473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f909184600501546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561575f57600080fd5b505af4158015615773573d6000803e3d6000fd5b505050506040513d602081101561578957600080fd5b81019080805190602001909291905050508260040181905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663051cb63085858560030160009054906101000a900460ff166040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360ff1660ff1681526020018260ff1660ff1681526020019350505050602060405180830381600087803b15801561588f57600080fd5b505af11580156158a3573d6000803e3d6000fd5b505050506040513d60208110156158b957600080fd5b8101908080519060200190929190505050507f7c12d07c326e7e7179cf73338029105927aa15cf707eb2bd4d3842a2a3af69c3838360030160009054906101000a900460ff1686604051808460ff1681526020018360ff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a150505050565b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc179091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015615a0f57600080fd5b505af4158015615a23573d6000803e3d6000fd5b505050506040513d6020811015615a3957600080fd5b81019080805190602001909291905050501515615a5557600080fd5b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963f4f3bdc19091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015615b0957600080fd5b505af4158015615b1d573d6000803e3d6000fd5b505050506040513d6020811015615b3357600080fd5b8101908080519060200190929190505050601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e5473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963f4f3bdc19091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015615bfe57600080fd5b505af4158015615c12573d6000803e3d6000fd5b505050506040513d6020811015615c2857600080fd5b8101908080519060200190929190505050600e819055505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615c8457805160ff1916838001178555615cb2565b82800160010185558215615cb2579182015b82811115615cb1578251825591602001919060010190615c96565b5b509050615cbf9190615cc3565b5090565b615ce591905b80821115615ce1576000816000905550600101615cc9565b5090565b905600a165627a7a723058209459e60942f381772bf32392cc5164db65e2b5aaa06e38728a4c6b7f9b20e70c0029
Deployed Bytecode
0x60806040526004361061027d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302978be8146102825780630560bd96146102d9578063095dc5cf146103345780630b39f18e146103775780630cd8dd0b146103ba578063137e1ba8146103fd578063141e26a51461043e5780631474b789146104785780631c3cf5d0146104c55780631cc72868146104ff57806322bac56814610556578063233a04ec146105a357806323447982146105dd5780632a92bffa146106205780633a98ef391461065a5780633b9178f7146106855780634145aa9d146106c8578063481c6a75146107155780634c3032761461076c5780634e71d92d1461083e5780634f3b8938146108555780634f7d4951146108ac5780635da99f5e146108ef5780636254cf801461091c5780636e5816731461095f57806375724990146109af5780637ab42bbd146109fc5780637d1e97a114610a4957806387b5f11414610aa05780638a83d4a014610af75780638da5cb5b14610b445780638f4ffcb114610b9b5780638fcb4e5b14610c4e5780638fd1b1f214610c9b578063940d72ec14610cc65780639852595c14610ce95780639babdad614610d40578063b9324db614610d83578063c3c75e5c14610db0578063c41c9a6114610ded578063cd7ecda014610e5a578063ce7c2ac214610eaa578063d0e30db014610f01578063d54c2a6314610f0b578063dd0b1af514610f4c578063e33b7de314610f8f578063ef2f92ad14610fba578063f2fde38b14610fe7578063f4201c3c1461102a578063f5109a3914611085578063f5ea25f0146110c6578063f7bb495c14611113578063ff0ec23e14611154575b600080fd5b34801561028e57600080fd5b506102976111ca565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e557600080fd5b5061031a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111f0565b604051808215151515815260200191505060405180910390f35b34801561034057600080fd5b50610375600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611210565b005b34801561038357600080fd5b506103b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061131e565b005b3480156103c657600080fd5b506103fb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611451565b005b34801561040957600080fd5b5061042860048036038101908080359060200190929190505050611584565b6040518082815260200191505060405180910390f35b34801561044a57600080fd5b50610476600480360381019080803560ff1690602001909291908035906020019092919050505061159c565b005b34801561048457600080fd5b506104c3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611674565b005b3480156104d157600080fd5b506104fd600480360381019080803560ff169060200190929190803590602001909291905050506118c0565b005b34801561050b57600080fd5b50610540600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611998565b6040518082815260200191505060405180910390f35b34801561056257600080fd5b506105a1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119b0565b005b3480156105af57600080fd5b506105db600480360381019080803560ff16906020019092919080359060200190929190505050611d04565b005b3480156105e957600080fd5b5061061e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ddc565b005b34801561062c57600080fd5b50610658600480360381019080803560ff16906020019092919080359060200190929190505050611f8b565b005b34801561066657600080fd5b5061066f612063565b6040518082815260200191505060405180910390f35b34801561069157600080fd5b506106c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612069565b005b3480156106d457600080fd5b50610713600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506120b5565b005b34801561072157600080fd5b5061072a612301565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561077857600080fd5b5061079a600480360381019080803560ff169060200190929190505050612327565b60405180806020018781526020018681526020018560ff1660ff168152602001848152602001838152602001828103825288818151815260200191508051906020019080838360005b838110156107fe5780820151818401526020810190506107e3565b50505050905090810190601f16801561082b5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b34801561084a57600080fd5b50610853612408565b005b34801561086157600080fd5b5061086a612413565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108b857600080fd5b506108ed600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612439565b005b3480156108fb57600080fd5b5061091a60048036038101908080359060200190929190505050612547565b005b34801561092857600080fd5b5061095d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612779565b005b34801561096b57600080fd5b506109ad600480360381019080803560ff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b3480156109bb57600080fd5b506109fa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612913565b005b348015610a0857600080fd5b50610a47600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612bb4565b005b348015610a5557600080fd5b50610a5e612e00565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610aac57600080fd5b50610ab5612e26565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b0357600080fd5b50610b42600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612e4c565b005b348015610b5057600080fd5b50610b59613098565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ba757600080fd5b50610c4c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506130bd565b005b348015610c5a57600080fd5b50610c99600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506131b8565b005b348015610ca757600080fd5b50610cb06135d6565b6040518082815260200191505060405180910390f35b610ce7600480360381019080803560ff1690602001909291905050506135dc565b005b348015610cf557600080fd5b50610d2a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506138cb565b6040518082815260200191505060405180910390f35b348015610d4c57600080fd5b50610d81600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506138e3565b005b348015610d8f57600080fd5b50610dae600480360381019080803590602001909291905050506139e2565b005b348015610dbc57600080fd5b50610deb600480360381019080803560ff169060200190929190803560ff169060200190929190505050613c14565b005b348015610df957600080fd5b50610e58600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613d00565b005b348015610e6657600080fd5b50610ea8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050613ea1565b005b348015610eb657600080fd5b50610eeb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f62565b6040518082815260200191505060405180910390f35b610f09613f7a565b005b348015610f1757600080fd5b50610f4a600480360381019080803590602001909291908035906020019092919080359060200190929190505050613f7c565b005b348015610f5857600080fd5b50610f8d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061410f565b005b348015610f9b57600080fd5b50610fa4614242565b6040518082815260200191505060405180910390f35b348015610fc657600080fd5b50610fe560048036038101908080359060200190929190505050614248565b005b348015610ff357600080fd5b50611028600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614255565b005b34801561103657600080fd5b5061106b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506143aa565b604051808215151515815260200191505060405180910390f35b34801561109157600080fd5b506110b0600480360381019080803590602001909291905050506143ca565b6040518082815260200191505060405180910390f35b3480156110d257600080fd5b50611111600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506143e2565b005b34801561111f57600080fd5b5061113e600480360381019080803590602001909291905050506145e1565b6040518082815260200191505060405180910390f35b34801561116057600080fd5b506111c8600480360381019080803560ff169060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506145f9565b005b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60046020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112b85750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156112c357600080fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806113c65750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156113d157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140d57600080fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114f95750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561150457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561154057600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60086020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806116445750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561164f57600080fd5b80600260008460ff1660ff168152602001908152602001600020600201819055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061171c5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806117745750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561177f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156117bb57600080fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561188057600080fd5b505af1158015611894573d6000803e3d6000fd5b505050506040513d60208110156118aa57600080fd5b8101908080519060200190929190505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119685750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561197357600080fd5b80600260008460ff1660ff168152602001908152602001600020600501819055505050565b60056020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0b57600080fd5b6000601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414151515611a5a57600080fd5b8073b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc17909160016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015611ad057600080fd5b505af4158015611ae4573d6000803e3d6000fd5b505050506040513d6020811015611afa57600080fd5b81019080805190602001909291905050501515611b1657600080fd5b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015611bca57600080fd5b505af4158015611bde573d6000803e3d6000fd5b505050506040513d6020811015611bf457600080fd5b8101908080519060200190929190505050601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e5473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015611cbf57600080fd5b505af4158015611cd3573d6000803e3d6000fd5b505050506040513d6020811015611ce957600080fd5b8101908080519060200190929190505050600e819055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611dac5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611db757600080fd5b80600260008460ff1660ff168152602001908152602001600020600101819055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611e845750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611e8f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611ecb57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fc6a1baebe57160c2d8aaa4affd797ada64a54753248acc4887748a2d99f5233260405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806120335750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561203e57600080fd5b80600260008460ff1660ff168152602001908152602001600020600401819055505050565b600e5481565b6120b281601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131b8565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061215d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806121b55750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156121c057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156121fc57600080fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1983836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156122c157600080fd5b505af11580156122d5573d6000803e3d6000fd5b505050506040513d60208110156122eb57600080fd5b8101908080519060200190929190505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002602052806000526040600020600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123d35780601f106123a8576101008083540402835291602001916123d3565b820191906000526020600020905b8154815290600101906020018083116123b657829003601f168201915b5050505050908060010154908060020154908060030160009054906101000a900460ff16908060040154908060050154905086565b612411336146e1565b565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806124e15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156124ec57600080fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600080600760008481526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963e9970b6c90916009546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156125d457600080fd5b505af41580156125e8573d6000803e3d6000fd5b505050506040513d60208110156125fe57600080fd5b8101908080519060200190929190505050151561261a57600080fd5b60016007600085815260200190815260200160002054016020029150600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16639dc29fac33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156126fe57600080fd5b505af1158015612712573d6000803e3d6000fd5b505050506040513d602081101561272857600080fd5b8101908080519060200190929190505050151561274457600080fd5b60076000848152602001908152602001600020600081548092919060010191905055506127748360016000614e52565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806128215750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561282c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561286857600080fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561290457600080fd5b61290f828233614f8b565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561296e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156129aa57600080fd5b8073b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc17909160016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015612a2057600080fd5b505af4158015612a34573d6000803e3d6000fd5b505050506040513d6020811015612a4a57600080fd5b81019080805190602001909291905050501515612a6657600080fd5b6000601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515612ab457600080fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e5473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015612b6f57600080fd5b505af4158015612b83573d6000803e3d6000fd5b505050506040513d6020811015612b9957600080fd5b8101908080519060200190929190505050600e819055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612c5c5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80612cb45750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612cbf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612cfb57600080fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1983836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612dc057600080fd5b505af1158015612dd4573d6000803e3d6000fd5b505050506040513d6020811015612dea57600080fd5b8101908080519060200190929190505050505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612ef45750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80612f4c5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612f5757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515612f9357600080fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561305857600080fd5b505af115801561306c573d6000803e3d6000fd5b505050506040513d602081101561308257600080fd5b8101908080519060200190929190505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561311757600080fd5b60009050600082511415156131a65781600081518110151561313557fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900490505b6131b1818487614f8b565b5050505050565b8073b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc17909160016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561322e57600080fd5b505af4158015613242573d6000803e3d6000fd5b505050506040513d602081101561325857600080fd5b8101908080519060200190929190505050151561327457600080fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc179091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561332857600080fd5b505af415801561333c573d6000803e3d6000fd5b505050506040513d602081101561335257600080fd5b8101908080519060200190929190505050151561336e57600080fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963f4f3bdc19091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561342257600080fd5b505af4158015613436573d6000803e3d6000fd5b505050506040513d602081101561344c57600080fd5b8101908080519060200190929190505050601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561355457600080fd5b505af4158015613568573d6000803e3d6000fd5b505050506040513d602081101561357e57600080fd5b8101908080519060200190929190505050601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60095481565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661365157600260008360ff1660ff16815260200190815260200160002060040154613654565b60005b90503473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc179091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156136cb57600080fd5b505af41580156136df573d6000803e3d6000fd5b505050506040513d60208110156136f557600080fd5b8101908080519060200190929190505050151561371157600080fd5b3473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963dcf6a5929091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561378657600080fd5b505af415801561379a573d6000803e3d6000fd5b505050506040513d60208110156137b057600080fd5b8101908080519060200190929190505050156138bd573373ffffffffffffffffffffffffffffffffffffffff166108fc3473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963f4f3bdc19091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561385557600080fd5b505af4158015613869573d6000803e3d6000fd5b505050506040513d602081101561387f57600080fd5b81019080805190602001909291905050509081150290604051600060405180830381858888f193505050501580156138bb573d6000803e3d6000fd5b505b6138c7338361546e565b5050565b60116020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561393e57600080fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415151561398d57600080fd5b613996816146e1565b6139df81601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461595b565b50565b600080600860008481526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963e9970b6c90916009546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015613a6f57600080fd5b505af4158015613a83573d6000803e3d6000fd5b505050506040513d6020811015613a9957600080fd5b81019080805190602001909291905050501515613ab557600080fd5b60016008600085815260200190815260200160002054016020029150600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16639dc29fac33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613b9957600080fd5b505af1158015613bad573d6000803e3d6000fd5b505050506040513d6020811015613bc357600080fd5b81019080805190602001909291905050501515613bdf57600080fd5b6008600084815260200190815260200160002060008154809291906001019190505550613c0f8360006001614e52565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613cbc5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613cc757600080fd5b80600260008460ff1660ff16815260200190815260200160002060030160006101000a81548160ff021916908360ff1602179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613da85750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613db357600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613e5657600080fd5b505af1158015613e6a573d6000803e3d6000fd5b505050506040513d6020811015613e8057600080fd5b81019080805190602001909291905050501515613e9c57600080fd5b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613f495750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613f5457600080fd5b613f5e828261546e565b5050565b60106020528060005260406000206000915090505481565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806140245750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561402f57600080fd5b600860008481526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963e9970b6c90916009546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156140b957600080fd5b505af41580156140cd573d6000803e3d6000fd5b505050506040513d60208110156140e357600080fd5b810190808051906020019092919050505015156140ff57600080fd5b61410a838383614e52565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806141b75750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156141c257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156141fe57600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f5481565b614252338261595b565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156142b057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156142ec57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f0384899bd253d83b23daa4d29aaa2efe0563d1132b43101e9ad667235aeb951b60405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60036020528060005260406000206000915054906101000a900460ff1681565b60066020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061448a5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561449557600080fd5b600081111561453f576001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506145dd565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b60076020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806146a15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156146ac57600080fd5b80600260008460ff1660ff16815260200190815260200160002060000190805190602001906146dc929190615c43565b505050565b600080601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc17909160016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561479957600080fd5b505af41580156147ad573d6000803e3d6000fd5b505050506040513d60208110156147c357600080fd5b810190808051906020019092919050505015156147df57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163173b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091600f546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561486d57600080fd5b505af4158015614881573d6000803e3d6000fd5b505050506040513d602081101561489757600080fd5b810190808051906020019092919050505091508173b5f1efa8a3267cce1aea000dd2cc7a0778aa8299631d3b9edf9091601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561495e57600080fd5b505af4158015614972573d6000803e3d6000fd5b505050506040513d602081101561498857600080fd5b810190808051906020019092919050505073b5f1efa8a3267cce1aea000dd2cc7a0778aa829963e39bbf689091600e546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015614a0f57600080fd5b505af4158015614a23573d6000803e3d6000fd5b505050506040513d6020811015614a3957600080fd5b810190808051906020019092919050505073b5f1efa8a3267cce1aea000dd2cc7a0778aa829963f4f3bdc19091601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015614afd57600080fd5b505af4158015614b11573d6000803e3d6000fd5b505050506040513d6020811015614b2757600080fd5b8101908080519060200190929190505050905060008114151515614b4a57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163173b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc179091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015614bd657600080fd5b505af4158015614bea573d6000803e3d6000fd5b505050506040513d6020811015614c0057600080fd5b81019080805190602001909291905050501515614c1c57600080fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015614cd057600080fd5b505af4158015614ce4573d6000803e3d6000fd5b505050506040513d6020811015614cfa57600080fd5b8101908080519060200190929190505050601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600f5473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015614dc557600080fd5b505af4158015614dd9573d6000803e3d6000fd5b505050506040513d6020811015614def57600080fd5b8101908080519060200190929190505050600f819055508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015614e4c573d6000803e3d6000fd5b50505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663d54c2a638585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b158015614ef857600080fd5b505af1158015614f0c573d6000803e3d6000fd5b505050506040513d6020811015614f2257600080fd5b81019080805190602001909291905050501515614f3e57600080fd5b7fce1d0ccd3193ad0a874c6998c738b5603d55f8e2951d1d523203bec9859257ec84848460405180848152602001838152602001828152602001935050505060405180910390a150505050565b600080600080600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515614fe957600080fd5b859350600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492508373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156150c957600080fd5b505af11580156150dd573d6000803e3d6000fd5b505050506040513d60208110156150f357600080fd5b810190808051906020019092919050505091508373ffffffffffffffffffffffffffffffffffffffff166323b872dd8630866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156151dd57600080fd5b505af11580156151f1573d6000803e3d6000fd5b505050506040513d602081101561520757600080fd5b8101908080519060200190929190505050508373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156152b457600080fd5b505af11580156152c8573d6000803e3d6000fd5b505050506040513d60208110156152de57600080fd5b810190808051906020019092919050505090508073b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc1790918473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f9091886040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561538357600080fd5b505af4158015615397573d6000803e3d6000fd5b505050506040513d60208110156153ad57600080fd5b81019080805190602001909291905050506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561541557600080fd5b505af4158015615429573d6000803e3d6000fd5b505050506040513d602081101561543f57600080fd5b8101908080519060200190929190505050151561545b57600080fd5b615465858861546e565b50505050505050565b600080600260008460ff1660ff1681526020019081526020016000209150816001015473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963e9970b6c9091846002015473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f90918760030160009054906101000a900460ff166040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018260ff1681526020019250505060206040518083038186803b15801561553a57600080fd5b505af415801561554e573d6000803e3d6000fd5b505050506040513d602081101561556457600080fd5b81019080805190602001909291905050506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156155cc57600080fd5b505af41580156155e0573d6000803e3d6000fd5b505050506040513d60208110156155f657600080fd5b8101908080519060200190929190505050151561561257600080fd5b816001015473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f90918460030160009054906101000a900460ff166040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018260ff1681526020019250505060206040518083038186803b15801561569f57600080fd5b505af41580156156b3573d6000803e3d6000fd5b505050506040513d60208110156156c957600080fd5b81019080805190602001909291905050508260010181905550816004015473b5f1efa8a3267cce1aea000dd2cc7a0778aa82996366098d4f909184600501546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561575f57600080fd5b505af4158015615773573d6000803e3d6000fd5b505050506040513d602081101561578957600080fd5b81019080805190602001909291905050508260040181905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663051cb63085858560030160009054906101000a900460ff166040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018360ff1660ff1681526020018260ff1660ff1681526020019350505050602060405180830381600087803b15801561588f57600080fd5b505af11580156158a3573d6000803e3d6000fd5b505050506040513d60208110156158b957600080fd5b8101908080519060200190929190505050507f7c12d07c326e7e7179cf73338029105927aa15cf707eb2bd4d3842a2a3af69c3838360030160009054906101000a900460ff1686604051808460ff1681526020018360ff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a150505050565b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963a6bdcc179091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015615a0f57600080fd5b505af4158015615a23573d6000803e3d6000fd5b505050506040513d6020811015615a3957600080fd5b81019080805190602001909291905050501515615a5557600080fd5b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963f4f3bdc19091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015615b0957600080fd5b505af4158015615b1d573d6000803e3d6000fd5b505050506040513d6020811015615b3357600080fd5b8101908080519060200190929190505050601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e5473b5f1efa8a3267cce1aea000dd2cc7a0778aa829963f4f3bdc19091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015615bfe57600080fd5b505af4158015615c12573d6000803e3d6000fd5b505050506040513d6020811015615c2857600080fd5b8101908080519060200190929190505050600e819055505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615c8457805160ff1916838001178555615cb2565b82800160010185558215615cb2579182015b82811115615cb1578251825591602001919060010190615c96565b5b509050615cbf9190615cc3565b5090565b615ce591905b80821115615ce1576000816000905550600101615cc9565b5090565b905600a165627a7a723058209459e60942f381772bf32392cc5164db65e2b5aaa06e38728a4c6b7f9b20e70c0029
Swarm Source
bzzr://9459e60942f381772bf32392cc5164db65e2b5aaa06e38728a4c6b7f9b20e70c
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.