ETH Price: $4,004.78 (+2.88%)

Contract

0x4e7768F2Ce8E45351d42571168d69449d8ca2C95
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Version112234762020-11-09 13:10:131498 days ago1604927413IN
0x4e7768F2...9d8ca2C95
0 ETH0.0024283854
Version112231162020-11-09 11:50:161499 days ago1604922616IN
0x4e7768F2...9d8ca2C95
0 ETH0.001097130
Course103332362020-06-25 6:16:021636 days ago1593065762IN
0x4e7768F2...9d8ca2C95
0 ETH0.0149454235.00000112
Watch103331562020-06-25 5:56:511636 days ago1593064611IN
0x4e7768F2...9d8ca2C95
0 ETH0.0128353133.00000112
Course103331562020-06-25 5:56:511636 days ago1593064611IN
0x4e7768F2...9d8ca2C95
0 ETH0.0145894633.00000112
Course103331312020-06-25 5:51:031636 days ago1593064263IN
0x4e7768F2...9d8ca2C95
0 ETH0.0155415734.00000112
Course103331312020-06-25 5:51:031636 days ago1593064263IN
0x4e7768F2...9d8ca2C95
0 ETH0.0155446934.00000112
Watch103330482020-06-25 5:31:411636 days ago1593063101IN
0x4e7768F2...9d8ca2C95
0 ETH0.0135768633.00000112
Watch103329792020-06-25 5:15:381636 days ago1593062138IN
0x4e7768F2...9d8ca2C95
0 ETH0.0126705831.90000023
Watch103329792020-06-25 5:15:381636 days ago1593062138IN
0x4e7768F2...9d8ca2C95
0 ETH0.0118690133.00000112
Course103263492020-06-24 4:36:201637 days ago1592973380IN
0x4e7768F2...9d8ca2C95
0 ETH0.0142737451.70000023
Watch103261632020-06-24 3:54:321637 days ago1592970872IN
0x4e7768F2...9d8ca2C95
0 ETH0.0159473838.00000134
Watch103261122020-06-24 3:41:431637 days ago1592970103IN
0x4e7768F2...9d8ca2C95
0 ETH0.0150014637.00000134
Watch103260442020-06-24 3:25:451637 days ago1592969145IN
0x4e7768F2...9d8ca2C95
0 ETH0.0132449436.00000134
Watch103233962020-06-23 17:31:381637 days ago1592933498IN
0x4e7768F2...9d8ca2C95
0 ETH0.0075225931.90000023
Watch103197372020-06-23 3:54:001638 days ago1592884440IN
0x4e7768F2...9d8ca2C95
0 ETH0.0145186134.00000112
Watch103196842020-06-23 3:40:511638 days ago1592883651IN
0x4e7768F2...9d8ca2C95
0 ETH0.0118059328.60000023
Watch103195992020-06-23 3:23:311638 days ago1592882611IN
0x4e7768F2...9d8ca2C95
0 ETH0.0120084832.00000112
Course103132292020-06-22 3:41:471639 days ago1592797307IN
0x4e7768F2...9d8ca2C95
0 ETH0.0063473327.50000023
Watch103132212020-06-22 3:38:551639 days ago1592797135IN
0x4e7768F2...9d8ca2C95
0 ETH0.0075539236.30000023
Watch103130062020-06-22 2:50:531639 days ago1592794253IN
0x4e7768F2...9d8ca2C95
0 ETH0.0084175322.00000145
Watch103129722020-06-22 2:41:191639 days ago1592793679IN
0x4e7768F2...9d8ca2C95
0 ETH0.0091651621.10000145
Watch103129672020-06-22 2:40:181639 days ago1592793618IN
0x4e7768F2...9d8ca2C95
0 ETH0.0088650621.10000145
Course103078752020-06-21 7:58:461640 days ago1592726326IN
0x4e7768F2...9d8ca2C95
0 ETH0.0065907216
Watch103078692020-06-21 7:57:581640 days ago1592726278IN
0x4e7768F2...9d8ca2C95
0 ETH0.0063105216
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GFC

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-06-08
*/

pragma solidity ^0.5.17;
//https://gfc.asia/
contract Ownable {
	address private _owner;
	address private nextOwner;

	constructor () internal {
		_owner = msg.sender;
	}

	modifier onlyOwner() {
		require(isOwner(), "Ownable: caller is not the owner");
		_;
	}

	function isOwner() public view returns (bool) {
		return msg.sender == _owner;
	}

	function approveNextOwner(address _nextOwner) external onlyOwner {
		require(_nextOwner != _owner, "Cannot approve current owner.");
		nextOwner = _nextOwner;
	}

	function acceptNextOwner() external {
		require(msg.sender == nextOwner, "Can only accept preapproved new owner.");
		_owner = nextOwner;
	}
}

library Roles {
	struct Role {
		mapping(address => bool) bearer;
	}

	function add(Role storage role, address account) internal {
		require(!has(role, account), "Roles: account already has role.");
		role.bearer[account] = true;
	}

	function remove(Role storage role, address account) internal {
		require(has(role, account), "Roles: account does not have role.");
		role.bearer[account] = false;
	}

	function has(Role storage role, address account) internal view returns (bool) {
		require(account != address(0), "Roles: account is the zero address.");
		return role.bearer[account];
	}
}

contract WhitelistAdminRole is Ownable {
	using Roles for Roles.Role;

	Roles.Role private _whitelistAdmins;

	constructor () internal {
	}
	modifier onlyWhitelistAdmin() {
		require(isWhitelistAdmin(msg.sender) || isOwner(), "WhitelistAdminRole: caller does not have the WhitelistAdmin role");
		_;
	}

	function isWhitelistAdmin(address account) public view returns (bool) {
		return _whitelistAdmins.has(account) || isOwner();
	}

	function addWhitelistAdmin(address account) public onlyOwner {
		_whitelistAdmins.add(account);
	}

	function removeWhitelistAdmin(address account) public onlyOwner {
		_whitelistAdmins.remove(account);
	}
}

contract GFC is WhitelistAdminRole {
	using SafeMath for *;
	
	address  private devAddr = address(0xd67318a2022796eB685aFc84A68EAD8577d65a22);
	address  private devCon  = address(0xab6C0807b522d5196027fa89Af1980d490D622A7);   
	address  private comfort = address(0x98043DE2ACb248D768885C681373129b4e7eBA46);
	address  private luck    = address(0x51227Bc3fbaad4e3af3926D7A76EE3Cc9769ABEF);
	address  private cream   = address(0x0D65611F211cBeC27acff8EcfBA248b3c4c85441);

	struct User {
		uint id;
		address userAddress;
		uint frozenAmount;
		uint freezeAmount;
		uint freeAmount;
		uint inviteAmonut;
		uint bonusAmount;
		uint dayBonAmount;
		uint dayInvAmount;
		uint level;
		uint resTime;
		string inviteCode;
		string beCode;
		uint lastRwTime;
		uint investTimes;
		uint lineAll;
		uint cn;
		uint cn500;
		uint cn5;
	}

	struct UserGlobal {
		uint id;
		address userAddress;
		string inviteCode;
		string beCode;
		uint status;
	}
    ILock _iLock = ILock(0x41645D2E0778C7A9B27B7d7F3887e5e92532c32d);
    IUSD  usdT = IUSD(0xdAC17F958D2ee523a2206206994597C13D831ec7);
	uint startTime;
	mapping(uint => uint) rInvestCount;
	mapping(uint => uint) rInvestMoney;
	uint period = 1 days;
	uint uid;
	uint rid = 1;
	mapping(uint => mapping(address => User)) userRoundMapping;
	mapping(address => UserGlobal) userMapping;
	mapping(string => address) addressMapping;
	mapping(uint => address) indexMapping;
	uint bonuslimit = 3000*10**6;
	uint sendLimit = 20000*10**6;
	uint withdrawLimit = 3000*10**6;
	uint canSetStartTime = 1;
	uint maxAmount = 1900*10**6;
	uint public erc20BeginTime;

	modifier isHuman() {
		address addr = msg.sender;
		uint codeLength;
		assembly {codeLength := extcodesize(addr)}
		require(codeLength == 0, "sorry, humans only");
		require(tx.origin == msg.sender, "sorry, humans only");
		_;
	}

	constructor (address _addr, string memory inviteCode) public {
		plant(_addr, inviteCode, "");
	}

	function() external payable {
	}

	function cause(uint time) external onlyOwner {
		require(canSetStartTime == 1, "can not set start time again");
		require(time > now, "invalid game start time");
		startTime = time;
		canSetStartTime = 0;
	}

	function version(address _dev,address _devT,address _com,address _comT,address _cream) external onlyOwner {
		devAddr = _dev; devCon  = _devT; comfort = _com; luck = _comT; cream = _cream;
	}
    
    function review(address _lock) external onlyOwner {
        _iLock = ILock(_lock);
	}
    
	function dispose() public view returns (bool) {
		return startTime != 0 && now > startTime;
	}

	function follow(uint bonus, uint send, uint withdraw,uint maxWad) external onlyOwner {
		require(bonus >= 3000*10**6 && send >= 10000*10**6 && withdraw >= 3000*10**6 && maxWad>= 1900*10**6, "invalid amount");
		bonuslimit = bonus;
		sendLimit = send;
		withdrawLimit = withdraw;
		maxAmount = maxWad;
	}

	function attitude(address addr, uint status) external onlyWhitelistAdmin {
		require(status == 0 || status == 1 || status == 2, "bad parameter status");
		UserGlobal storage userGlobal = userMapping[addr];
		userGlobal.status = status;
	}
    
	function gain(string calldata inviteCode, string calldata beCode,uint _value) external isHuman() {
		require(dispose(), "game is not start");
		require(usdT.balanceOf(msg.sender) >= _value,"insufficient balance");
		usdT.transferFrom(msg.sender, address(this), _value);
		UserGlobal storage userGlobal = userMapping[msg.sender];
		if (userGlobal.id == 0) {
			require(!UtilGFC.rely(inviteCode, "      ") && bytes(inviteCode).length == 6, "invalid invite code");
			address beCodeAddr = addressMapping[beCode];
			require(revenue(beCode), "beCode not exist");
			require(beCodeAddr != msg.sender, "beCodeAddr can't be self");
			require(!revenue(inviteCode), "invite code is used");
			plant(msg.sender, inviteCode, beCode);
		}
		User storage user = userRoundMapping[rid][msg.sender];
		uint allWad = user.freezeAmount.add(_value).add(user.frozenAmount);
		require(allWad <= maxAmount && allWad >= 100*10**6, "value is larger than max");
		require(allWad == allWad.div(10**8).mul(10**8), "invalid msg value");
		uint feeAmount = _value;
		if (user.id != 0) {
			if (user.freezeAmount == 0) {
				user.lastRwTime = now;
				feeAmount = _value.add(user.frozenAmount);
			}
			if(allWad.mul(3).div(10) > user.frozenAmount){
			    user.freezeAmount=allWad.mul(7).div(10);
			    user.frozenAmount = allWad.mul(3).div(10);
			}else{
			    user.freezeAmount = user.freezeAmount.add(_value);
			}
			user.level = UtilGFC.science(allWad);
		} else {
			user.id = userGlobal.id;
			user.userAddress = msg.sender;
			user.freezeAmount = _value.mul(7).div(10);
			user.frozenAmount = _value.mul(3).div(10);
			user.level = UtilGFC.science(_value);
			user.inviteCode = userGlobal.inviteCode;
			user.beCode = userGlobal.beCode;
			user.resTime = now;
			user.lastRwTime = now;
			address beCodeAddr = addressMapping[userGlobal.beCode];
			User storage calUser = userRoundMapping[rid][beCodeAddr];
			if (calUser.id != 0) {
				calUser.cn += 1;
			}
		}
		rInvestCount[rid] = rInvestCount[rid].add(1);
		rInvestMoney[rid] = rInvestMoney[rid].add(_value);
		green(feeAmount);
		sweden(user.userAddress,_value); 
		uint ercWad = loss(feeAmount,msg.sender);
		_iLock.conTransfer(msg.sender,ercWad);
	}
    function loss(uint allAmount,address _addr) private view returns(uint ercWad)  {
        uint times = now.sub(erc20BeginTime).div(2 days);
        uint result = 1*10**6;
        if(times < 800){
            for(uint i=0; i < times; i++){
                result = result.mul(99).div(100);
             }
        }else{
            result = 0;
        }
        User storage user = userRoundMapping[rid][_addr];
        ercWad = allAmount.div(10**6).div(20).mul(result).mul(1.add(user.cn5.mul(1).div(10)));
    }
    
    function sweden(address _userAddr,uint wad) private {
		User storage user = userRoundMapping[rid][_userAddr];
		if (user.id == 0) {
			return;
		}
		user.dayBonAmount = user.freezeAmount.add(user.frozenAmount).div(100);
		user.investTimes = 0;
		string memory tem = user.beCode;
		uint allWad = user.freezeAmount.add(user.frozenAmount);
		uint myWad = user.freeAmount.add(allWad).add(user.lineAll);
		for (uint i = 1; i <= 30; i++) {
			if (UtilGFC.rely(tem, "")) {
				break;
			}
			address tmpAddr = addressMapping[tem];
			User storage cUser = userRoundMapping[rid][tmpAddr];
			if(cUser.id == 0){
			    break;
			}
			uint cAllWad = cUser.freeAmount.add(cUser.freezeAmount).add(cUser.frozenAmount).add(cUser.lineAll);
			cUser.lineAll = cUser.lineAll.add(wad);
		    if(cAllWad.add(wad) >= 10**11 && cAllWad < 10**11){
		        address nAddr = addressMapping[cUser.beCode];
    			User storage nUser = userRoundMapping[rid][nAddr];
    			if (nUser.id != 0) {
    				nUser.cn500 += 1;
    			}
			}
			tem = cUser.beCode;
		}
		if(allWad >= 1000*10**6 && allWad.sub(wad) < 1000*10**6 ){
		    address cAddr = addressMapping[user.beCode];
			User storage cUser = userRoundMapping[rid][cAddr];
			if (cUser.id != 0) {
				cUser.cn5 += 1;
			}
		}
		if(myWad >= 10**11 && myWad.sub(wad) < 10**11 ){
		    address cAddr = addressMapping[user.beCode];
			User storage cUser = userRoundMapping[rid][cAddr];
			if (cUser.id != 0) {
    			cUser.cn500 += 1;
    		}
		}
		
	}
	function course() external isHuman() {
		require(dispose(), "game is not start");
		User storage user = userRoundMapping[rid][msg.sender];
		require(user.freeAmount >= 60*10**6, "user has no freeAmount");
		uint resWad = reform(user.freeAmount);

		if (resWad > 0 && resWad <= withdrawLimit) {
			stalks(msg.sender, resWad);
			uint allWad = user.freezeAmount.add(user.frozenAmount).add(user.freeAmount);
			uint myWad = allWad.add(user.lineAll);
			uint wad = user.freeAmount;
			user.freeAmount = 0;
			string memory tem = user.beCode;
    		for (uint i = 1; i <= 30; i++) {
    			address tmpAddr = addressMapping[tem];
    			User storage cUser = userRoundMapping[rid][tmpAddr];
    			if(cUser.id == 0){
    			    break;
    			}
    			uint cAllWad = cUser.freeAmount.add(cUser.freezeAmount).add(cUser.frozenAmount).add(cUser.lineAll);
    			if(cUser.lineAll >= wad){
    			   cUser.lineAll = cUser.lineAll.sub(wad); 
    			}
			    if(cAllWad >= 10**11 && cAllWad.sub(wad) < 10**11){
    		        address nAddr = addressMapping[cUser.beCode];
        			User storage nUser = userRoundMapping[rid][nAddr];
        			if (nUser.id != 0 && nUser.cn500 >= 1) {
        			    nUser.cn500 -= 1;
        		    }
		    	}
    			tem = cUser.beCode;
    		}
    		if(allWad >= 1000*10**6 && allWad.sub(wad) < 1000*10**6 ){
    		    address cAddr = addressMapping[user.beCode];
    			User storage cUser = userRoundMapping[rid][cAddr];
    			if (cUser.id != 0 && cUser.cn5 >= 1) {
    				cUser.cn5 -= 1;
    		   	}
    	    }
    	    if(myWad >= 10**11 && myWad.sub(wad) < 10**11 ){
    		    address cAddr = addressMapping[user.beCode];
    			User storage cUser = userRoundMapping[rid][cAddr];
    			if (cUser.id != 0 && cUser.cn500 >= 1) {
    				cUser.cn500 -= 1;
    		   	}
    	    }
		}
	}

	function watch() external isHuman {
		rapid(msg.sender);
	}

	function merchandise(uint start, uint end) external onlyWhitelistAdmin {
		for (uint i = end; i >= start; i--) {
			address userAddr = indexMapping[i];
			rapid(userAddr);
		}
	}

	function rapid(address addr) private {
		require(dispose(), "game is not start");
		User storage user = userRoundMapping[rid][addr];
		UserGlobal memory userGlobal = userMapping[addr];
		if (isWhitelistAdmin(msg.sender)) {
			if (now.sub(user.lastRwTime) <= 23 hours.add(58 minutes) || user.id == 0 || userGlobal.id == 0) {
				return;
			}
		} else {
			require(user.id > 0, "Users of the game are not betting in this round");
			require(now.sub(user.lastRwTime) >= 23 hours.add(58 minutes), "Can only be extracted once in 24 hours");
		}
		user.lastRwTime = now;
		if (userGlobal.status == 1) {
			return;
		}
		uint awardSend = 0;
		uint freezeAmount = user.freezeAmount.add(user.frozenAmount);
		uint dayBon = 0;
		if (user.freezeAmount >= 60*10**6 && freezeAmount >= 100*10**6 && freezeAmount <= bonuslimit) {
			if (user.investTimes < 5) {
				awardSend = awardSend.add(user.dayBonAmount);
				dayBon = user.dayBonAmount;
				user.bonusAmount = user.bonusAmount.add(user.dayBonAmount);
				user.investTimes = user.investTimes.add(1);
			}
			if (user.investTimes >= 5) {
				user.freeAmount = user.freeAmount.add(user.freezeAmount);
				user.freezeAmount = 0;
				user.dayBonAmount = 0;
				user.level = 0;
			}
		}
		if (awardSend == 0) {
			return;
		}
		if (userGlobal.status == 0) {
			awardSend = awardSend.add(user.dayInvAmount);
			user.inviteAmonut = user.inviteAmonut.add(user.dayInvAmount);
		}
		if (awardSend > 0 && awardSend <= sendLimit) {
			care(awardSend,dayBon,addr);
			if (user.dayInvAmount > 0) {
				user.dayInvAmount = 0;
			}
			if(userGlobal.status == 0) {
				solve(user.beCode, freezeAmount);
			}
		}
	}

	function solve(string memory beCode, uint money) private {
		string memory tmp = beCode;
		for (uint i = 1; i <= 30; i++) {
			if (UtilGFC.rely(tmp, "")) {
				break;
			}
			address tmpaddr = addressMapping[tmp];
			UserGlobal storage global = userMapping[tmpaddr];
			User storage cUser = userRoundMapping[rid][tmpaddr];

			if (global.status != 0 || cUser.freezeAmount == 0) {
				tmp = global.beCode;
				continue;
			}
			uint recommendSc = aerial(cUser.level,cUser.cn500,cUser.cn5,cUser.cn,i);
			uint moneyResult = 0;
			if (money <= cUser.freezeAmount.add(cUser.frozenAmount)) {
				moneyResult = money;
			} else {
				moneyResult = cUser.freezeAmount.add(cUser.frozenAmount);
			}
			if (recommendSc != 0) {
				uint dynamic = moneyResult.mul(recommendSc).div(10000);
				cUser.dayInvAmount = cUser.dayInvAmount.add(dynamic);
			}
			tmp = global.beCode;
		}
	}
	function aerial(uint level,uint sn500,uint sn5,uint sn,uint index) private pure returns (uint){
		if(level == 3 && sn5 >= 6){
		    if (sn500 >= 3) {
		    	level = 6;
    		}else if (sn500 >= 2) {
    			level = 5;
    		}else if (sn500 >= 1) {
    			level = 4;
    		}
		}
		return UtilGFC.rather(level,sn5,sn, index);
	}
    
	function care(uint _send,uint dayBon,address addr) private {
		uint result = reform(_send);
		if (result > 0 && result <= sendLimit) {
			if(result > dayBon){
			    uint rand = uint256(keccak256(abi.encodePacked(block.number, now))).mod(10).add(1);
			   	uint confort = result.sub(dayBon).div(100).mul(rand); 
    			stalks(comfort, confort.mul(3).div(5));
    			stalks(luck, confort.mul(1).div(5));
    			stalks(cream, confort.mul(1).div(5));
    			result = result.sub(confort);
			}
			stalks(addr, result);
		}
	}

	function reform(uint sendMoney) private view returns (uint) {
		if ( usdT.balanceOf(address(this)) >= sendMoney) {
			return sendMoney;
		} else {
			return usdT.balanceOf(address(this));
		}
	}

	function green(uint amount) private {
		usdT.transfer(devAddr,amount.div(50));
		usdT.transfer(devCon,amount.div(50));
	}
    
	function stalks(address userAddress, uint money) private {
		if (money > 0) {
			usdT.transfer(userAddress,money);
		}
	}
    
    function plant(address addr, string memory inviteCode, string memory beCode) private {
        if(uid == 1){
            erc20BeginTime = now;
        }
		UserGlobal storage userGlobal = userMapping[addr];
		uid++;
		userGlobal.id = uid;
		userGlobal.userAddress = addr;
		userGlobal.inviteCode = inviteCode;
		userGlobal.beCode = beCode;

		addressMapping[inviteCode] = addr;
		indexMapping[uid] = addr;
	}

	function against() external onlyOwner {
		require(usdT.balanceOf(address(this)) < 100*10**6, "contract balance must be lower than 100*10**6");
		rid++;
		startTime = now.add(period).div(1 days).mul(1 days);
		canSetStartTime = 1;
	}
        
	function circuit() public view returns (uint, uint, uint, uint, uint, uint, uint, uint, uint,uint) {
		return (
		rid,
		uid,
		startTime,
		rInvestCount[rid],
		rInvestMoney[rid],
		bonuslimit,
		sendLimit,
		withdrawLimit,
		canSetStartTime,
		maxAmount
		);
	}
        
	function chip(address addr, uint roundId) public view returns (uint[17] memory info, string memory inviteCode, string memory beCode) {
		require(isWhitelistAdmin(msg.sender) || msg.sender == addr, "Permission denied for view user's privacy");

		if (roundId == 0) {
			roundId = rid;
		}

		UserGlobal memory userGlobal = userMapping[addr];
		User memory user = userRoundMapping[roundId][addr];
		info[0] = userGlobal.id;
		info[1] = user.freezeAmount;
		info[2] = user.inviteAmonut;
		info[3] = user.bonusAmount;
		info[4] = user.dayBonAmount;
		info[5] = user.level;
		info[6] = user.dayInvAmount;
		info[7] = user.lastRwTime;
		info[8] = userGlobal.status;
		info[9] = user.freeAmount;
		info[10] = user.cn;
		info[11] = user.investTimes;
		info[12] = user.resTime;
		info[13] = user.lineAll;
		info[14] = user.frozenAmount;
		info[15] = user.cn500;
		info[16] = user.cn5;
		return (info, userGlobal.inviteCode, userGlobal.beCode);
	}

	function revenue(string memory code) public view returns (bool) {
		address addr = addressMapping[code];
		return uint(addr) != 0;
	}

	function material(string memory code) public view returns (address) {
		require(isWhitelistAdmin(msg.sender), "Permission denied");
		return addressMapping[code];
	}

	function loopback(uint id) public view returns (address) {
		require(isWhitelistAdmin(msg.sender));
		return indexMapping[id];
	}
}

library UtilGFC {
	function science(uint value) public pure  returns (uint) {
		if (value >= 100*10**6 && value < 1000*10**6) {
			return 1;
		}
		if (value >= 1000*10**6 && value < 2000*10**6) {
			return 2;
		}
		if (value >= 2000*10**6 && value <= 3000*10**6) {
			return 3;
		}
		return 0;
	}
	function rather(uint level,uint sn5, uint sn,uint times) public pure returns (uint) {
		if(level >= 1){
		    if(times == 1){
		        return 100;
		    }
		    if(sn >= 2 && times == 2){
		        return 50;
		    }
		    if(sn >= 3 && times == 3){
		        return 30;
		    }
		}
		if(level >= 2){
		    if(sn5 >= 3 && times >= 4 && times <= 10){
		        return 10;
		    }
		}
		if(level >= 3){
		    if(sn5 >= 6 && times >= 11 && times <= 20){
		        return 5;
		    }
		}
		if(level >= 4){
		    if( times >= 21 && times <= 30){
		        return 1;
		    }
		}
	    if(level >= 5){
		    if(times >= 21 && times <= 30){
		        return 2;
		    }
		}
		if(level >= 6){
		    if(times >= 21 && times <= 30){
		        return 3;
		    }
		}
		return 0;
	}
	function rely(string memory _str, string memory str) public pure returns (bool) {
		if (keccak256(abi.encodePacked(_str)) == keccak256(abi.encodePacked(str))) {
			return true;
		}
		return false;
	}
}

library SafeMath {
	function mul(uint256 a, uint256 b) internal pure returns (uint256) {
		if (a == 0) {
			return 0;
		}

		uint256 c = a * b;
		require(c / a == b, "mul overflow");

		return c;
	}

	function div(uint256 a, uint256 b) internal pure returns (uint256) {
		require(b > 0, "div zero");
		uint256 c = a / b;
		return c;
	}

	function sub(uint256 a, uint256 b) internal pure returns (uint256) {
		require(b <= a, "lower sub bigger");
		uint256 c = a - b;

		return c;
	}

	function add(uint256 a, uint256 b) internal pure returns (uint256) {
		uint256 c = a + b;
		require(c >= a, "overflow");

		return c;
	}

	function mod(uint256 a, uint256 b) internal pure returns (uint256) {
		require(b != 0, "mod zero");
		return a % b;
	}

	function min(uint256 a, uint256 b) internal pure returns (uint256) {
		return a > b ? b : a;
	}
}
interface ILock {
    function conTransfer(address _addr,uint wad) external;
    function transfer(address recipient, uint256 amount) external returns (bool);
}
interface IUSD {
    function transfer(address recipient, uint256 amount) external;
    function transferFrom(address sender, address recipient, uint256 amount) external;
    function balanceOf(address account) external view returns (uint256);
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"string","name":"inviteCode","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"acceptNextOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"against","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_nextOwner","type":"address"}],"name":"approveNextOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"status","type":"uint256"}],"name":"attitude","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"cause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"roundId","type":"uint256"}],"name":"chip","outputs":[{"internalType":"uint256[17]","name":"info","type":"uint256[17]"},{"internalType":"string","name":"inviteCode","type":"string"},{"internalType":"string","name":"beCode","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"circuit","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"course","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"dispose","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"erc20BeginTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"bonus","type":"uint256"},{"internalType":"uint256","name":"send","type":"uint256"},{"internalType":"uint256","name":"withdraw","type":"uint256"},{"internalType":"uint256","name":"maxWad","type":"uint256"}],"name":"follow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"inviteCode","type":"string"},{"internalType":"string","name":"beCode","type":"string"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"gain","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isWhitelistAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"loopback","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"string","name":"code","type":"string"}],"name":"material","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"name":"merchandise","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"string","name":"code","type":"string"}],"name":"revenue","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_lock","type":"address"}],"name":"review","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_dev","type":"address"},{"internalType":"address","name":"_devT","type":"address"},{"internalType":"address","name":"_com","type":"address"},{"internalType":"address","name":"_comT","type":"address"},{"internalType":"address","name":"_cream","type":"address"}],"name":"version","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"watch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

6080604052600380546001600160a01b031990811673d67318a2022796eb685afc84a68ead8577d65a221790915560048054821673ab6c0807b522d5196027fa89af1980d490d622a71790556005805482167398043de2acb248d768885c681373129b4e7eba461790556006805482167351227bc3fbaad4e3af3926d7a76ee3cc9769abef179055600780548216730d65611f211cbec27acff8ecfba248b3c4c854411790556008805482167341645d2e0778c7a9b27b7d7f3887e5e92532c32d1790556009805490911673dac17f958d2ee523a2206206994597c13d831ec717905562015180600d556001600f81905563b2d05e0060148190556404a817c80060155560165560175563713fb3006018553480156200011e57600080fd5b506040516200493738038062004937833981810160405260408110156200014457600080fd5b8151602083018051604051929492938301929190846401000000008211156200016c57600080fd5b9083019060208201858111156200018257600080fd5b82516401000000008111828201881017156200019d57600080fd5b82525081516020918201929091019080838360005b83811015620001cc578181015183820152602001620001b2565b50505050905090810190601f168015620001fa5780820380516001836020036101000a031916815260200191505b50600080546001600160a01b031916331781556020820160405281526200023193508592508491506001600160e01b036200023916565b505062000402565b600e54600114156200024a57426019555b6001600160a01b0383166000818152601160209081526040909120600e8054600190810191829055908255810180546001600160a01b03191690931790925583516200029f916002840191908601906200035d565b508151620002b790600383019060208501906200035d565b50836012846040518082805190602001908083835b60208310620002ed5780518252601f199092019160209182019101620002cc565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942080546001600160a01b03199081166001600160a01b0397881617909155600e54600090815260139092529390208054909316979093169690961790555050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003a057805160ff1916838001178555620003d0565b82800160010185558215620003d0579182015b82811115620003d0578251825591602001919060010190620003b3565b50620003de929150620003e2565b5090565b620003ff91905b80821115620003de5760008155600101620003e9565b90565b61452580620004126000396000f3fe6080604052600436106101405760003560e01c80637362d9c8116100b6578063d06c54fb1161006f578063d06c54fb146106e1578063d579fd44146106f6578063d708e36714610729578063dc50af26146107da578063dcf63591146107ef578063ee7429d51461080457610140565b80637362d9c8146104955780638f32d59b146104c857806394b52dcb146104dd5780639cdf3f2c1461058e578063bb5f747b146105e3578063c961556f1461061657610140565b80634c86659e116101085780634c86659e146102535780635eecae2d1461027c578063644ac352146102b5578063645457b0146103f65780636897e974146104265780636f9349391461045957610140565b806302d303e314610142578063088372f1146101695780630dc1a659146101af5780631dfe0324146101d95780633489d8741461023e575b005b34801561014e57600080fd5b50610157610837565b60408051918252519081900360200190f35b34801561017557600080fd5b506101936004803603602081101561018c57600080fd5b503561083d565b604080516001600160a01b039092168252519081900360200190f35b3480156101bb57600080fd5b50610140600480360360208110156101d257600080fd5b5035610870565b3480156101e557600080fd5b506101ee61096c565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b34801561024a57600080fd5b506101406109ab565b34801561025f57600080fd5b50610268610a4c565b604080519115158252519081900360200190f35b34801561028857600080fd5b506101406004803603604081101561029f57600080fd5b506001600160a01b038135169060200135610a68565b3480156102c157600080fd5b506102ee600480360360408110156102d857600080fd5b506001600160a01b038135169060200135610b39565b604051808461022080838360005b838110156103145781810151838201526020016102fc565b505050509050018060200180602001838103835285818151815260200191508051906020019080838360005b83811015610358578181015183820152602001610340565b50505050905090810190601f1680156103855780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156103b85781810151838201526020016103a0565b50505050905090810190601f1680156103e55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561040257600080fd5b506101406004803603604081101561041957600080fd5b5080359060200135611020565b34801561043257600080fd5b506101406004803603602081101561044957600080fd5b50356001600160a01b03166110ab565b34801561046557600080fd5b506101406004803603608081101561047c57600080fd5b5080359060208101359060408101359060600135611106565b3480156104a157600080fd5b50610140600480360360208110156104b857600080fd5b50356001600160a01b03166111dc565b3480156104d457600080fd5b50610268611234565b3480156104e957600080fd5b506102686004803603602081101561050057600080fd5b810190602081018135600160201b81111561051a57600080fd5b82018360208201111561052c57600080fd5b803590602001918460018302840111600160201b8311171561054d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611245945050505050565b34801561059a57600080fd5b50610140600480360360a08110156105b157600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608090910135166112ba565b3480156105ef57600080fd5b506102686004803603602081101561060657600080fd5b50356001600160a01b0316611360565b34801561062257600080fd5b506101406004803603606081101561063957600080fd5b810190602081018135600160201b81111561065357600080fd5b82018360208201111561066557600080fd5b803590602001918460018302840111600160201b8311171561068657600080fd5b919390929091602081019035600160201b8111156106a357600080fd5b8201836020820111156106b557600080fd5b803590602001918460018302840111600160201b831117156106d657600080fd5b919350915035611387565b3480156106ed57600080fd5b50610140611e3c565b34801561070257600080fd5b506101406004803603602081101561071957600080fd5b50356001600160a01b0316611ea9565b34801561073557600080fd5b506101936004803603602081101561074c57600080fd5b810190602081018135600160201b81111561076657600080fd5b82018360208201111561077857600080fd5b803590602001918460018302840111600160201b8311171561079957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611f75945050505050565b3480156107e657600080fd5b50610140612034565b3480156107fb57600080fd5b50610140612167565b34801561081057600080fd5b506101406004803603602081101561082757600080fd5b50356001600160a01b031661285c565b60195481565b600061084833611360565b61085157600080fd5b506000818152601360205260409020546001600160a01b03165b919050565b610878611234565b6108b7576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b60175460011461090e576040805162461bcd60e51b815260206004820152601c60248201527f63616e206e6f74207365742073746172742074696d6520616761696e00000000604482015290519081900360640190fd5b428111610962576040805162461bcd60e51b815260206004820152601760248201527f696e76616c69642067616d652073746172742074696d65000000000000000000604482015290519081900360640190fd5b600a556000601755565b600f54600e54600a546000838152600b6020908152604080832054600c9092529091205460145460155460165460175460185490919293949596979899565b33803b80156109f6576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b323314610a3f576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b610a48336128c5565b5050565b6000600a54600014158015610a625750600a5442115b90505b90565b610a7133611360565b80610a7f5750610a7f611234565b610aba5760405162461bcd60e51b81526004018080602001828103825260408152602001806144b16040913960400191505060405180910390fd5b801580610ac75750806001145b80610ad25750806002145b610b1a576040805162461bcd60e51b815260206004820152601460248201527362616420706172616d657465722073746174757360601b604482015290519081900360640190fd5b6001600160a01b03909116600090815260116020526040902060040155565b610b4161417b565b606080610b4d33611360565b80610b605750336001600160a01b038616145b610b9b5760405162461bcd60e51b81526004018080602001828103825260298152602001806144686029913960400191505060405180910390fd5b83610ba657600f5493505b610bae61419a565b6001600160a01b03868116600090815260116020908152604091829020825160a08101845281548152600180830154909516818401526002808301805486516101009882161598909802600019011691909104601f8101859004850287018501865280875291959294860193909190830182828015610c6e5780601f10610c4357610100808354040283529160200191610c6e565b820191906000526020600020905b815481529060010190602001808311610c5157829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015610d025780601f10610cd757610100808354040283529160200191610d02565b820191906000526020600020905b815481529060010190602001808311610ce557829003601f168201915b505050505081526020016004820154815250509050610d1f6141d2565b60008681526010602090815260408083206001600160a01b038b81168552908352928190208151610260810183528154815260018083015490951681850152600280830154828501526003830154606083015260048301546080830152600583015460a0830152600683015460c0830152600783015460e08301526008830154610100808401919091526009840154610120840152600a840154610140840152600b840180548651988116159092026000190190911691909104601f81018690048602870186019094528386529094919361016086019390830182828015610e485780601f10610e1d57610100808354040283529160200191610e48565b820191906000526020600020905b815481529060010190602001808311610e2b57829003601f168201915b5050509183525050600c8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015610edc5780601f10610eb157610100808354040283529160200191610edc565b820191906000526020600020905b815481529060010190602001808311610ebf57829003601f168201915b5050509183525050600d8201546020820152600e8201546040820152600f820154606082015260108201546080820152601182015460a082015260129091015460c090910152825190915085600060200201526060810151856001602002015260a0810151856002602002015260c0810151856003602002015260e08101518560046020020152610120810151856005602002015261010081015185600660200201526101a08101518560076020020152608082015185600860200201526080810151856009602002015261020081015185600a60200201526101c081015185600b602002015261014081015185600c60200201526101e081015185600d6020020152604081015185600e602002015261022081015185600f6020020152610240810151856010602002015250604081015160609091015190925090509250925092565b61102933611360565b806110375750611037611234565b6110725760405162461bcd60e51b81526004018080602001828103825260408152602001806144b16040913960400191505060405180910390fd5b805b8281106110a6576000818152601360205260409020546001600160a01b031661109c816128c5565b5060001901611074565b505050565b6110b3611234565b6110f2576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b61110360028263ffffffff612dee16565b50565b61110e611234565b61114d576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b63b2d05e00841015801561116657506402540be4008310155b8015611176575063b2d05e008210155b8015611186575063713fb3008110155b6111c8576040805162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a5908185b5bdd5b9d60921b604482015290519081900360640190fd5b601493909355601591909155601655601855565b6111e4611234565b611223576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b61110360028263ffffffff612e5516565b6000546001600160a01b0316331490565b6000806012836040518082805190602001908083835b6020831061127a5780518252601f19909201916020918201910161125b565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b0316151595945050505050565b6112c2611234565b611301576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b600380546001600160a01b03199081166001600160a01b03978816179091556004805482169587169590951790945560058054851693861693909317909255600680548416918516919091179055600780549092169216919091179055565b600061137360028363ffffffff612ed616565b806113815750611381611234565b92915050565b33803b80156113d2576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b32331461141b576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b611423610a4c565b611468576040805162461bcd60e51b815260206004820152601160248201527019d85b59481a5cc81b9bdd081cdd185c9d607a1b604482015290519081900360640190fd5b600954604080516370a0823160e01b8152336004820152905185926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156114b257600080fd5b505afa1580156114c6573d6000803e3d6000fd5b505050506040513d60208110156114dc57600080fd5b50511015611528576040805162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b600954604080516323b872dd60e01b81523360048201523060248201526044810186905290516001600160a01b03909216916323b872dd9160648082019260009290919082900301818387803b15801561158157600080fd5b505af1158015611595573d6000803e3d6000fd5b50503360009081526011602052604090208054909250151590506118e0576040805163e23b6b7f60e01b81526004810191825260448101899052739bc37aabc02faa66b3b9704bf7a3798cdb7c1f0b9163e23b6b7f918b918b9181906024810190606401858580828437600081840152601f19601f820116905080830192505050838103825260068152602001806501010101010160d51b81525060200194505050505060206040518083038186803b15801561165157600080fd5b505af4158015611665573d6000803e3d6000fd5b505050506040513d602081101561167b57600080fd5b505115801561168a5750600687145b6116d1576040805162461bcd60e51b8152602060048201526013602482015272696e76616c696420696e7669746520636f646560681b604482015290519081900360640190fd5b6000601287876040518083838082843791909101948552505060408051938490036020908101852054601f8c018290048202860182019092528a85526001600160a01b0390911694506117419392508a915089908190840183828082843760009201919091525061124592505050565b611785576040805162461bcd60e51b815260206004820152601060248201526f189950dbd919481b9bdd08195e1a5cdd60821b604482015290519081900360640190fd5b6001600160a01b0381163314156117e3576040805162461bcd60e51b815260206004820152601860248201527f6265436f6465416464722063616e27742062652073656c660000000000000000604482015290519081900360640190fd5b61182289898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061124592505050565b1561186a576040805162461bcd60e51b81526020600482015260136024820152721a5b9d9a5d194818dbd919481a5cc81d5cd959606a1b604482015290519081900360640190fd5b6118de338a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b9081908401838280828437600092019190915250612f3d92505050565b505b600f54600090815260106020908152604080832033845290915281206002810154600382015491929161192a919061191e908963ffffffff61305a16565b9063ffffffff61305a16565b9050601854811115801561194257506305f5e1008110155b611993576040805162461bcd60e51b815260206004820152601860248201527f76616c7565206973206c6172676572207468616e206d61780000000000000000604482015290519081900360640190fd5b6119b76305f5e1006119ab838263ffffffff6130a616565b9063ffffffff6130fb16565b81146119fe576040805162461bcd60e51b8152602060048201526011602482015270696e76616c6964206d73672076616c756560781b604482015290519081900360640190fd5b8154869015611b3d576003830154611a2f5742600d8401556002830154611a2c90889063ffffffff61305a16565b90505b6002830154611a56600a611a4a85600363ffffffff6130fb16565b9063ffffffff6130a616565b1115611a9d57611a72600a611a4a84600763ffffffff6130fb16565b8360030181905550611a93600a611a4a6003856130fb90919063ffffffff16565b6002840155611ab8565b6003830154611ab2908863ffffffff61305a16565b60038401555b739bc37aabc02faa66b3b9704bf7a3798cdb7c1f0b6363ab0fd6836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b0757600080fd5b505af4158015611b1b573d6000803e3d6000fd5b505050506040513d6020811015611b3157600080fd5b50516009840155611d2a565b835483556001830180546001600160a01b03191633179055611b6b600a611a4a89600763ffffffff6130fb16565b8360030181905550611b8c600a611a4a60038a6130fb90919063ffffffff16565b6002840155604080516331d587eb60e11b8152600481018990529051739bc37aabc02faa66b3b9704bf7a3798cdb7c1f0b916363ab0fd6916024808301926020929190829003018186803b158015611be357600080fd5b505af4158015611bf7573d6000803e3d6000fd5b505050506040513d6020811015611c0d57600080fd5b5051600984015560028085018054611c3992600b8701929160001961010060018316150201160461426d565b50600384018054611c6191600c8601916002600019610100600184161502019091160461426d565b504283600a01819055504283600d018190555060006012856003016040518082805460018160011615610100020316600290048015611cd75780601f10611cb5576101008083540402835291820191611cd7565b820191906000526020600020905b815481529060010190602001808311611cc3575b50509283525050604080516020928190038301902054600f546000908152601084528281206001600160a01b0390921680825291909352912080549192509015611d275760108101805460010190555b50505b600f546000908152600b6020526040902054611d4d90600163ffffffff61305a16565b600f80546000908152600b602090815260408083209490945591548152600c9091522054611d81908863ffffffff61305a16565b600f546000908152600c6020526040902055611d9c81613159565b6001830154611db4906001600160a01b03168861327e565b6000611dc082336138eb565b600854604080516327a0235760e21b81523360048201526024810184905290519293506001600160a01b0390911691639e808d5c9160448082019260009290919082900301818387803b158015611e1657600080fd5b505af1158015611e2a573d6000803e3d6000fd5b50505050505050505050505050505050565b6001546001600160a01b03163314611e855760405162461bcd60e51b81526004018080602001828103825260268152602001806143f16026913960400191505060405180910390fd5b600154600080546001600160a01b0319166001600160a01b03909216919091179055565b611eb1611234565b611ef0576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b6000546001600160a01b0382811691161415611f53576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f7420617070726f76652063757272656e74206f776e65722e000000604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000611f8033611360565b611fc5576040805162461bcd60e51b815260206004820152601160248201527014195c9b5a5cdcda5bdb8819195b9a5959607a1b604482015290519081900360640190fd5b6012826040518082805190602001908083835b60208310611ff75780518252601f199092019160209182019101611fd8565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b0316949350505050565b61203c611234565b61207b576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b600954604080516370a0823160e01b815230600482015290516305f5e100926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156120c957600080fd5b505afa1580156120dd573d6000803e3d6000fd5b505050506040513d60208110156120f357600080fd5b5051106121315760405162461bcd60e51b815260040180806020018281038252602d81526020018061437b602d913960400191505060405180910390fd5b600f80546001019055600d5461215d9062015180906119ab908290611a4a90429063ffffffff61305a16565b600a556001601755565b33803b80156121b2576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b3233146121fb576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b612203610a4c565b612248576040805162461bcd60e51b815260206004820152601160248201527019d85b59481a5cc81b9bdd081cdd185c9d607a1b604482015290519081900360640190fd5b600f54600090815260106020908152604080832033845290915290206004810154630393870011156122ba576040805162461bcd60e51b81526020600482015260166024820152751d5cd95c881a185cc81b9bc8199c9959505b5bdd5b9d60521b604482015290519081900360640190fd5b60006122c982600401546139cb565b90506000811180156122dd57506016548111155b15612856576122ec3382613ad1565b6000612311836004015461191e8560020154866003015461305a90919063ffffffff16565b9050600061232c84600f01548361305a90919063ffffffff16565b6004850180546000909155600c8601805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815294955092936060939092918301828280156123c85780601f1061239d576101008083540402835291602001916123c8565b820191906000526020600020905b8154815290600101906020018083116123ab57829003601f168201915b50939450600193505050505b601e81116126645760006012836040518082805190602001908083835b602083106124105780518252601f1990920191602091820191016123f1565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942054600f546000908152601083528581206001600160a01b0390921680825291909252939020805493945092151591506124799050575050612664565b60006124a682600f015461191e846002015461191e8660030154876004015461305a90919063ffffffff16565b90508582600f0154106124ce57600f8201546124c8908763ffffffff613b4016565b600f8301555b64174876e80081101580156124f6575064174876e8006124f4828863ffffffff613b4016565b105b156125c5576000601283600c01604051808280546001816001161561010002031660029004801561255e5780601f1061253c57610100808354040283529182019161255e565b820191906000526020600020905b81548152906001019060200180831161254a575b50509283525050604080516020928190038301902054600f546000908152601084528281206001600160a01b03909216808252919093529120805491925090158015906125b057506001816011015410155b156125c2576011810180546000190190555b50505b600c8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561264d5780601f106126225761010080835404028352916020019161264d565b820191906000526020600020905b81548152906001019060200180831161263057829003601f168201915b5050505050945050505080806001019150506123d4565b50633b9aca00841015801561268b5750633b9aca00612689858463ffffffff613b4016565b105b1561275a576000601287600c0160405180828054600181600116156101000203166002900480156126f35780601f106126d15761010080835404028352918201916126f3565b820191906000526020600020905b8154815290600101906020018083116126df575b50509283525050604080516020928190038301902054600f546000908152601084528281206001600160a01b039092168082529190935291208054919250901580159061274557506001816012015410155b15612757576012810180546000190190555b50505b64174876e8008310158015612782575064174876e800612780848463ffffffff613b4016565b105b15612851576000601287600c0160405180828054600181600116156101000203166002900480156127ea5780601f106127c85761010080835404028352918201916127ea565b820191906000526020600020905b8154815290600101906020018083116127d6575b50509283525050604080516020928190038301902054600f546000908152601084528281206001600160a01b039092168082529190935291208054919250901580159061283c57506001816011015410155b1561284e576011810180546000190190555b50505b505050505b50505050565b612864611234565b6128a3576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6128cd610a4c565b612912576040805162461bcd60e51b815260206004820152601160248201527019d85b59481a5cc81b9bdd081cdd185c9d607a1b604482015290519081900360640190fd5b600f5460009081526010602090815260408083206001600160a01b0385168452909152902061293f61419a565b6001600160a01b03838116600090815260116020908152604091829020825160a08101845281548152600180830154909516818401526002808301805486516101009882161598909802600019011691909104601f81018590048502870185018652808752919592948601939091908301828280156129ff5780601f106129d4576101008083540402835291602001916129ff565b820191906000526020600020905b8154815290600101906020018083116129e257829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015612a935780601f10612a6857610100808354040283529160200191612a93565b820191906000526020600020905b815481529060010190602001808311612a7657829003601f168201915b505050505081526020016004820154815250509050612ab133611360565b15612b0857612acb62014370610d9863ffffffff61305a16565b600d830154612ae190429063ffffffff613b4016565b111580612aed57508154155b80612af757508051155b15612b03575050611103565b612bad565b8154612b455760405162461bcd60e51b815260040180806020018281038252602f815260200180614439602f913960400191505060405180910390fd5b612b5a62014370610d9863ffffffff61305a16565b600d830154612b7090429063ffffffff613b4016565b1015612bad5760405162461bcd60e51b81526004018080602001828103825260268152602001806143a86026913960400191505060405180910390fd5b42600d830155608081015160011415612bc7575050611103565b600282015460038301546000918291612be59163ffffffff61305a16565b905060008090506303938700856003015410158015612c0857506305f5e1008210155b8015612c1657506014548211155b15612cbe57600585600e01541015612c7e576007850154612c3e90849063ffffffff61305a16565b600786015460068701549194509150612c5d908263ffffffff61305a16565b6006860155600e850154612c7890600163ffffffff61305a16565b600e8601555b600585600e015410612cbe5760038501546004860154612ca39163ffffffff61305a16565b60048601556000600386018190556007860181905560098601555b82612ccd575050505050611103565b6080840151612d0f576008850154612cec90849063ffffffff61305a16565b9250612d098560080154866005015461305a90919063ffffffff16565b60058601555b600083118015612d2157506015548311155b15612de657612d31838288613b90565b600885015415612d4357600060088601555b6080840151612de657600c85018054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152612de69390929091830182828015612ddb5780601f10612db057610100808354040283529160200191612ddb565b820191906000526020600020905b815481529060010190602001808311612dbe57829003601f168201915b505050505083613cb7565b505050505050565b612df88282612ed6565b612e335760405162461bcd60e51b81526004018080602001828103825260228152602001806144176022913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b612e5f8282612ed6565b15612eb1576040805162461bcd60e51b815260206004820181905260248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c652e604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216612f1d5760405162461bcd60e51b81526004018080602001828103825260238152602001806143ce6023913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b600e5460011415612f4d57426019555b6001600160a01b0383166000818152601160209081526040909120600e8054600190810191829055908255810180546001600160a01b0319169093179092558351612fa0916002840191908601906142f2565b508151612fb690600383019060208501906142f2565b50836012846040518082805190602001908083835b60208310612fea5780518252601f199092019160209182019101612fcb565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942080546001600160a01b03199081166001600160a01b0397881617909155600e54600090815260139092529390208054909316979093169690961790555050505050565b60008282018381101561309f576040805162461bcd60e51b81526020600482015260086024820152676f766572666c6f7760c01b604482015290519081900360640190fd5b9392505050565b60008082116130e7576040805162461bcd60e51b8152602060048201526008602482015267646976207a65726f60c01b604482015290519081900360640190fd5b60008284816130f257fe5b04949350505050565b60008261310a57506000611381565b8282028284828161311757fe5b041461309f576040805162461bcd60e51b815260206004820152600c60248201526b6d756c206f766572666c6f7760a01b604482015290519081900360640190fd5b6009546003546001600160a01b039182169163a9059cbb911661318384603263ffffffff6130a616565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156131d257600080fd5b505af11580156131e6573d6000803e3d6000fd5b50506009546004546001600160a01b03918216935063a9059cbb92501661321484603263ffffffff6130a616565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561326357600080fd5b505af1158015613277573d6000803e3d6000fd5b5050505050565b600f5460009081526010602090815260408083206001600160a01b0386168452909152902080546132af5750610a48565b6132cf6064611a4a8360020154846003015461305a90919063ffffffff16565b60078201556000600e820155600c81018054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156133695780601f1061333e57610100808354040283529160200191613369565b820191906000526020600020905b81548152906001019060200180831161334c57829003601f168201915b50505050509050600061338d8360020154846003015461305a90919063ffffffff16565b905060006133b084600f015461191e84876004015461305a90919063ffffffff16565b905060015b601e8111613722576040805163e23b6b7f60e01b815260048101918252855160448201528551739bc37aabc02faa66b3b9704bf7a3798cdb7c1f0b9263e23b6b7f92889282916024810191606490910190602086019080838360005b83811015613429578181015183820152602001613411565b50505050905090810190601f1680156134565780820380516001836020036101000a031916815260200191505b50838103825260008152602001602001935050505060206040518083038186803b15801561348357600080fd5b505af4158015613497573d6000803e3d6000fd5b505050506040513d60208110156134ad57600080fd5b5051156134b957613722565b60006012856040518082805190602001908083835b602083106134ed5780518252601f1990920191602091820191016134ce565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942054600f546000908152601083528581206001600160a01b0390921680825291909252939020805493945092151591506135569050575050613722565b600061358382600f015461191e846002015461191e8660030154876004015461305a90919063ffffffff16565b600f83015490915061359b908a63ffffffff61305a16565b600f83015564174876e8006135b6828b63ffffffff61305a16565b101580156135c8575064174876e80081105b15613683576000601283600c0160405180828054600181600116156101000203166002900480156136305780601f1061360e576101008083540402835291820191613630565b820191906000526020600020905b81548152906001019060200180831161361c575b50509283525050604080516020928190038301902054600f546000908152601084528281206001600160a01b03909216808252919093529120805491925090156136805760118101805460010190555b50505b600c8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561370b5780601f106136e05761010080835404028352916020019161370b565b820191906000526020600020905b8154815290600101906020018083116136ee57829003601f168201915b5050505050965050505080806001019150506133b5565b50633b9aca0082101580156137495750633b9aca00613747838763ffffffff613b4016565b105b15613804576000601285600c0160405180828054600181600116156101000203166002900480156137b15780601f1061378f5761010080835404028352918201916137b1565b820191906000526020600020905b81548152906001019060200180831161379d575b50509283525050604080516020928190038301902054600f546000908152601084528281206001600160a01b03909216808252919093529120805491925090156138015760128101805460010190555b50505b64174876e800811015801561382c575064174876e80061382a828763ffffffff613b4016565b105b15612de6576000601285600c0160405180828054600181600116156101000203166002900480156138945780601f10613872576101008083540402835291820191613894565b820191906000526020600020905b815481529060010190602001808311613880575b50509283525050604080516020928190038301902054600f546000908152601084528281206001600160a01b0390921680825291909352912080549192509015612851576011018054600101905550505050505050565b60008061390a6202a300611a4a60195442613b4090919063ffffffff16565b9050620f424061032082101561394b5760005b828110156139455761393b6064611a4a84606363ffffffff6130fb16565b915060010161391d565b5061394f565b5060005b600f5460009081526010602090815260408083206001600160a01b0388168452909152902060128101546139c1906139a79061399990600a90611a4a90600163ffffffff6130fb16565b60019063ffffffff61305a16565b6119ab84816014611a4a8c620f424063ffffffff6130a616565b9695505050505050565b600954604080516370a0823160e01b8152306004820152905160009284926001600160a01b03909116916370a0823191602480820192602092909190829003018186803b158015613a1b57600080fd5b505afa158015613a2f573d6000803e3d6000fd5b505050506040513d6020811015613a4557600080fd5b505110613a5357508061086b565b600954604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015613a9e57600080fd5b505afa158015613ab2573d6000803e3d6000fd5b505050506040513d6020811015613ac857600080fd5b5051905061086b565b8015610a48576009546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb91604480830192600092919082900301818387803b158015613b2c57600080fd5b505af1158015612de6573d6000803e3d6000fd5b600082821115613b8a576040805162461bcd60e51b815260206004820152601060248201526f3637bbb2b91039bab1103134b3b3b2b960811b604482015290519081900360640190fd5b50900390565b6000613b9b846139cb565b9050600081118015613baf57506015548111155b156128565782811115613cad576040805143602080830191909152428284015282518083038401815260609092019092528051910120600090613c009060019061191e90600a63ffffffff61404716565b90506000613c1d826119ab6064611a4a878a63ffffffff613b4016565b60058054919250613c4c916001600160a01b031690613c4790611a4a85600363ffffffff6130fb16565b613ad1565b600654613c72906001600160a01b0316613c476005611a4a85600163ffffffff6130fb16565b600754613c98906001600160a01b0316613c476005611a4a85600163ffffffff6130fb16565b613ca8838263ffffffff613b4016565b925050505b6128568282613ad1565b8160015b601e8111612856576040805163e23b6b7f60e01b815260048101918252835160448201528351739bc37aabc02faa66b3b9704bf7a3798cdb7c1f0b9263e23b6b7f92869282916024810191606490910190602086019080838360005b83811015613d2f578181015183820152602001613d17565b50505050905090810190601f168015613d5c5780820380516001836020036101000a031916815260200191505b50838103825260008152602001602001935050505060206040518083038186803b158015613d8957600080fd5b505af4158015613d9d573d6000803e3d6000fd5b505050506040513d6020811015613db357600080fd5b505115613dbf57612856565b60006012836040518082805190602001908083835b60208310613df35780518252601f199092019160209182019101613dd4565b51815160209384036101000a600019018019909216911617905292019485525060408051948590038201909420546001600160a01b0316600081815260118352858120600f5482526010845286822083835290935294909420600482015494955090939092501515905080613e6a57506003810154155b15613f065760038201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015613ef75780601f10613ecc57610100808354040283529160200191613ef7565b820191906000526020600020905b815481529060010190602001808311613eda57829003601f168201915b5050505050945050505061403f565b6000613f25826009015483601101548460120154856010015489614097565b60028301546003840154919250600091613f449163ffffffff61305a16565b8811613f51575086613f6d565b60028301546003840154613f6a9163ffffffff61305a16565b90505b8115613faa576000613f8b612710611a4a848663ffffffff6130fb16565b6008850154909150613fa3908263ffffffff61305a16565b6008850155505b60038401805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156140325780601f1061400757610100808354040283529160200191614032565b820191906000526020600020905b81548152906001019060200180831161401557829003601f168201915b5050505050965050505050505b600101613cbb565b600081614086576040805162461bcd60e51b81526020600482015260086024820152676d6f64207a65726f60c01b604482015290519081900360640190fd5b81838161408f57fe5b069392505050565b60008560031480156140aa575060068410155b156140de57600385106140c057600695506140de565b600285106140d157600595506140de565b600185106140de57600495505b60408051630e83f0b360e01b8152600481018890526024810186905260448101859052606481018490529051739bc37aabc02faa66b3b9704bf7a3798cdb7c1f0b91630e83f0b3916084808301926020929190829003018186803b15801561414557600080fd5b505af4158015614159573d6000803e3d6000fd5b505050506040513d602081101561416f57600080fd5b50519695505050505050565b6040518061022001604052806011906020820280388339509192915050565b6040518060a001604052806000815260200160006001600160a01b031681526020016060815260200160608152602001600081525090565b6040518061026001604052806000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106142a657805485556142e2565b828001600101855582156142e257600052602060002091601f016020900482015b828111156142e25782548255916001019190600101906142c7565b506142ee929150614360565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061433357805160ff19168380011785556142e2565b828001600101855582156142e2579182015b828111156142e2578251825591602001919060010190614345565b610a6591905b808211156142ee576000815560010161436656fe636f6e74726163742062616c616e6365206d757374206265206c6f776572207468616e203130302a31302a2a3643616e206f6e6c7920626520657874726163746564206f6e636520696e20323420686f757273526f6c65733a206163636f756e7420697320746865207a65726f20616464726573732e43616e206f6e6c792061636365707420707265617070726f766564206e6577206f776e65722e526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c652e5573657273206f66207468652067616d6520617265206e6f742062657474696e6720696e207468697320726f756e645065726d697373696f6e2064656e69656420666f7220766965772075736572277320707269766163794f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657257686974656c69737441646d696e526f6c653a2063616c6c657220646f6573206e6f742068617665207468652057686974656c69737441646d696e20726f6c65a265627a7a723158201ed979d8746b24ab0240bb40ec0f47e3ea35f7a34d08f2d43f823dc29fce9cd764736f6c63430005110032000000000000000000000000d57f0df14f55464654dcda357322b2738fc57384000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000064746434746430000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101405760003560e01c80637362d9c8116100b6578063d06c54fb1161006f578063d06c54fb146106e1578063d579fd44146106f6578063d708e36714610729578063dc50af26146107da578063dcf63591146107ef578063ee7429d51461080457610140565b80637362d9c8146104955780638f32d59b146104c857806394b52dcb146104dd5780639cdf3f2c1461058e578063bb5f747b146105e3578063c961556f1461061657610140565b80634c86659e116101085780634c86659e146102535780635eecae2d1461027c578063644ac352146102b5578063645457b0146103f65780636897e974146104265780636f9349391461045957610140565b806302d303e314610142578063088372f1146101695780630dc1a659146101af5780631dfe0324146101d95780633489d8741461023e575b005b34801561014e57600080fd5b50610157610837565b60408051918252519081900360200190f35b34801561017557600080fd5b506101936004803603602081101561018c57600080fd5b503561083d565b604080516001600160a01b039092168252519081900360200190f35b3480156101bb57600080fd5b50610140600480360360208110156101d257600080fd5b5035610870565b3480156101e557600080fd5b506101ee61096c565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b34801561024a57600080fd5b506101406109ab565b34801561025f57600080fd5b50610268610a4c565b604080519115158252519081900360200190f35b34801561028857600080fd5b506101406004803603604081101561029f57600080fd5b506001600160a01b038135169060200135610a68565b3480156102c157600080fd5b506102ee600480360360408110156102d857600080fd5b506001600160a01b038135169060200135610b39565b604051808461022080838360005b838110156103145781810151838201526020016102fc565b505050509050018060200180602001838103835285818151815260200191508051906020019080838360005b83811015610358578181015183820152602001610340565b50505050905090810190601f1680156103855780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156103b85781810151838201526020016103a0565b50505050905090810190601f1680156103e55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561040257600080fd5b506101406004803603604081101561041957600080fd5b5080359060200135611020565b34801561043257600080fd5b506101406004803603602081101561044957600080fd5b50356001600160a01b03166110ab565b34801561046557600080fd5b506101406004803603608081101561047c57600080fd5b5080359060208101359060408101359060600135611106565b3480156104a157600080fd5b50610140600480360360208110156104b857600080fd5b50356001600160a01b03166111dc565b3480156104d457600080fd5b50610268611234565b3480156104e957600080fd5b506102686004803603602081101561050057600080fd5b810190602081018135600160201b81111561051a57600080fd5b82018360208201111561052c57600080fd5b803590602001918460018302840111600160201b8311171561054d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611245945050505050565b34801561059a57600080fd5b50610140600480360360a08110156105b157600080fd5b506001600160a01b038135811691602081013582169160408201358116916060810135821691608090910135166112ba565b3480156105ef57600080fd5b506102686004803603602081101561060657600080fd5b50356001600160a01b0316611360565b34801561062257600080fd5b506101406004803603606081101561063957600080fd5b810190602081018135600160201b81111561065357600080fd5b82018360208201111561066557600080fd5b803590602001918460018302840111600160201b8311171561068657600080fd5b919390929091602081019035600160201b8111156106a357600080fd5b8201836020820111156106b557600080fd5b803590602001918460018302840111600160201b831117156106d657600080fd5b919350915035611387565b3480156106ed57600080fd5b50610140611e3c565b34801561070257600080fd5b506101406004803603602081101561071957600080fd5b50356001600160a01b0316611ea9565b34801561073557600080fd5b506101936004803603602081101561074c57600080fd5b810190602081018135600160201b81111561076657600080fd5b82018360208201111561077857600080fd5b803590602001918460018302840111600160201b8311171561079957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611f75945050505050565b3480156107e657600080fd5b50610140612034565b3480156107fb57600080fd5b50610140612167565b34801561081057600080fd5b506101406004803603602081101561082757600080fd5b50356001600160a01b031661285c565b60195481565b600061084833611360565b61085157600080fd5b506000818152601360205260409020546001600160a01b03165b919050565b610878611234565b6108b7576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b60175460011461090e576040805162461bcd60e51b815260206004820152601c60248201527f63616e206e6f74207365742073746172742074696d6520616761696e00000000604482015290519081900360640190fd5b428111610962576040805162461bcd60e51b815260206004820152601760248201527f696e76616c69642067616d652073746172742074696d65000000000000000000604482015290519081900360640190fd5b600a556000601755565b600f54600e54600a546000838152600b6020908152604080832054600c9092529091205460145460155460165460175460185490919293949596979899565b33803b80156109f6576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b323314610a3f576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b610a48336128c5565b5050565b6000600a54600014158015610a625750600a5442115b90505b90565b610a7133611360565b80610a7f5750610a7f611234565b610aba5760405162461bcd60e51b81526004018080602001828103825260408152602001806144b16040913960400191505060405180910390fd5b801580610ac75750806001145b80610ad25750806002145b610b1a576040805162461bcd60e51b815260206004820152601460248201527362616420706172616d657465722073746174757360601b604482015290519081900360640190fd5b6001600160a01b03909116600090815260116020526040902060040155565b610b4161417b565b606080610b4d33611360565b80610b605750336001600160a01b038616145b610b9b5760405162461bcd60e51b81526004018080602001828103825260298152602001806144686029913960400191505060405180910390fd5b83610ba657600f5493505b610bae61419a565b6001600160a01b03868116600090815260116020908152604091829020825160a08101845281548152600180830154909516818401526002808301805486516101009882161598909802600019011691909104601f8101859004850287018501865280875291959294860193909190830182828015610c6e5780601f10610c4357610100808354040283529160200191610c6e565b820191906000526020600020905b815481529060010190602001808311610c5157829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015610d025780601f10610cd757610100808354040283529160200191610d02565b820191906000526020600020905b815481529060010190602001808311610ce557829003601f168201915b505050505081526020016004820154815250509050610d1f6141d2565b60008681526010602090815260408083206001600160a01b038b81168552908352928190208151610260810183528154815260018083015490951681850152600280830154828501526003830154606083015260048301546080830152600583015460a0830152600683015460c0830152600783015460e08301526008830154610100808401919091526009840154610120840152600a840154610140840152600b840180548651988116159092026000190190911691909104601f81018690048602870186019094528386529094919361016086019390830182828015610e485780601f10610e1d57610100808354040283529160200191610e48565b820191906000526020600020905b815481529060010190602001808311610e2b57829003601f168201915b5050509183525050600c8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015610edc5780601f10610eb157610100808354040283529160200191610edc565b820191906000526020600020905b815481529060010190602001808311610ebf57829003601f168201915b5050509183525050600d8201546020820152600e8201546040820152600f820154606082015260108201546080820152601182015460a082015260129091015460c090910152825190915085600060200201526060810151856001602002015260a0810151856002602002015260c0810151856003602002015260e08101518560046020020152610120810151856005602002015261010081015185600660200201526101a08101518560076020020152608082015185600860200201526080810151856009602002015261020081015185600a60200201526101c081015185600b602002015261014081015185600c60200201526101e081015185600d6020020152604081015185600e602002015261022081015185600f6020020152610240810151856010602002015250604081015160609091015190925090509250925092565b61102933611360565b806110375750611037611234565b6110725760405162461bcd60e51b81526004018080602001828103825260408152602001806144b16040913960400191505060405180910390fd5b805b8281106110a6576000818152601360205260409020546001600160a01b031661109c816128c5565b5060001901611074565b505050565b6110b3611234565b6110f2576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b61110360028263ffffffff612dee16565b50565b61110e611234565b61114d576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b63b2d05e00841015801561116657506402540be4008310155b8015611176575063b2d05e008210155b8015611186575063713fb3008110155b6111c8576040805162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a5908185b5bdd5b9d60921b604482015290519081900360640190fd5b601493909355601591909155601655601855565b6111e4611234565b611223576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b61110360028263ffffffff612e5516565b6000546001600160a01b0316331490565b6000806012836040518082805190602001908083835b6020831061127a5780518252601f19909201916020918201910161125b565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b0316151595945050505050565b6112c2611234565b611301576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b600380546001600160a01b03199081166001600160a01b03978816179091556004805482169587169590951790945560058054851693861693909317909255600680548416918516919091179055600780549092169216919091179055565b600061137360028363ffffffff612ed616565b806113815750611381611234565b92915050565b33803b80156113d2576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b32331461141b576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b611423610a4c565b611468576040805162461bcd60e51b815260206004820152601160248201527019d85b59481a5cc81b9bdd081cdd185c9d607a1b604482015290519081900360640190fd5b600954604080516370a0823160e01b8152336004820152905185926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156114b257600080fd5b505afa1580156114c6573d6000803e3d6000fd5b505050506040513d60208110156114dc57600080fd5b50511015611528576040805162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b600954604080516323b872dd60e01b81523360048201523060248201526044810186905290516001600160a01b03909216916323b872dd9160648082019260009290919082900301818387803b15801561158157600080fd5b505af1158015611595573d6000803e3d6000fd5b50503360009081526011602052604090208054909250151590506118e0576040805163e23b6b7f60e01b81526004810191825260448101899052739bc37aabc02faa66b3b9704bf7a3798cdb7c1f0b9163e23b6b7f918b918b9181906024810190606401858580828437600081840152601f19601f820116905080830192505050838103825260068152602001806501010101010160d51b81525060200194505050505060206040518083038186803b15801561165157600080fd5b505af4158015611665573d6000803e3d6000fd5b505050506040513d602081101561167b57600080fd5b505115801561168a5750600687145b6116d1576040805162461bcd60e51b8152602060048201526013602482015272696e76616c696420696e7669746520636f646560681b604482015290519081900360640190fd5b6000601287876040518083838082843791909101948552505060408051938490036020908101852054601f8c018290048202860182019092528a85526001600160a01b0390911694506117419392508a915089908190840183828082843760009201919091525061124592505050565b611785576040805162461bcd60e51b815260206004820152601060248201526f189950dbd919481b9bdd08195e1a5cdd60821b604482015290519081900360640190fd5b6001600160a01b0381163314156117e3576040805162461bcd60e51b815260206004820152601860248201527f6265436f6465416464722063616e27742062652073656c660000000000000000604482015290519081900360640190fd5b61182289898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061124592505050565b1561186a576040805162461bcd60e51b81526020600482015260136024820152721a5b9d9a5d194818dbd919481a5cc81d5cd959606a1b604482015290519081900360640190fd5b6118de338a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b9081908401838280828437600092019190915250612f3d92505050565b505b600f54600090815260106020908152604080832033845290915281206002810154600382015491929161192a919061191e908963ffffffff61305a16565b9063ffffffff61305a16565b9050601854811115801561194257506305f5e1008110155b611993576040805162461bcd60e51b815260206004820152601860248201527f76616c7565206973206c6172676572207468616e206d61780000000000000000604482015290519081900360640190fd5b6119b76305f5e1006119ab838263ffffffff6130a616565b9063ffffffff6130fb16565b81146119fe576040805162461bcd60e51b8152602060048201526011602482015270696e76616c6964206d73672076616c756560781b604482015290519081900360640190fd5b8154869015611b3d576003830154611a2f5742600d8401556002830154611a2c90889063ffffffff61305a16565b90505b6002830154611a56600a611a4a85600363ffffffff6130fb16565b9063ffffffff6130a616565b1115611a9d57611a72600a611a4a84600763ffffffff6130fb16565b8360030181905550611a93600a611a4a6003856130fb90919063ffffffff16565b6002840155611ab8565b6003830154611ab2908863ffffffff61305a16565b60038401555b739bc37aabc02faa66b3b9704bf7a3798cdb7c1f0b6363ab0fd6836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b0757600080fd5b505af4158015611b1b573d6000803e3d6000fd5b505050506040513d6020811015611b3157600080fd5b50516009840155611d2a565b835483556001830180546001600160a01b03191633179055611b6b600a611a4a89600763ffffffff6130fb16565b8360030181905550611b8c600a611a4a60038a6130fb90919063ffffffff16565b6002840155604080516331d587eb60e11b8152600481018990529051739bc37aabc02faa66b3b9704bf7a3798cdb7c1f0b916363ab0fd6916024808301926020929190829003018186803b158015611be357600080fd5b505af4158015611bf7573d6000803e3d6000fd5b505050506040513d6020811015611c0d57600080fd5b5051600984015560028085018054611c3992600b8701929160001961010060018316150201160461426d565b50600384018054611c6191600c8601916002600019610100600184161502019091160461426d565b504283600a01819055504283600d018190555060006012856003016040518082805460018160011615610100020316600290048015611cd75780601f10611cb5576101008083540402835291820191611cd7565b820191906000526020600020905b815481529060010190602001808311611cc3575b50509283525050604080516020928190038301902054600f546000908152601084528281206001600160a01b0390921680825291909352912080549192509015611d275760108101805460010190555b50505b600f546000908152600b6020526040902054611d4d90600163ffffffff61305a16565b600f80546000908152600b602090815260408083209490945591548152600c9091522054611d81908863ffffffff61305a16565b600f546000908152600c6020526040902055611d9c81613159565b6001830154611db4906001600160a01b03168861327e565b6000611dc082336138eb565b600854604080516327a0235760e21b81523360048201526024810184905290519293506001600160a01b0390911691639e808d5c9160448082019260009290919082900301818387803b158015611e1657600080fd5b505af1158015611e2a573d6000803e3d6000fd5b50505050505050505050505050505050565b6001546001600160a01b03163314611e855760405162461bcd60e51b81526004018080602001828103825260268152602001806143f16026913960400191505060405180910390fd5b600154600080546001600160a01b0319166001600160a01b03909216919091179055565b611eb1611234565b611ef0576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b6000546001600160a01b0382811691161415611f53576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f7420617070726f76652063757272656e74206f776e65722e000000604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000611f8033611360565b611fc5576040805162461bcd60e51b815260206004820152601160248201527014195c9b5a5cdcda5bdb8819195b9a5959607a1b604482015290519081900360640190fd5b6012826040518082805190602001908083835b60208310611ff75780518252601f199092019160209182019101611fd8565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b0316949350505050565b61203c611234565b61207b576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b600954604080516370a0823160e01b815230600482015290516305f5e100926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156120c957600080fd5b505afa1580156120dd573d6000803e3d6000fd5b505050506040513d60208110156120f357600080fd5b5051106121315760405162461bcd60e51b815260040180806020018281038252602d81526020018061437b602d913960400191505060405180910390fd5b600f80546001019055600d5461215d9062015180906119ab908290611a4a90429063ffffffff61305a16565b600a556001601755565b33803b80156121b2576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b3233146121fb576040805162461bcd60e51b8152602060048201526012602482015271736f7272792c2068756d616e73206f6e6c7960701b604482015290519081900360640190fd5b612203610a4c565b612248576040805162461bcd60e51b815260206004820152601160248201527019d85b59481a5cc81b9bdd081cdd185c9d607a1b604482015290519081900360640190fd5b600f54600090815260106020908152604080832033845290915290206004810154630393870011156122ba576040805162461bcd60e51b81526020600482015260166024820152751d5cd95c881a185cc81b9bc8199c9959505b5bdd5b9d60521b604482015290519081900360640190fd5b60006122c982600401546139cb565b90506000811180156122dd57506016548111155b15612856576122ec3382613ad1565b6000612311836004015461191e8560020154866003015461305a90919063ffffffff16565b9050600061232c84600f01548361305a90919063ffffffff16565b6004850180546000909155600c8601805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815294955092936060939092918301828280156123c85780601f1061239d576101008083540402835291602001916123c8565b820191906000526020600020905b8154815290600101906020018083116123ab57829003601f168201915b50939450600193505050505b601e81116126645760006012836040518082805190602001908083835b602083106124105780518252601f1990920191602091820191016123f1565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942054600f546000908152601083528581206001600160a01b0390921680825291909252939020805493945092151591506124799050575050612664565b60006124a682600f015461191e846002015461191e8660030154876004015461305a90919063ffffffff16565b90508582600f0154106124ce57600f8201546124c8908763ffffffff613b4016565b600f8301555b64174876e80081101580156124f6575064174876e8006124f4828863ffffffff613b4016565b105b156125c5576000601283600c01604051808280546001816001161561010002031660029004801561255e5780601f1061253c57610100808354040283529182019161255e565b820191906000526020600020905b81548152906001019060200180831161254a575b50509283525050604080516020928190038301902054600f546000908152601084528281206001600160a01b03909216808252919093529120805491925090158015906125b057506001816011015410155b156125c2576011810180546000190190555b50505b600c8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561264d5780601f106126225761010080835404028352916020019161264d565b820191906000526020600020905b81548152906001019060200180831161263057829003601f168201915b5050505050945050505080806001019150506123d4565b50633b9aca00841015801561268b5750633b9aca00612689858463ffffffff613b4016565b105b1561275a576000601287600c0160405180828054600181600116156101000203166002900480156126f35780601f106126d15761010080835404028352918201916126f3565b820191906000526020600020905b8154815290600101906020018083116126df575b50509283525050604080516020928190038301902054600f546000908152601084528281206001600160a01b039092168082529190935291208054919250901580159061274557506001816012015410155b15612757576012810180546000190190555b50505b64174876e8008310158015612782575064174876e800612780848463ffffffff613b4016565b105b15612851576000601287600c0160405180828054600181600116156101000203166002900480156127ea5780601f106127c85761010080835404028352918201916127ea565b820191906000526020600020905b8154815290600101906020018083116127d6575b50509283525050604080516020928190038301902054600f546000908152601084528281206001600160a01b039092168082529190935291208054919250901580159061283c57506001816011015410155b1561284e576011810180546000190190555b50505b505050505b50505050565b612864611234565b6128a3576040805162461bcd60e51b81526020600482018190526024820152600080516020614491833981519152604482015290519081900360640190fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6128cd610a4c565b612912576040805162461bcd60e51b815260206004820152601160248201527019d85b59481a5cc81b9bdd081cdd185c9d607a1b604482015290519081900360640190fd5b600f5460009081526010602090815260408083206001600160a01b0385168452909152902061293f61419a565b6001600160a01b03838116600090815260116020908152604091829020825160a08101845281548152600180830154909516818401526002808301805486516101009882161598909802600019011691909104601f81018590048502870185018652808752919592948601939091908301828280156129ff5780601f106129d4576101008083540402835291602001916129ff565b820191906000526020600020905b8154815290600101906020018083116129e257829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015612a935780601f10612a6857610100808354040283529160200191612a93565b820191906000526020600020905b815481529060010190602001808311612a7657829003601f168201915b505050505081526020016004820154815250509050612ab133611360565b15612b0857612acb62014370610d9863ffffffff61305a16565b600d830154612ae190429063ffffffff613b4016565b111580612aed57508154155b80612af757508051155b15612b03575050611103565b612bad565b8154612b455760405162461bcd60e51b815260040180806020018281038252602f815260200180614439602f913960400191505060405180910390fd5b612b5a62014370610d9863ffffffff61305a16565b600d830154612b7090429063ffffffff613b4016565b1015612bad5760405162461bcd60e51b81526004018080602001828103825260268152602001806143a86026913960400191505060405180910390fd5b42600d830155608081015160011415612bc7575050611103565b600282015460038301546000918291612be59163ffffffff61305a16565b905060008090506303938700856003015410158015612c0857506305f5e1008210155b8015612c1657506014548211155b15612cbe57600585600e01541015612c7e576007850154612c3e90849063ffffffff61305a16565b600786015460068701549194509150612c5d908263ffffffff61305a16565b6006860155600e850154612c7890600163ffffffff61305a16565b600e8601555b600585600e015410612cbe5760038501546004860154612ca39163ffffffff61305a16565b60048601556000600386018190556007860181905560098601555b82612ccd575050505050611103565b6080840151612d0f576008850154612cec90849063ffffffff61305a16565b9250612d098560080154866005015461305a90919063ffffffff16565b60058601555b600083118015612d2157506015548311155b15612de657612d31838288613b90565b600885015415612d4357600060088601555b6080840151612de657600c85018054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152612de69390929091830182828015612ddb5780601f10612db057610100808354040283529160200191612ddb565b820191906000526020600020905b815481529060010190602001808311612dbe57829003601f168201915b505050505083613cb7565b505050505050565b612df88282612ed6565b612e335760405162461bcd60e51b81526004018080602001828103825260228152602001806144176022913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b612e5f8282612ed6565b15612eb1576040805162461bcd60e51b815260206004820181905260248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c652e604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216612f1d5760405162461bcd60e51b81526004018080602001828103825260238152602001806143ce6023913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b600e5460011415612f4d57426019555b6001600160a01b0383166000818152601160209081526040909120600e8054600190810191829055908255810180546001600160a01b0319169093179092558351612fa0916002840191908601906142f2565b508151612fb690600383019060208501906142f2565b50836012846040518082805190602001908083835b60208310612fea5780518252601f199092019160209182019101612fcb565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942080546001600160a01b03199081166001600160a01b0397881617909155600e54600090815260139092529390208054909316979093169690961790555050505050565b60008282018381101561309f576040805162461bcd60e51b81526020600482015260086024820152676f766572666c6f7760c01b604482015290519081900360640190fd5b9392505050565b60008082116130e7576040805162461bcd60e51b8152602060048201526008602482015267646976207a65726f60c01b604482015290519081900360640190fd5b60008284816130f257fe5b04949350505050565b60008261310a57506000611381565b8282028284828161311757fe5b041461309f576040805162461bcd60e51b815260206004820152600c60248201526b6d756c206f766572666c6f7760a01b604482015290519081900360640190fd5b6009546003546001600160a01b039182169163a9059cbb911661318384603263ffffffff6130a616565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156131d257600080fd5b505af11580156131e6573d6000803e3d6000fd5b50506009546004546001600160a01b03918216935063a9059cbb92501661321484603263ffffffff6130a616565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561326357600080fd5b505af1158015613277573d6000803e3d6000fd5b5050505050565b600f5460009081526010602090815260408083206001600160a01b0386168452909152902080546132af5750610a48565b6132cf6064611a4a8360020154846003015461305a90919063ffffffff16565b60078201556000600e820155600c81018054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156133695780601f1061333e57610100808354040283529160200191613369565b820191906000526020600020905b81548152906001019060200180831161334c57829003601f168201915b50505050509050600061338d8360020154846003015461305a90919063ffffffff16565b905060006133b084600f015461191e84876004015461305a90919063ffffffff16565b905060015b601e8111613722576040805163e23b6b7f60e01b815260048101918252855160448201528551739bc37aabc02faa66b3b9704bf7a3798cdb7c1f0b9263e23b6b7f92889282916024810191606490910190602086019080838360005b83811015613429578181015183820152602001613411565b50505050905090810190601f1680156134565780820380516001836020036101000a031916815260200191505b50838103825260008152602001602001935050505060206040518083038186803b15801561348357600080fd5b505af4158015613497573d6000803e3d6000fd5b505050506040513d60208110156134ad57600080fd5b5051156134b957613722565b60006012856040518082805190602001908083835b602083106134ed5780518252601f1990920191602091820191016134ce565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942054600f546000908152601083528581206001600160a01b0390921680825291909252939020805493945092151591506135569050575050613722565b600061358382600f015461191e846002015461191e8660030154876004015461305a90919063ffffffff16565b600f83015490915061359b908a63ffffffff61305a16565b600f83015564174876e8006135b6828b63ffffffff61305a16565b101580156135c8575064174876e80081105b15613683576000601283600c0160405180828054600181600116156101000203166002900480156136305780601f1061360e576101008083540402835291820191613630565b820191906000526020600020905b81548152906001019060200180831161361c575b50509283525050604080516020928190038301902054600f546000908152601084528281206001600160a01b03909216808252919093529120805491925090156136805760118101805460010190555b50505b600c8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561370b5780601f106136e05761010080835404028352916020019161370b565b820191906000526020600020905b8154815290600101906020018083116136ee57829003601f168201915b5050505050965050505080806001019150506133b5565b50633b9aca0082101580156137495750633b9aca00613747838763ffffffff613b4016565b105b15613804576000601285600c0160405180828054600181600116156101000203166002900480156137b15780601f1061378f5761010080835404028352918201916137b1565b820191906000526020600020905b81548152906001019060200180831161379d575b50509283525050604080516020928190038301902054600f546000908152601084528281206001600160a01b03909216808252919093529120805491925090156138015760128101805460010190555b50505b64174876e800811015801561382c575064174876e80061382a828763ffffffff613b4016565b105b15612de6576000601285600c0160405180828054600181600116156101000203166002900480156138945780601f10613872576101008083540402835291820191613894565b820191906000526020600020905b815481529060010190602001808311613880575b50509283525050604080516020928190038301902054600f546000908152601084528281206001600160a01b0390921680825291909352912080549192509015612851576011018054600101905550505050505050565b60008061390a6202a300611a4a60195442613b4090919063ffffffff16565b9050620f424061032082101561394b5760005b828110156139455761393b6064611a4a84606363ffffffff6130fb16565b915060010161391d565b5061394f565b5060005b600f5460009081526010602090815260408083206001600160a01b0388168452909152902060128101546139c1906139a79061399990600a90611a4a90600163ffffffff6130fb16565b60019063ffffffff61305a16565b6119ab84816014611a4a8c620f424063ffffffff6130a616565b9695505050505050565b600954604080516370a0823160e01b8152306004820152905160009284926001600160a01b03909116916370a0823191602480820192602092909190829003018186803b158015613a1b57600080fd5b505afa158015613a2f573d6000803e3d6000fd5b505050506040513d6020811015613a4557600080fd5b505110613a5357508061086b565b600954604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015613a9e57600080fd5b505afa158015613ab2573d6000803e3d6000fd5b505050506040513d6020811015613ac857600080fd5b5051905061086b565b8015610a48576009546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb91604480830192600092919082900301818387803b158015613b2c57600080fd5b505af1158015612de6573d6000803e3d6000fd5b600082821115613b8a576040805162461bcd60e51b815260206004820152601060248201526f3637bbb2b91039bab1103134b3b3b2b960811b604482015290519081900360640190fd5b50900390565b6000613b9b846139cb565b9050600081118015613baf57506015548111155b156128565782811115613cad576040805143602080830191909152428284015282518083038401815260609092019092528051910120600090613c009060019061191e90600a63ffffffff61404716565b90506000613c1d826119ab6064611a4a878a63ffffffff613b4016565b60058054919250613c4c916001600160a01b031690613c4790611a4a85600363ffffffff6130fb16565b613ad1565b600654613c72906001600160a01b0316613c476005611a4a85600163ffffffff6130fb16565b600754613c98906001600160a01b0316613c476005611a4a85600163ffffffff6130fb16565b613ca8838263ffffffff613b4016565b925050505b6128568282613ad1565b8160015b601e8111612856576040805163e23b6b7f60e01b815260048101918252835160448201528351739bc37aabc02faa66b3b9704bf7a3798cdb7c1f0b9263e23b6b7f92869282916024810191606490910190602086019080838360005b83811015613d2f578181015183820152602001613d17565b50505050905090810190601f168015613d5c5780820380516001836020036101000a031916815260200191505b50838103825260008152602001602001935050505060206040518083038186803b158015613d8957600080fd5b505af4158015613d9d573d6000803e3d6000fd5b505050506040513d6020811015613db357600080fd5b505115613dbf57612856565b60006012836040518082805190602001908083835b60208310613df35780518252601f199092019160209182019101613dd4565b51815160209384036101000a600019018019909216911617905292019485525060408051948590038201909420546001600160a01b0316600081815260118352858120600f5482526010845286822083835290935294909420600482015494955090939092501515905080613e6a57506003810154155b15613f065760038201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015613ef75780601f10613ecc57610100808354040283529160200191613ef7565b820191906000526020600020905b815481529060010190602001808311613eda57829003601f168201915b5050505050945050505061403f565b6000613f25826009015483601101548460120154856010015489614097565b60028301546003840154919250600091613f449163ffffffff61305a16565b8811613f51575086613f6d565b60028301546003840154613f6a9163ffffffff61305a16565b90505b8115613faa576000613f8b612710611a4a848663ffffffff6130fb16565b6008850154909150613fa3908263ffffffff61305a16565b6008850155505b60038401805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156140325780601f1061400757610100808354040283529160200191614032565b820191906000526020600020905b81548152906001019060200180831161401557829003601f168201915b5050505050965050505050505b600101613cbb565b600081614086576040805162461bcd60e51b81526020600482015260086024820152676d6f64207a65726f60c01b604482015290519081900360640190fd5b81838161408f57fe5b069392505050565b60008560031480156140aa575060068410155b156140de57600385106140c057600695506140de565b600285106140d157600595506140de565b600185106140de57600495505b60408051630e83f0b360e01b8152600481018890526024810186905260448101859052606481018490529051739bc37aabc02faa66b3b9704bf7a3798cdb7c1f0b91630e83f0b3916084808301926020929190829003018186803b15801561414557600080fd5b505af4158015614159573d6000803e3d6000fd5b505050506040513d602081101561416f57600080fd5b50519695505050505050565b6040518061022001604052806011906020820280388339509192915050565b6040518060a001604052806000815260200160006001600160a01b031681526020016060815260200160608152602001600081525090565b6040518061026001604052806000815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106142a657805485556142e2565b828001600101855582156142e257600052602060002091601f016020900482015b828111156142e25782548255916001019190600101906142c7565b506142ee929150614360565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061433357805160ff19168380011785556142e2565b828001600101855582156142e2579182015b828111156142e2578251825591602001919060010190614345565b610a6591905b808211156142ee576000815560010161436656fe636f6e74726163742062616c616e6365206d757374206265206c6f776572207468616e203130302a31302a2a3643616e206f6e6c7920626520657874726163746564206f6e636520696e20323420686f757273526f6c65733a206163636f756e7420697320746865207a65726f20616464726573732e43616e206f6e6c792061636365707420707265617070726f766564206e6577206f776e65722e526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c652e5573657273206f66207468652067616d6520617265206e6f742062657474696e6720696e207468697320726f756e645065726d697373696f6e2064656e69656420666f7220766965772075736572277320707269766163794f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657257686974656c69737441646d696e526f6c653a2063616c6c657220646f6573206e6f742068617665207468652057686974656c69737441646d696e20726f6c65a265627a7a723158201ed979d8746b24ab0240bb40ec0f47e3ea35f7a34d08f2d43f823dc29fce9cd764736f6c63430005110032

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000d57f0df14f55464654dcda357322b2738fc57384000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000064746434746430000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _addr (address): 0xd57f0DF14F55464654DCDa357322B2738fC57384
Arg [1] : inviteCode (string): GFCGFC

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000d57f0df14f55464654dcda357322b2738fc57384
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [3] : 4746434746430000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

1970:15962:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3585:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3585:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;17797:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17797:132:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17797:132:0;;:::i;:::-;;;;-1:-1:-1;;;;;17797:132:0;;;;;;;;;;;;;;4000:212;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4000:212:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4000:212:0;;:::i;16225:276::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16225:276:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11346:61;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11346:61:0;;;:::i;4518:96::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4518:96:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;4933:242;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4933:242:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4933:242:0;;;;;;;;:::i;16514:964::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16514:964:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;16514:964:0;;;;;;;;:::i;:::-;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16514:964:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16514:964:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16514:964:0;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16514:964:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11412:183;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11412:183:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11412:183:0;;;;;;;:::i;1857:106::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1857:106:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1857:106:0;-1:-1:-1;;;;;1857:106:0;;:::i;4619:309::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4619:309:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;4619:309:0;;;;;;;;;;;;;;;;;:::i;1752:100::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1752:100:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1752:100:0;-1:-1:-1;;;;;1752:100:0;;:::i;279:83::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;279:83:0;;;:::i;17483:136::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17483:136:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17483:136:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;17483:136:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17483:136:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;17483:136:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;17483:136:0;;-1:-1:-1;17483:136:0;;-1:-1:-1;;;;;17483:136:0:i;4217:193::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4217:193:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;4217:193:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1618:129::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1618:129:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1618:129:0;-1:-1:-1;;;;;1618:129:0;;:::i;5184:2240::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5184:2240:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5184:2240:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5184:2240:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5184:2240:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5184:2240:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5184:2240:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5184:2240:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5184:2240:0;;-1:-1:-1;5184:2240:0;-1:-1:-1;5184:2240:0;;:::i;536:143::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;536:143:0;;;:::i;367:164::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;367:164:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;367:164:0;-1:-1:-1;;;;;367:164:0;;:::i;17624:168::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17624:168:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17624:168:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;17624:168:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17624:168:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;17624:168:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;17624:168:0;;-1:-1:-1;17624:168:0;;-1:-1:-1;;;;;17624:168:0:i;15975:237::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15975:237:0;;;:::i;9487:1854::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9487:1854:0;;;:::i;4422:87::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4422:87:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4422:87:0;-1:-1:-1;;;;;4422:87:0;;:::i;3585:26::-;;;;:::o;17797:132::-;17845:7;17867:28;17884:10;17867:16;:28::i;:::-;17859:37;;;;;;-1:-1:-1;17908:16:0;;;;:12;:16;;;;;;-1:-1:-1;;;;;17908:16:0;17797:132;;;;:::o;4000:212::-;217:9;:7;:9::i;:::-;209:54;;;;;-1:-1:-1;;;209:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;209:54:0;;;;;;;;;;;;;;;4058:15;;4077:1;4058:20;4050:61;;;;;-1:-1:-1;;;4050:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4131:3;4124:4;:10;4116:46;;;;;-1:-1:-1;;;4116:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4167:9;:16;4206:1;4188:15;:19;4000:212::o;16225:276::-;16341:3;;16349;;16357:9;;16265:4;16371:17;;;:12;:17;;;;;;;;;16393:12;:17;;;;;;;16415:10;;16430:9;;16444:13;;16462:15;;16482:9;;16225:276;;;;;;;;;;:::o;11346:61::-;3656:10;3715:17;;3745:15;;3737:46;;;;;-1:-1:-1;;;3737:46:0;;;;;;;;;;;;-1:-1:-1;;;3737:46:0;;;;;;;;;;;;;;;3796:9;3809:10;3796:23;3788:54;;;;;-1:-1:-1;;;3788:54:0;;;;;;;;;;;;-1:-1:-1;;;3788:54:0;;;;;;;;;;;;;;;11385:17;11391:10;11385:5;:17::i;:::-;11346:61;;:::o;4518:96::-;4558:4;4576:9;;4589:1;4576:14;;:33;;;;;4600:9;;4594:3;:15;4576:33;4569:40;;4518:96;;:::o;4933:242::-;1492:28;1509:10;1492:16;:28::i;:::-;:41;;;;1524:9;:7;:9::i;:::-;1484:118;;;;-1:-1:-1;;;1484:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5019:11;;;:26;;;5034:6;5044:1;5034:11;5019:26;:41;;;;5049:6;5059:1;5049:11;5019:41;5011:74;;;;;-1:-1:-1;;;5011:74:0;;;;;;;;;;;;-1:-1:-1;;;5011:74:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5122:17:0;;;5090:29;5122:17;;;:11;:17;;;;;5144;;:26;4933:242::o;16514:964::-;16577:20;;:::i;:::-;16599:24;16625:20;16660:28;16677:10;16660:16;:28::i;:::-;:50;;;-1:-1:-1;16692:10:0;-1:-1:-1;;;;;16692:18:0;;;16660:50;16652:104;;;;-1:-1:-1;;;16652:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16767:12;16763:43;;16797:3;;16787:13;;16763:43;16812:28;;:::i;:::-;-1:-1:-1;;;;;16843:17:0;;;;;;;:11;:17;;;;;;;;;16812:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16812:48:0;;;;;;;;;;;;;;;;;;;;;;;;;16843:17;;16812:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;16812:48:0;;;-1:-1:-1;;16812:48:0;;;;;;;;;;;;;;;;-1:-1:-1;;16812:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16865:16;;:::i;:::-;16884:25;;;;:16;:25;;;;;;;;-1:-1:-1;;;;;16884:31:0;;;;;;;;;;;;16865:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16865:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16884:31;;16865:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;16865:50:0;;;-1:-1:-1;;16865:50:0;;;;;;;;;;;;;;;;-1:-1:-1;;16865:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;16865:50:0;;;-1:-1:-1;;16865:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16930:13;;16865:50;;-1:-1:-1;16920:4:0;-1:-1:-1;16920:7:0;;;:23;16958:17;;;;16948:4;16953:1;16948:7;;;:27;16990:17;;;;16980:4;16985:1;16980:7;;;:27;17022:16;;;;17012:4;17017:1;17012:7;;;:26;17053:17;;;;17043:4;17048:1;17043:7;;;:27;17085:10;;;;17075:4;17080:1;17075:7;;;:20;17110:17;;;;17100:4;17105:1;17100:7;;;:27;17142:15;;;;17132:4;17137:1;17132:7;;;:25;17172:17;;;;17162:4;17167:1;17162:7;;;:27;17204:15;;;;17194:4;17199:1;17194:7;;;:25;17235:7;;;;17224:4;17229:2;17224:8;;;:18;17258:16;;;;17247:4;17252:2;17247:8;;;:27;17290:12;;;;17279:4;17284:2;17279:8;;;:23;17318:12;;;;17307:4;17312:2;17307:8;;;:23;17346:17;;;;17335:4;17340:2;17335:8;;;:28;17379:10;;;;17368:4;17373:2;17368:8;;;:21;17405:8;;;;17394:4;17399:2;17394:8;;;:19;-1:-1:-1;17432:21:0;;;;17455:17;;;;;17432:21;;-1:-1:-1;17455:17:0;-1:-1:-1;16514:964:0;;;;;:::o;11412:183::-;1492:28;1509:10;1492:16;:28::i;:::-;:41;;;;1524:9;:7;:9::i;:::-;1484:118;;;;-1:-1:-1;;;1484:118:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11502:3;11488:103;11512:5;11507:1;:10;11488:103;;11530:16;11549:15;;;:12;:15;;;;;;-1:-1:-1;;;;;11549:15:0;11570;11549;11570:5;:15::i;:::-;-1:-1:-1;;;11519:3:0;11488:103;;;;11412:183;;:::o;1857:106::-;217:9;:7;:9::i;:::-;209:54;;;;;-1:-1:-1;;;209:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;209:54:0;;;;;;;;;;;;;;;1926:32;:16;1950:7;1926:32;:23;:32;:::i;:::-;1857:106;:::o;4619:309::-;217:9;:7;:9::i;:::-;209:54;;;;;-1:-1:-1;;;209:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;209:54:0;;;;;;;;;;;;;;;4726:10;4717:5;:19;;:42;;;;;4748:11;4740:4;:19;;4717:42;:68;;;;;4775:10;4763:8;:22;;4717:68;:91;;;;;4798:10;4789:6;:19;;4717:91;4709:118;;;;;-1:-1:-1;;;4709:118:0;;;;;;;;;;;;-1:-1:-1;;;4709:118:0;;;;;;;;;;;;;;;4832:10;:18;;;;4855:9;:16;;;;4876:13;:24;4905:9;:18;4619:309::o;1752:100::-;217:9;:7;:9::i;:::-;209:54;;;;;-1:-1:-1;;;209:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;209:54:0;;;;;;;;;;;;;;;1818:29;:16;1839:7;1818:29;:20;:29;:::i;279:83::-;319:4;351:6;-1:-1:-1;;;;;351:6:0;337:10;:20;;279:83::o;17483:136::-;17541:4;17552:12;17567:14;17582:4;17567:20;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;17567:20:0;;;;;-1:-1:-1;17567:20:0;;;;;;;;;;;-1:-1:-1;;;;;17567:20:0;17599:15;;;17483:136;-1:-1:-1;;;;;17483:136:0:o;4217:193::-;217:9;:7;:9::i;:::-;209:54;;;;;-1:-1:-1;;;209:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;209:54:0;;;;;;;;;;;;;;;4328:7;:14;;-1:-1:-1;;;;;;4328:14:0;;;-1:-1:-1;;;;;4328:14:0;;;;;;;4344:6;:15;;;;;;;;;;;;;;4361:7;:14;;;;;;;;;;;;;;4377:4;:12;;;;;;;;;;;;;4391:5;:14;;;;;;;;;;;;;4217:193::o;1618:129::-;1682:4;1700:29;:16;1721:7;1700:29;:20;:29;:::i;:::-;:42;;;;1733:9;:7;:9::i;:::-;1693:49;1618:129;-1:-1:-1;;1618:129:0:o;5184:2240::-;3656:10;3715:17;;3745:15;;3737:46;;;;;-1:-1:-1;;;3737:46:0;;;;;;;;;;;;-1:-1:-1;;;3737:46:0;;;;;;;;;;;;;;;3796:9;3809:10;3796:23;3788:54;;;;;-1:-1:-1;;;3788:54:0;;;;;;;;;;;;-1:-1:-1;;;3788:54:0;;;;;;;;;;;;;;;5294:9;:7;:9::i;:::-;5286:39;;;;;-1:-1:-1;;;5286:39:0;;;;;;;;;;;;-1:-1:-1;;;5286:39:0;;;;;;;;;;;;;;;5338:4;;:26;;;-1:-1:-1;;;5338:26:0;;5353:10;5338:26;;;;;;5368:6;;-1:-1:-1;;;;;5338:4:0;;:14;;:26;;;;;;;;;;;;;;:4;:26;;;5:2:-1;;;;30:1;27;20:12;5:2;5338:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5338:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5338:26:0;:36;;5330:68;;;;;-1:-1:-1;;;5330:68:0;;;;;;;;;;;;-1:-1:-1;;;5330:68:0;;;;;;;;;;;;;;;5403:4;;:52;;;-1:-1:-1;;;5403:52:0;;5421:10;5403:52;;;;5441:4;5403:52;;;;;;;;;;;;-1:-1:-1;;;;;5403:4:0;;;;:17;;:52;;;;;:4;;:52;;;;;;;;:4;;:52;;;5:2:-1;;;;30:1;27;20:12;5:2;5403:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;5504:10:0;5460:29;5492:23;;;:11;:23;;;;;5524:13;;5492:23;;-1:-1:-1;5524:18:0;5520:403;;-1:-1:-1;5520:403:0;;5559:34;;;-1:-1:-1;;;5559:34:0;;;;;;;;;;;;;;:7;;:12;;5572:10;;;;5559:34;;;;;;;;5572:10;;;;5559:34;1:33:-1;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5559:34:0;;;;;;;;;;;;;-1:-1:-1;;;5559:34:0;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5559:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5559:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5559:34:0;5558:35;:68;;;;-1:-1:-1;5625:1:0;5597:29;;5558:68;5550:100;;;;;-1:-1:-1;;;5550:100:0;;;;;;;;;;;;-1:-1:-1;;;5550:100:0;;;;;;;;;;;;;;;5656:18;5677:14;5692:6;;5677:22;;;;;30:3:-1;22:6;14;1:33;45:16;;;;5677:22:0;;;-1:-1:-1;;5677:22:0;;;;;;;;;;;;;;5713:15;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5677:22:0;;;;-1:-1:-1;5713:15:0;;5677:22;-1:-1:-1;5721:6:0;;-1:-1:-1;5721:6:0;;;;5713:15;;5721:6;;;;5713:15;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;5713:7:0;;-1:-1:-1;;;5713:15:0:i;:::-;5705:44;;;;;-1:-1:-1;;;5705:44:0;;;;;;;;;;;;-1:-1:-1;;;5705:44:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;5763:24:0;;5777:10;5763:24;;5755:61;;;;;-1:-1:-1;;;5755:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5831:19;5839:10;;5831:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5831:7:0;;-1:-1:-1;;;5831:19:0:i;:::-;5830:20;5822:52;;;;;-1:-1:-1;;;5822:52:0;;;;;;;;;;;;-1:-1:-1;;;5822:52:0;;;;;;;;;;;;;;;5880:37;5886:10;5898;;5880:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;5880:37:0;;;;137:4:-1;5880:37:0;;;;;;;;;;;;;;;;;;-1:-1:-1;5910:6:0;;-1:-1:-1;5910:6:0;;;;5880:37;;5910:6;;;;5880:37;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;5880:5:0;;-1:-1:-1;;;5880:37:0:i;:::-;5520:403;;5964:3;;5927:17;5947:21;;;:16;:21;;;;;;;;5969:10;5947:33;;;;;;;6033:17;;;;5999;;;;5947:33;;5927:17;5999:52;;6033:17;5999:29;;6021:6;5999:29;:21;:29;:::i;:::-;:33;:52;:33;:52;:::i;:::-;5985:66;;6074:9;;6064:6;:19;;:42;;;;;6097:9;6087:6;:19;;6064:42;6056:79;;;;;-1:-1:-1;;;6056:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6158:28;6180:5;6158:17;:6;6180:5;6158:17;:10;:17;:::i;:::-;:21;:28;:21;:28;:::i;:::-;6148:6;:38;6140:68;;;;;-1:-1:-1;;;6140:68:0;;;;;;;;;;;;-1:-1:-1;;;6140:68:0;;;;;;;;;;;;;;;6245:7;;6230:6;;6245:12;6241:931;;6269:17;;;;6265:111;;6318:3;6300:15;;;:21;6351:17;;;;6340:29;;:6;;:29;:10;:29;:::i;:::-;6328:41;;6265:111;6408:17;;;;6384:21;6402:2;6384:13;:6;6395:1;6384:13;:10;:13;:::i;:::-;:17;:21;:17;:21;:::i;:::-;:41;6381:222;;;6454:21;6472:2;6454:13;:6;6465:1;6454:13;:10;:13;:::i;:21::-;6436:4;:17;;:39;;;;6505:21;6523:2;6505:13;6516:1;6505:6;:10;;:13;;;;:::i;:21::-;6485:17;;;:41;6381:222;;;6567:17;;;;:29;;6589:6;6567:29;:21;:29;:::i;:::-;6547:17;;;:49;6381:222;6621:7;:15;6637:6;6621:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6621:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6621:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6621:23:0;6608:10;;;:36;6241:931;;;6672:13;;6662:23;;6691:16;;;:29;;-1:-1:-1;;;;;;6691:29:0;6710:10;6691:29;;;6746:21;6764:2;6746:13;:6;6757:1;6746:13;:10;:13;:::i;:21::-;6726:4;:17;;:41;;;;6793:21;6811:2;6793:13;6804:1;6793:6;:10;;:13;;;;:::i;:21::-;6773:17;;;:41;6833:23;;;-1:-1:-1;;;6833:23:0;;;;;;;;;;:7;;:15;;:23;;;;;;;;;;;;;;:7;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;6833:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6833:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6833:23:0;6820:10;;;:36;6880:21;;;;6862:39;;;;:15;;;;6880:21;-1:-1:-1;;6862:39:0;;;;;;;;;;:::i;:::-;-1:-1:-1;6921:17:0;;;6907:31;;;;:11;;;;:31;-1:-1:-1;;6907:31:0;;;;;;;;;;;;:::i;:::-;;6959:3;6944:4;:12;;:18;;;;6986:3;6968:4;:15;;:21;;;;6995:18;7016:14;7031:10;:17;;7016:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7016:33:0;;;-1:-1:-1;;7016:33:0;;;;;;;;;;;;;7095:3;;7016:33;7078:21;;;:16;:21;;;;;-1:-1:-1;;;;;7016:33:0;;;7078;;;;;;;;;7121:10;;7016:33;;-1:-1:-1;7078:33:0;7121:15;7117:50;;7145:10;;;:15;;7159:1;7145:15;;;7117:50;6241:931;;;7209:3;;7196:17;;;;:12;:17;;;;;;:24;;7218:1;7196:24;:21;:24;:::i;:::-;7189:3;;;7176:17;;;;:12;:17;;;;;;;;:44;;;;7258:3;;7245:17;;:12;:17;;;;;:29;;7267:6;7245:29;:21;:29;:::i;:::-;7238:3;;7225:17;;;;:12;:17;;;;;:49;7279:16;7285:9;7279:5;:16::i;:::-;7307;;;;7300:31;;-1:-1:-1;;;;;7307:16:0;7324:6;7300;:31::i;:::-;7337:11;7351:26;7356:9;7366:10;7351:4;:26::i;:::-;7382:6;;:37;;;-1:-1:-1;;;7382:37:0;;7401:10;7382:37;;;;;;;;;;;;7337:40;;-1:-1:-1;;;;;;7382:6:0;;;;:18;;:37;;;;;:6;;:37;;;;;;;;:6;;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;7382:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7382:37:0;;;;3847:1;;;;;5184:2240;;;;;;;:::o;536:143::-;599:9;;-1:-1:-1;;;;;599:9:0;585:10;:23;577:74;;;;-1:-1:-1;;;577:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;665:9;;;656:18;;-1:-1:-1;;;;;;656:18:0;-1:-1:-1;;;;;665:9:0;;;656:18;;;;;;536:143::o;367:164::-;217:9;:7;:9::i;:::-;209:54;;;;;-1:-1:-1;;;209:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;209:54:0;;;;;;;;;;;;;;;459:6;;-1:-1:-1;;;;;445:20:0;;;459:6;;445:20;;437:62;;;;;-1:-1:-1;;;437:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;504:9;:22;;-1:-1:-1;;;;;;504:22:0;-1:-1:-1;;;;;504:22:0;;;;;;;;;;367:164::o;17624:168::-;17683:7;17705:28;17722:10;17705:16;:28::i;:::-;17697:58;;;;;-1:-1:-1;;;17697:58:0;;;;;;;;;;;;-1:-1:-1;;;17697:58:0;;;;;;;;;;;;;;;17767:14;17782:4;17767:20;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;17767:20:0;;;;;-1:-1:-1;17767:20:0;;;;;;;;;;;-1:-1:-1;;;;;17767:20:0;;17624:168;-1:-1:-1;;;;17624:168:0:o;15975:237::-;217:9;:7;:9::i;:::-;209:54;;;;;-1:-1:-1;;;209:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;209:54:0;;;;;;;;;;;;;;;16026:4;;:29;;;-1:-1:-1;;;16026:29:0;;16049:4;16026:29;;;;;;16058:9;;-1:-1:-1;;;;;16026:4:0;;:14;;:29;;;;;;;;;;;;;;:4;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;16026:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16026:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16026:29:0;:41;16018:99;;;;-1:-1:-1;;;16018:99:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16122:3;:5;;;;;;16152:6;;16144:39;;16176:6;;16144:27;;16176:6;;16144:15;;:3;;:15;:7;:15;:::i;:39::-;16132:9;:51;16206:1;16188:15;:19;15975:237::o;9487:1854::-;3656:10;3715:17;;3745:15;;3737:46;;;;;-1:-1:-1;;;3737:46:0;;;;;;;;;;;;-1:-1:-1;;;3737:46:0;;;;;;;;;;;;;;;3796:9;3809:10;3796:23;3788:54;;;;;-1:-1:-1;;;3788:54:0;;;;;;;;;;;;-1:-1:-1;;;3788:54:0;;;;;;;;;;;;;;;9537:9;:7;:9::i;:::-;9529:39;;;;;-1:-1:-1;;;9529:39:0;;;;;;;;;;;;-1:-1:-1;;;9529:39:0;;;;;;;;;;;;;;;9610:3;;9573:17;9593:21;;;:16;:21;;;;;;;;9615:10;9593:33;;;;;;;9639:15;;;;9658:8;-1:-1:-1;9639:27:0;9631:62;;;;;-1:-1:-1;;;9631:62:0;;;;;;;;;;;;-1:-1:-1;;;9631:62:0;;;;;;;;;;;;;;;9698:11;9712:23;9719:4;:15;;;9712:6;:23::i;:::-;9698:37;;9755:1;9746:6;:10;:37;;;;;9770:13;;9760:6;:23;;9746:37;9742:1595;;;9791:26;9798:10;9810:6;9791;:26::i;:::-;9823:11;9837:61;9882:4;:15;;;9837:40;9859:4;:17;;;9837:4;:17;;;:21;;:40;;;;:::i;:61::-;9823:75;;9904:10;9917:24;9928:4;:12;;;9917:6;:10;;:24;;;;:::i;:::-;9958:15;;;;;9947:8;9979:19;;;10024:11;;;10004:31;;;;;;;-1:-1:-1;10004:31:0;;;;;-1:-1:-1;;10004:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;9904:37;;-1:-1:-1;9958:15:0;;10004:17;;:31;;10024:11;10004:31;;10024:11;10004:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10004:31:0;;-1:-1:-1;10058:1:0;;-1:-1:-1;;;;10044:735:0;10066:2;10061:1;:7;10044:735;;10085:15;10103:14;10118:3;10103:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;10103:19:0;;;;;-1:-1:-1;10103:19:0;;;;;;;;;;;;;10170:3;;-1:-1:-1;10153:21:0;;;:16;:21;;;;;-1:-1:-1;;;;;10103:19:0;;;10153:30;;;;;;;;;;10196:8;;10103:19;;-1:-1:-1;10153:30:0;10196:13;10193:47;;-1:-1:-1;10193:47:0;;-1:-1:-1;10193:47:0;10224:5;;;;10193:47;10249:12;10264:83;10333:5;:13;;;10264:64;10309:5;:18;;;10264:40;10285:5;:18;;;10264:5;:16;;;:20;;:40;;;;:::i;:83::-;10249:98;;10377:3;10360:5;:13;;;:20;10357:87;;10410:13;;;;:22;;10428:3;10410:22;:17;:22;:::i;:::-;10394:13;;;:38;10357:87;10467:6;10456:7;:17;;:46;;;;-1:-1:-1;10496:6:0;10477:16;:7;10489:3;10477:16;:11;:16;:::i;:::-;:25;10456:46;10453:289;;;10520:13;10536:14;10551:5;:12;;10536:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10536:28:0;;;-1:-1:-1;;10536:28:0;;;;;;;;;;;;;10616:3;;10536:28;10599:21;;;:16;:21;;;;;-1:-1:-1;;;;;10536:28:0;;;10599;;;;;;;;;10645:8;;10536:28;;-1:-1:-1;10599:28:0;10645:13;;;;:33;;;10677:1;10662:5;:11;;;:16;;10645:33;10641:91;;;10698:11;;;:16;;-1:-1:-1;;10698:16:0;;;10641:91;10453:289;;;10757:12;;;10751:18;;;;;;;;;;;;;-1:-1:-1;;10751:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;10757:12;10751:18;;10757:12;10751:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10044:735;;;10070:3;;;;;;;10044:735;;;;10800:10;10790:6;:20;;:52;;;;-1:-1:-1;10832:10:0;10814:15;:6;10825:3;10814:15;:10;:15;:::i;:::-;:28;10790:52;10787:270;;;10857:13;10873:14;10888:4;:11;;10873:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10873:27:0;;;-1:-1:-1;;10873:27:0;;;;;;;;;;;;;10948:3;;10873:27;10931:21;;;:16;:21;;;;;-1:-1:-1;;;;;10873:27:0;;;10931:28;;;;;;;;;10973:8;;10873:27;;-1:-1:-1;10931:28:0;10973:13;;;;:31;;;11003:1;10990:5;:9;;;:14;;10973:31;10969:76;;;11017:9;;;:14;;-1:-1:-1;;11017:14:0;;;10969:76;10787:270;;;11080:6;11071:5;:15;;:42;;;;-1:-1:-1;11107:6:0;11090:14;:5;11100:3;11090:14;:9;:14;:::i;:::-;:23;11071:42;11068:264;;;11128:13;11144:14;11159:4;:11;;11144:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11144:27:0;;;-1:-1:-1;;11144:27:0;;;;;;;;;;;;;11219:3;;11144:27;11202:21;;;:16;:21;;;;;-1:-1:-1;;;;;11144:27:0;;;11202:28;;;;;;;;;11244:8;;11144:27;;-1:-1:-1;11202:28:0;11244:13;;;;:33;;;11276:1;11261:5;:11;;;:16;;11244:33;11240:80;;;11290:11;;;:16;;-1:-1:-1;;11290:16:0;;;11240:80;11068:264;;;9742:1595;;;;;3847:1;;9487:1854;;:::o;4422:87::-;217:9;:7;:9::i;:::-;209:54;;;;;-1:-1:-1;;;209:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;209:54:0;;;;;;;;;;;;;;;4483:6;:21;;-1:-1:-1;;;;;;4483:21:0;-1:-1:-1;;;;;4483:21:0;;;;;;;;;;4422:87::o;11600:1686::-;11650:9;:7;:9::i;:::-;11642:39;;;;;-1:-1:-1;;;11642:39:0;;;;;;;;;;;;-1:-1:-1;;;11642:39:0;;;;;;;;;;;;;;;11723:3;;11686:17;11706:21;;;:16;:21;;;;;;;;-1:-1:-1;;;;;11706:27:0;;;;;;;;;11738:28;;:::i;:::-;-1:-1:-1;;;;;11769:17:0;;;;;;;:11;:17;;;;;;;;;11738:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11738:48:0;;;;;;;;;;;;;;;;;;;;;;;;;11769:17;;11738:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11738:48:0;;;-1:-1:-1;;11738:48:0;;;;;;;;;;;;;;;;-1:-1:-1;;11738:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11795:28;11812:10;11795:16;:28::i;:::-;11791:359;;;11863:24;:8;11876:10;11863:24;:12;:24;:::i;:::-;11843:15;;;;11835:24;;:3;;:24;:7;:24;:::i;:::-;:52;;:68;;;-1:-1:-1;11891:7:0;;:12;11835:68;:90;;;-1:-1:-1;11907:13:0;;:18;11835:90;11831:116;;;11934:7;;;;11831:116;11791:359;;;11972:7;;11964:71;;;;-1:-1:-1;;;11964:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12077:24;:8;12090:10;12077:24;:12;:24;:::i;:::-;12057:15;;;;12049:24;;:3;;:24;:7;:24;:::i;:::-;:52;;12041:103;;;;-1:-1:-1;;;12041:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12172:3;12154:15;;;:21;12184:17;;;;12205:1;12184:22;12180:46;;;12214:7;;;;12180:46;12295:17;;;;12273;;;;12230:14;;;;12273:40;;;:21;:40;:::i;:::-;12253:60;;12318:11;12332:1;12318:15;;12363:8;12342:4;:17;;;:29;;:58;;;;;12391:9;12375:12;:25;;12342:58;:88;;;;;12420:10;;12404:12;:26;;12342:88;12338:515;;;12461:1;12442:4;:16;;;:20;12438:231;;;12497:17;;;;12483:32;;:9;;:32;:13;:32;:::i;:::-;12531:17;;;;12574:16;;;;12471:44;;-1:-1:-1;12531:17:0;-1:-1:-1;12574:39:0;;12531:17;12574:39;:20;:39;:::i;:::-;12555:16;;;:58;12639:16;;;;:23;;12660:1;12639:23;:20;:23;:::i;:::-;12620:16;;;:42;12438:231;12698:1;12678:4;:16;;;:21;12674:174;;12746:17;;;;12726:15;;;;:38;;;:19;:38;:::i;:::-;12708:15;;;:56;12791:1;12771:17;;;:21;;;12799:17;;;:21;;;12827:10;;;:14;12674:174;12861:14;12857:38;;12883:7;;;;;;;12857:38;12903:17;;;;12899:150;;12959:17;;;;12945:32;;:9;;:32;:13;:32;:::i;:::-;12933:44;;13003:40;13025:4;:17;;;13003:4;:17;;;:21;;:40;;;;:::i;:::-;12983:17;;;:60;12899:150;13069:1;13057:9;:13;:39;;;;;13087:9;;13074;:22;;13057:39;13053:229;;;13104:27;13109:9;13119:6;13126:4;13104;:27::i;:::-;13141:17;;;;:21;13137:62;;13191:1;13171:17;;;:21;13137:62;13207:17;;;;13204:73;;13244:11;;;13238:32;;;;;;;;-1:-1:-1;;13238:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13244:11;;13238:32;;13244:11;13238:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13257:12;13238:5;:32::i;:::-;11600:1686;;;;;;:::o;931:169::-;1005:18;1009:4;1015:7;1005:3;:18::i;:::-;997:65;;;;-1:-1:-1;;;997:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1067:20:0;1090:5;1067:20;;;;;;;;;;;:28;;-1:-1:-1;;1067:28:0;;;931:169::o;762:164::-;834:18;838:4;844:7;834:3;:18::i;:::-;833:19;825:64;;;;;-1:-1:-1;;;825:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;894:20:0;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;894:27:0;917:4;894:27;;;762:164::o;1105:189::-;1177:4;-1:-1:-1;;;;;1196:21:0;;1188:69;;;;-1:-1:-1;;;1188:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1269:20:0;:11;:20;;;;;;;;;;;;;;;1105:189::o;15550:420::-;15649:3;;15656:1;15649:8;15646:59;;;15690:3;15673:14;:20;15646:59;-1:-1:-1;;;;;15741:17:0;;15709:29;15741:17;;;:11;:17;;;;;;;;15763:3;:5;;;;;;;;;;15773:19;;;15797:22;;:29;;-1:-1:-1;;;;;;15797:29:0;;;;;;;15831:34;;;;:21;;;;:34;;;;;:::i;:::-;-1:-1:-1;15870:26:0;;;;:17;;;;:26;;;;;:::i;:::-;;15932:4;15903:14;15918:10;15903:26;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;15903:26:0;;;;;-1:-1:-1;15903:26:0;;;;;;;;;;;;:33;;-1:-1:-1;;;;;;15903:33:0;;;-1:-1:-1;;;;;15903:33:0;;;;;;;15954:3;;-1:-1:-1;15941:17:0;;;:12;:17;;;;;;:24;;;;;;;;;;;;;;;-1:-1:-1;;;;;15550:420:0:o;19775:141::-;19833:7;19859:5;;;19877:6;;;;19869:27;;;;;-1:-1:-1;;;19869:27:0;;;;;;;;;;;;-1:-1:-1;;;19869:27:0;;;;;;;;;;;;;;;19910:1;19775:141;-1:-1:-1;;;19775:141:0:o;19478:138::-;19536:7;19562:1;19558;:5;19550:26;;;;;-1:-1:-1;;;19550:26:0;;;;;;;;;;;;-1:-1:-1;;;19550:26:0;;;;;;;;;;;;;;;19581:9;19597:1;19593;:5;;;;;;;19478:138;-1:-1:-1;;;;19478:138:0:o;19286:187::-;19344:7;19362:6;19358:32;;-1:-1:-1;19383:1:0;19376:8;;19358:32;19408:5;;;19412:1;19408;:5;:1;19426:5;;;;;:10;19418:35;;;;;-1:-1:-1;;;19418:35:0;;;;;;;;;;;;-1:-1:-1;;;19418:35:0;;;;;;;;;;;;;;15280:124;15321:4;;15335:7;;-1:-1:-1;;;;;15321:4:0;;;;:13;;15335:7;15343:14;:6;15354:2;15343:14;:10;:14;:::i;:::-;15321:37;;;;;;;;;;;;;-1:-1:-1;;;;;15321:37:0;-1:-1:-1;;;;;15321:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15321:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;15363:4:0;;15377:6;;-1:-1:-1;;;;;15363:4:0;;;;-1:-1:-1;15363:13:0;;-1:-1:-1;15377:6:0;15384:14;:6;15395:2;15384:14;:10;:14;:::i;:::-;15363:36;;;;;;;;;;;;;-1:-1:-1;;;;;15363:36:0;-1:-1:-1;;;;;15363:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15363:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15363:36:0;;;;15280:124;:::o;7964:1520::-;8058:3;;8021:17;8041:21;;;:16;:21;;;;;;;;-1:-1:-1;;;;;8041:32:0;;;;;;;;;8082:7;;8078:36;;8102:7;;;8078:36;8138:49;8183:3;8138:40;8160:4;:17;;;8138:4;:17;;;:21;;:40;;;;:::i;:49::-;8118:17;;;:69;8211:1;8192:16;;;:20;8237:11;;;8217:31;;;;;;;;-1:-1:-1;;8217:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;;:31;;8237:11;;8217:31;;8237:11;8217:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8253:11;8267:40;8289:4;:17;;;8267:4;:17;;;:21;;:40;;;;:::i;:::-;8253:54;;8312:10;8325:45;8357:4;:12;;;8325:27;8345:6;8325:4;:15;;;:19;;:27;;;;:::i;:45::-;8312:58;-1:-1:-1;8389:1:0;8375:651;8397:2;8392:1;:7;8375:651;;8416:21;;;-1:-1:-1;;;8416:21:0;;;;;;;;;;;;;;;;:7;;:12;;8429:3;;8416:21;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8416:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8416:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8416:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8416:21:0;8412:46;;;8446:5;;8412:46;8463:15;8481:14;8496:3;8481:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;8481:19:0;;;;;-1:-1:-1;8481:19:0;;;;;;;;;;;;;8544:3;;-1:-1:-1;8527:21:0;;;:16;:21;;;;;-1:-1:-1;;;;;8481:19:0;;;8527:30;;;;;;;;;;8566:8;;8481:19;;-1:-1:-1;8527:30:0;8566:13;8563:39;;-1:-1:-1;8563:39:0;;-1:-1:-1;8563:39:0;8590:5;;;;8563:39;8607:12;8622:83;8691:5;:13;;;8622:64;8667:5;:18;;;8622:40;8643:5;:18;;;8622:5;:16;;;:20;;:40;;;;:::i;:83::-;8727:13;;;;8607:98;;-1:-1:-1;8727:22:0;;8745:3;8727:22;:17;:22;:::i;:::-;8711:13;;;:38;8781:6;8761:16;:7;8773:3;8761:16;:11;:16;:::i;:::-;:26;;:46;;;;;8801:6;8791:7;:16;8761:46;8758:239;;;8821:13;8837:14;8852:5;:12;;8837:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8837:28:0;;;-1:-1:-1;;8837:28:0;;;;;;;;;;;;;8913:3;;8837:28;8896:21;;;:16;:21;;;;;-1:-1:-1;;;;;8837:28:0;;;8896;;;;;;;;;8938:8;;8837:28;;-1:-1:-1;8896:28:0;8938:13;8934:57;;8964:11;;;:16;;8979:1;8964:16;;;8934:57;8758:239;;;9008:12;;;9002:18;;;;;;;;;;;;;-1:-1:-1;;9002:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;9008:12;9002:18;;9008:12;9002:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8375:651;;;8401:3;;;;;;;8375:651;;;;9043:10;9033:6;:20;;:52;;;;-1:-1:-1;9075:10:0;9057:15;:6;9068:3;9057:15;:10;:15;:::i;:::-;:28;9033:52;9030:222;;;9096:13;9112:14;9127:4;:11;;9112:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9112:27:0;;;-1:-1:-1;;9112:27:0;;;;;;;;;;;;;9183:3;;9112:27;9166:21;;;:16;:21;;;;;-1:-1:-1;;;;;9112:27:0;;;9166:28;;;;;;;;;9204:8;;9112:27;;-1:-1:-1;9166:28:0;9204:13;9200:47;;9226:9;;;:14;;9239:1;9226:14;;;9200:47;9030:222;;;9268:6;9259:5;:15;;:42;;;;-1:-1:-1;9295:6:0;9278:14;:5;9288:3;9278:14;:9;:14;:::i;:::-;:23;9259:42;9256:220;;;9312:13;9328:14;9343:4;:11;;9328:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9328:27:0;;;-1:-1:-1;;9328:27:0;;;;;;;;;;;;;9399:3;;9328:27;9382:21;;;:16;:21;;;;;-1:-1:-1;;;;;9328:27:0;;;9382:28;;;;;;;;;9420:8;;9328:27;;-1:-1:-1;9382:28:0;9420:13;9416:55;;9445:11;;:16;;9460:1;9445:16;;;-1:-1:-1;;;;;;;7964:1520:0:o;7430:522::-;7495:11;7520:10;7533:35;7561:6;7533:23;7541:14;;7533:3;:7;;:23;;;;:::i;:35::-;7520:48;-1:-1:-1;7593:7:0;7622:3;7614:11;;7611:179;;;7645:6;7641:97;7659:5;7655:1;:9;7641:97;;;7698:23;7717:3;7698:14;:6;7709:2;7698:14;:10;:14;:::i;:23::-;7689:32;-1:-1:-1;7666:3:0;;7641:97;;;;7611:179;;;-1:-1:-1;7777:1:0;7611:179;7837:3;;7800:17;7820:21;;;:16;:21;;;;;;;;-1:-1:-1;;;;;7820:28:0;;;;;;;;;7919:8;;;;7868:76;;7913:30;;7919:23;;7939:2;;7919:15;;7932:1;7919:15;:12;:15;:::i;:23::-;7913:1;;:30;:5;:30;:::i;:::-;7868:40;7901:6;7868:40;7893:2;7868:20;:9;7882:5;7868:20;:13;:20;:::i;:76::-;7859:85;7430:522;-1:-1:-1;;;;;;7430:522:0:o;15075:200::-;15145:4;;:29;;;-1:-1:-1;;;15145:29:0;;15168:4;15145:29;;;;;;15129:4;;15178:9;;-1:-1:-1;;;;;15145:4:0;;;;:14;;:29;;;;;;;;;;;;;;;:4;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;15145:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15145:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15145:29:0;:42;15140:131;;-1:-1:-1;15202:9:0;15195:16;;15140:131;15236:4;;:29;;;-1:-1:-1;;;15236:29:0;;15259:4;15236:29;;;;;;-1:-1:-1;;;;;15236:4:0;;;;:14;;:29;;;;;;;;;;;;;;;:4;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;15236:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15236:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15236:29:0;;-1:-1:-1;15229:36:0;;15413:125;15479:9;;15475:59;;15496:4;;:32;;;-1:-1:-1;;;15496:32:0;;-1:-1:-1;;;;;15496:32:0;;;;;;;;;;;;;;;:4;;;;;:13;;:32;;;;;:4;;:32;;;;;;;:4;;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;15496:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;19621:149:0;19679:7;19706:1;19701;:6;;19693:35;;;;;-1:-1:-1;;;19693:35:0;;;;;;;;;;;;-1:-1:-1;;;19693:35:0;;;;;;;;;;;;;;;-1:-1:-1;19745:5:0;;;19621:149::o;14536:534::-;14600:11;14614:13;14621:5;14614:6;:13::i;:::-;14600:27;;14645:1;14636:6;:10;:33;;;;;14660:9;;14650:6;:19;;14636:33;14632:434;;;14689:6;14680;:15;14677:358;;;14736:35;;;14753:12;14736:35;;;;;;;;14767:3;14736:35;;;;;;26:21:-1;;;22:32;;6:49;;14736:35:0;;;;;;;14726:46;;;;;14706:9;;14718:70;;14786:1;;14718:63;;14778:2;14718:63;:59;:63;:::i;:70::-;14706:82;-1:-1:-1;14798:12:0;14813:37;14706:82;14813:27;14836:3;14813:18;:6;14824;14813:18;:10;:18;:::i;:37::-;14868:7;;;14798:52;;-1:-1:-1;14861:38:0;;-1:-1:-1;;;;;14868:7:0;;14877:21;;:14;14798:52;14889:1;14877:14;:11;:14;:::i;:21::-;14861:6;:38::i;:::-;14916:4;;14909:35;;-1:-1:-1;;;;;14916:4:0;14922:21;14941:1;14922:14;:7;14916:4;14922:14;:11;:14;:::i;14909:35::-;14961:5;;14954:36;;-1:-1:-1;;;;;14961:5:0;14968:21;14987:1;14968:14;:7;14961:5;14968:14;:11;:14;:::i;14954:36::-;15009:19;:6;15020:7;15009:19;:10;:19;:::i;:::-;15000:28;;14677:358;;;15040:20;15047:4;15053:6;15040;:20::i;13291:898::-;13373:6;13398:1;13384:801;13406:2;13401:1;:7;13384:801;;13425:21;;;-1:-1:-1;;;13425:21:0;;;;;;;;;;;;;;;;:7;;:12;;13438:3;;13425:21;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13425:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13425:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13425:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13425:21:0;13421:46;;;13455:5;;13421:46;13472:15;13490:14;13505:3;13490:19;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;13490:19:0;;;;;-1:-1:-1;13490:19:0;;;;;;;;;;;;;-1:-1:-1;;;;;13490:19:0;-1:-1:-1;13543:20:0;;;:11;:20;;;;;13607:3;;13590:21;;:16;:21;;;;;:30;;;;;;;;;;13632:13;;;;13490:19;;-1:-1:-1;13543:20:0;;13590:30;;-1:-1:-1;13632:18:0;;;-1:-1:-1;13632:18:0;:45;;-1:-1:-1;13654:18:0;;;;:23;13632:45;13628:99;;;13692:13;;;13686:19;;;;;;;;;;;;;-1:-1:-1;;13686:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;13692:13;13686:19;;13692:13;13686:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13712:8;;;;;13628:99;13732:16;13751:52;13758:5;:11;;;13770:5;:11;;;13782:5;:9;;;13792:5;:8;;;13801:1;13751:6;:52::i;:::-;13871:18;;;;13848;;;;13732:71;;-1:-1:-1;13809:16:0;;13848:42;;;:22;:42;:::i;:::-;13839:5;:51;13835:166;;-1:-1:-1;13913:5:0;13835:166;;;13975:18;;;;13952;;;;:42;;;:22;:42;:::i;:::-;13938:56;;13835:166;14010:16;;14006:149;;14035:12;14050:39;14083:5;14050:28;:11;14066;14050:28;:15;:28;:::i;:39::-;14117:18;;;;14035:54;;-1:-1:-1;14117:31:0;;14035:54;14117:31;:22;:31;:::i;:::-;14096:18;;;:52;-1:-1:-1;14006:149:0;14166:13;;;14160:19;;;;;;;;;;;;;-1:-1:-1;;14160:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14166:13;14160:19;;14166:13;14160:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13384:801;;;;;;13410:3;;13384:801;;19921:121;19979:7;20001:6;19993:27;;;;;-1:-1:-1;;;19993:27:0;;;;;;;;;;;;-1:-1:-1;;;19993:27:0;;;;;;;;;;;;;;;20036:1;20032;:5;;;;;;;19921:121;-1:-1:-1;;;19921:121:0:o;14192:335::-;14281:4;14294:5;14303:1;14294:10;:22;;;;;14315:1;14308:3;:8;;14294:22;14291:185;;;14339:1;14330:5;:10;14326:145;;14360:1;14352:9;;14326:145;;;14389:1;14380:5;:10;14376:95;;14410:1;14402:9;;14376:95;;;14439:1;14430:5;:10;14426:45;;14460:1;14452:9;;14426:45;14487:35;;;-1:-1:-1;;;14487:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:7;;:14;;:35;;;;;;;;;;;;;;:7;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;14487:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14487:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14487:35:0;;14192:335;-1:-1:-1;;;;;;14192:335:0:o;1970:15962::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;1970:15962:0;;;-1:-1:-1;;1970:15962:0:o;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;1970:15962:0;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;1970:15962:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1970:15962:0;;;-1:-1:-1;1970:15962:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

bzzr://1ed979d8746b24ab0240bb40ec0f47e3ea35f7a34d08f2d43f823dc29fce9cd7

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.