Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0.004321530000000002 ETH
Eth Value
$11.65 (@ $2,696.80/ETH)More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 15,596 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Demo_game | 12626329 | 1334 days ago | IN | 0 ETH | 0.00013822 | ||||
Demo_game | 12626306 | 1334 days ago | IN | 0 ETH | 0.00013822 | ||||
Demo_game | 12626306 | 1334 days ago | IN | 0 ETH | 0.00013816 | ||||
Demo_game | 12626306 | 1334 days ago | IN | 0 ETH | 0.00013834 | ||||
Demo_game | 12626304 | 1334 days ago | IN | 0 ETH | 0.00013816 | ||||
Demo_game | 12626303 | 1334 days ago | IN | 0 ETH | 0.00013822 | ||||
Demo_game | 12626303 | 1334 days ago | IN | 0 ETH | 0.00013822 | ||||
Demo_game | 12626303 | 1334 days ago | IN | 0 ETH | 0.00013822 | ||||
Demo_game | 12626293 | 1334 days ago | IN | 0 ETH | 0.00013816 | ||||
Demo_game | 12626293 | 1334 days ago | IN | 0 ETH | 0.0001384 | ||||
Demo_game | 12626293 | 1334 days ago | IN | 0 ETH | 0.0001384 | ||||
Demo_game | 12626293 | 1334 days ago | IN | 0 ETH | 0.00013816 | ||||
Demo_game | 12626264 | 1334 days ago | IN | 0 ETH | 0.0001384 | ||||
Demo_game | 12626264 | 1334 days ago | IN | 0 ETH | 0.0001381 | ||||
Demo_game | 12626264 | 1334 days ago | IN | 0 ETH | 0.00013822 | ||||
Demo_game | 12626264 | 1334 days ago | IN | 0 ETH | 0.00013828 | ||||
Demo_game | 12626264 | 1334 days ago | IN | 0 ETH | 0.00013816 | ||||
Demo_game | 12626264 | 1334 days ago | IN | 0 ETH | 0.00013816 | ||||
Demo_game | 12626264 | 1334 days ago | IN | 0 ETH | 0.0001384 | ||||
Demo_game | 12626264 | 1334 days ago | IN | 0 ETH | 0.0001384 | ||||
Demo_game | 12626264 | 1334 days ago | IN | 0 ETH | 0.0001381 | ||||
Demo_game | 12626264 | 1334 days ago | IN | 0 ETH | 0.0001384 | ||||
Demo_game | 12626264 | 1334 days ago | IN | 0 ETH | 0.0001384 | ||||
Demo_game | 12626264 | 1334 days ago | IN | 0 ETH | 0.00013822 | ||||
Demo_game | 12626264 | 1334 days ago | IN | 0 ETH | 0.00013816 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
10774856 | 1619 days ago | 0.13972947 ETH | ||||
10325097 | 1688 days ago | 0.679 ETH | ||||
10239145 | 1702 days ago | 3.395 ETH | ||||
10165374 | 1713 days ago | 0.097 ETH | ||||
10111187 | 1721 days ago | 0.1164 ETH | ||||
10091792 | 1724 days ago | 0.0396 ETH | ||||
10076998 | 1727 days ago | 10.67 ETH | ||||
10066684 | 1728 days ago | 12.61 ETH | ||||
10066507 | 1728 days ago | 12.61 ETH | ||||
10066169 | 1728 days ago | 0.097 ETH | ||||
10060392 | 1729 days ago | 13.095 ETH | ||||
10060355 | 1729 days ago | 13.095 ETH | ||||
10060269 | 1729 days ago | 13.095 ETH | ||||
10060229 | 1729 days ago | 13.095 ETH | ||||
10060146 | 1729 days ago | 13.095 ETH | ||||
10060098 | 1729 days ago | 13.095 ETH | ||||
10060049 | 1729 days ago | 13.095 ETH | ||||
10059996 | 1729 days ago | 12.61 ETH | ||||
10059958 | 1729 days ago | 13.095 ETH | ||||
10059855 | 1729 days ago | 12.61 ETH | ||||
10058986 | 1730 days ago | 12.61 ETH | ||||
10052182 | 1731 days ago | 12.61 ETH | ||||
10052052 | 1731 days ago | 0.97 ETH | ||||
10046747 | 1731 days ago | 4.365 ETH | ||||
10045433 | 1732 days ago | 16.49 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
CryptoGames
Compiler Version
v0.5.16+commit.9c3226ce
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-03-28 */ // ╔══╗╔═══╗╔╗╔╗╔═══╗╔════╗╔══╗╔═══╗╔══╗╔╗──╔╗╔═══╗──╔══╗─╔═══╗╔════╗ // ║╔═╝║╔═╗║║║║║║╔═╗║╚═╗╔═╝║╔╗║║╔══╝║╔╗║║║──║║║╔══╝──║╔╗║─║╔══╝╚═╗╔═╝ // ║║──║╚═╝║║╚╝║║╚═╝║──║║──║║║║║║╔═╗║╚╝║║╚╗╔╝║║╚══╗──║╚╝╚╗║╚══╗──║║ // ║║──║╔╗╔╝╚═╗║║╔══╝──║║──║║║║║║╚╗║║╔╗║║╔╗╔╗║║╔══╝──║╔═╗║║╔══╝──║║ // ║╚═╗║║║║──╔╝║║║─────║║──║╚╝║║╚═╝║║║║║║║╚╝║║║╚══╗╔╗║╚═╝║║╚══╗──║║ // ╚══╝╚╝╚╝──╚═╝╚╝─────╚╝──╚══╝╚═══╝╚╝╚╝╚╝──╚╝╚═══╝╚╝╚═══╝╚═══╝──╚╝ //By playing platform games you agree that your age is over 21 and you clearly understand that you can lose your coins //The platform is not responsible for all Ethereum cryptocurrency losses during the game. //The contract uses the entropy algorithm Signidice //https://github.com/gluk256/misc/blob/master/rng4ethereum/signidice.md pragma solidity 0.5.16; library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a / b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract CryptoGames { using SafeMath for uint; address payable public owner = 0x333333e25F2176e2e165Aeb1b933cE10Cf315b47; address public CROUPIER_BOB = 0xB0B3336c83A4c86FBd4f804BB8D410B23F181b05; uint public minStake = 0.01 ether; uint public maxStake = 15 ether; uint public constant WIN_COEFFICIENT = 198; uint public constant DICE_COEFFICIENT = 600; mapping(address => uint) public deposit; mapping(address => uint) public withdrawal; bool status = true; enum GameState { Pending, Win, Lose, Draw } enum Games { CoinFlip, KNB, Dice } struct Game { Games game_title; address payable player; uint bet; bytes32 seed; GameState state; uint result; bytes choice; uint profit; } event NewGame(address indexed player, bytes32 seed, uint bet, bytes choice, string game); event DemoGame(address indexed player, bytes32 seed, uint bet, bytes choice, string game); event ConfirmGame(address indexed player, string game, uint profit, bytes choice, uint game_choice, bytes32 seed, bool status, bool draw, uint timestamp); event Deposit(address indexed from, uint indexed block, uint value, uint time); event Withdrawal(address indexed from, uint indexed block, uint value, uint ident,uint time); mapping(bytes32 => Game) public listGames; // Only our croupier and no one else can open the bet modifier onlyCroupier() { require(msg.sender == CROUPIER_BOB); _; } // Check that the rate is between 0.01 - 15 ether modifier betInRange() { require(minStake <= msg.value && msg.value <= maxStake); _; } modifier onlyOwner { require(msg.sender == owner); _; } modifier isNotContract() { uint size; address addr = msg.sender; assembly { size := extcodesize(addr) } require(size == 0 && tx.origin == msg.sender); _; } modifier contractIsOn() { require(status); _; } // Game CoinFlip // The game of tossing a coin, the coin has 2 sides, // an eagle and a tails, which one is up to you to choose function game_coin(bytes memory _choice, bytes32 seed) public betInRange payable returns(uint8) { string memory game_title = 'CoinFlip'; uint8 user_choice; assembly {user_choice := mload(add(0x1, _choice))} require(listGames[seed].bet == 0x0); require(_choice.length == 1); require(user_choice == 0 || user_choice == 1); listGames[seed] = Game({ game_title: Games.CoinFlip, player: msg.sender, bet: msg.value, seed: seed, state: GameState.Pending, choice: _choice, result: 0, profit: 0 }); emit NewGame(msg.sender, seed, msg.value, _choice, game_title); return user_choice; } // Game KNB // Game of stone, scissors, paper // The stone breaks the scissors, the scissors cut the paper, the paper wraps the stone. // Everything is just kk in childhood, it remains only to try to play function game_knb(bytes memory _choice, bytes32 seed) public betInRange payable { string memory game_title = 'KNB'; uint8 user_choice; assembly {user_choice := mload(add(0x1, _choice))} require(listGames[seed].bet == 0x0); require(_choice.length == 1); //Checking that bids are in the right range //1 - stone, 2 - scissors, 3 - paper require(user_choice >=1 && user_choice <=3); listGames[seed] = Game({ game_title: Games.KNB, player: msg.sender, bet: msg.value, seed: seed, state: GameState.Pending, choice: _choice, result: 0, profit: 0 }); emit NewGame(msg.sender, seed, msg.value, _choice, game_title); } // Game Dice // Playing dice, the player can select up to 5 dice values at a time. The more dice a player chooses, the less his final reward. // The reward is calculated according to the formula: (6 / number of selected cubes) * bet function game_dice(bytes memory _choice, bytes32 seed) public betInRange payable { string memory game_title = 'Dice'; require(listGames[seed].bet == 0x0); //Checking that bids are in the right range, and no more than 5 cubes are selected require(_choice.length >= 1 && _choice.length <= 5); // for(uint i=0; i< _choice.length; i++){ // require(_choice[i] > 0 && _choice[i] < 7); // } listGames[seed] = Game({ game_title: Games.Dice, player: msg.sender, bet: msg.value, seed: seed, state: GameState.Pending, choice: _choice, result: 0, profit: 0 }); emit NewGame(msg.sender, seed, msg.value, _choice, game_title); } //Casino must sign the resulting value V with its PrivKey, thus producing the digital signature S = sign(PrivKey, V), and send the corresponding TX, containing S. //The contract recovers the actual public key (K) from the digital signature S, and verifies that it is equal to the previously published PubKey (K == PubKey). //If APK does not match PubKey, it is tantamount to cheating. In this case, the contract simply rejects the transaction. //The contract uses S as a seed for the predefined PRNG algorithm (e.g. SHA-3 based), which produces the lucky number (L), e.g. between 1 and 6. function confirm(bytes32 seed, uint8 _v, bytes32 _r, bytes32 _s) public onlyCroupier { // Checking that it was Uncle Bob who signed the transaction, otherwise we reject the impostor transaction require (ecrecover(seed, _v, _r, _s) == CROUPIER_BOB); Game storage game = listGames[seed]; bytes memory choice = game.choice; game.result = uint256(_s) % 12; uint profit = 0; uint8 user_choice; //Our algorithms are very simple and understandable even to the average Internet user and do not need additional explanation //Coin game algorithm if (game.game_title == Games.CoinFlip){ assembly {user_choice := mload(add(0x1, choice))} if(game.result == user_choice){ profit = game.bet.mul(WIN_COEFFICIENT).div(100); game.state = GameState.Win; game.profit = profit; game.player.transfer(profit); emit ConfirmGame(game.player, 'CoinFlip', profit, game.choice, game.result, game.seed, true, false, now); }else{ game.state = GameState.Lose; emit ConfirmGame(game.player, 'CoinFlip', 0, game.choice, game.result, game.seed, false, false, now); } //KNB game algorithm }else if(game.game_title == Games.KNB){ assembly {user_choice := mload(add(0x1, choice))} if(game.result != user_choice){ if (user_choice == 1 && game.result == 2 || user_choice == 2 && game.result == 3 || user_choice == 3 && game.result == 1) { profit = game.bet.mul(WIN_COEFFICIENT).div(100); game.state = GameState.Win; game.profit = profit; game.player.transfer(profit); emit ConfirmGame(game.player, 'KNB', profit, game.choice, game.result, game.seed, true, false, now); }else{ game.state = GameState.Lose; emit ConfirmGame(game.player, 'KNB', 0, game.choice, game.result, game.seed, false, false, now); } }else{ profit = game.bet.sub(0.001 ether); game.player.transfer(profit); game.state = GameState.Draw; emit ConfirmGame(game.player, 'KNB', profit, game.choice, game.result, game.seed, false, true, now); } //Dice game algorithm }else if(game.game_title == Games.Dice){ uint length = game.choice.length + 1; for(uint8 i=1; i< length; i++){ assembly {user_choice := mload(add(i, choice))} if (user_choice == game.result){ profit = game.bet.mul(DICE_COEFFICIENT.div(game.choice.length)).div(100); } } if(profit > 0){ game.state = GameState.Win; game.profit = profit; game.player.transfer(profit); emit ConfirmGame(game.player, 'Dice', profit, game.choice, game.result, game.seed, true, false, now); }else{ game.state = GameState.Lose; emit ConfirmGame(game.player, 'Dice', 0, game.choice, game.result, game.seed, false, false, now); } } } // Demo game, 0 ether value. To reduce the cost of the game, we calculate a random result on the server function demo_game(string memory game, bytes memory _choice, bytes32 seed, uint bet) public { emit DemoGame(msg.sender, seed, bet, _choice, game); } function get_player_choice(bytes32 seed) public view returns(bytes memory) { Game storage game = listGames[seed]; return game.choice; } //The casino has its own expenses for maintaining the servers, paying for them, each signature by our bot Bob costs 0.00135 ether //and we honestly believe that the money that players own is ours, everyone can try their luck and play with us function pay_royalty (uint _value) onlyOwner public { owner.transfer(_value * 1 ether); } //automatic withdrawal using server bot function multisend(address payable[] memory dests, uint256[] memory values, uint256[] memory ident) onlyOwner contractIsOn public returns(uint) { uint256 i = 0; while (i < dests.length) { uint transfer_value = values[i].sub(values[i].mul(3).div(100)); dests[i].transfer(transfer_value); withdrawal[dests[i]]+=values[i]; emit Withdrawal(dests[i], block.number, values[i], ident[i], now); i += 1; } return(i); } function startProphylaxy()onlyOwner public { status = false; } function stopProphylaxy()onlyOwner public { status = true; } // recharge function for games function() external isNotContract contractIsOn betInRange payable { deposit[msg.sender]+= msg.value; emit Deposit(msg.sender, block.number, msg.value, now); } } //P̴̩͖͈̳o̷̡̳̭̞͔̺̩̩w̸̡̡̡̤̹͙͔̜̮̟̺̬̰͔͉͉͎͉̠̝͜ͅe̵̜̤̹ŗ̶̹̞̰̭̹̭̻̤͔͈͓͉ę̵̡͉͚̲̞̘͙̥̳͇͓̭ḑ̷̞̰̯̭͚͎̣͔̜̝̬͜ͅͅ ̵̣̲b̷̢͙͈̣̝̩͔͉͖y̷̢̱̠̙̘̹̟̠̙͖͍̹̦͍ͅ ̵̡̢̠̗͎͍͕̯̹͈͈̬̹c̷̢̪̪͎̺̠̤̮̙̜̞͈̞̝̭̭r̸̥̯̩̩̝̟͉̲̪̣̬̟̮̤̲̜y̵̗̬͓͎̻̱̝̗͕̟͙̯͇̜̤̲͔̭̫͓p̸̢͇͇̠̪t̵̹̳̮͇͜ǫ̸̙̬ͅͅģ̵̹̬͉̫̣͔̝̳̘̰̘̤̮a̸̡͖̮͙̯̬̰̫̫̘͎͎̰͇̹̜̼̥͚͇͉͔͚͓m̸̢̫̙̫̮̪͕̭̟̬̣̟̫̦͙̖ȩ̸̡̧̟̰̯͖̲͍̳͚̘̦͎̙̥̫͎̺̤̮͜ͅ.̴̨̱̲͚b̸͍͔e̶̡̡̡̜̬͓̤̣͍̝͚͖̘͈̱̘̲̠͓͍͙͉̯͍t̵̻̮ // //
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"string","name":"game","type":"string"},{"indexed":false,"internalType":"uint256","name":"profit","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"choice","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"game_choice","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"seed","type":"bytes32"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"},{"indexed":false,"internalType":"bool","name":"draw","type":"bool"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"ConfirmGame","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"bytes32","name":"seed","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"bet","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"choice","type":"bytes"},{"indexed":false,"internalType":"string","name":"game","type":"string"}],"name":"DemoGame","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"uint256","name":"block","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"bytes32","name":"seed","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"bet","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"choice","type":"bytes"},{"indexed":false,"internalType":"string","name":"game","type":"string"}],"name":"NewGame","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"uint256","name":"block","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ident","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"Withdrawal","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"CROUPIER_BOB","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DICE_COEFFICIENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"WIN_COEFFICIENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"seed","type":"bytes32"},{"internalType":"uint8","name":"_v","type":"uint8"},{"internalType":"bytes32","name":"_r","type":"bytes32"},{"internalType":"bytes32","name":"_s","type":"bytes32"}],"name":"confirm","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"game","type":"string"},{"internalType":"bytes","name":"_choice","type":"bytes"},{"internalType":"bytes32","name":"seed","type":"bytes32"},{"internalType":"uint256","name":"bet","type":"uint256"}],"name":"demo_game","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"_choice","type":"bytes"},{"internalType":"bytes32","name":"seed","type":"bytes32"}],"name":"game_coin","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"_choice","type":"bytes"},{"internalType":"bytes32","name":"seed","type":"bytes32"}],"name":"game_dice","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"_choice","type":"bytes"},{"internalType":"bytes32","name":"seed","type":"bytes32"}],"name":"game_knb","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"seed","type":"bytes32"}],"name":"get_player_choice","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"listGames","outputs":[{"internalType":"enum CryptoGames.Games","name":"game_title","type":"uint8"},{"internalType":"address payable","name":"player","type":"address"},{"internalType":"uint256","name":"bet","type":"uint256"},{"internalType":"bytes32","name":"seed","type":"bytes32"},{"internalType":"enum CryptoGames.GameState","name":"state","type":"uint8"},{"internalType":"uint256","name":"result","type":"uint256"},{"internalType":"bytes","name":"choice","type":"bytes"},{"internalType":"uint256","name":"profit","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable[]","name":"dests","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"uint256[]","name":"ident","type":"uint256[]"}],"name":"multisend","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"pay_royalty","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"startProphylaxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"stopProphylaxy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"withdrawal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405273333333e25f2176e2e165aeb1b933ce10cf315b476000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b0b3336c83a4c86fbd4f804bb8d410b23f181b05600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550662386f26fc1000060025567d02ab486cedc00006003556001600660006101000a81548160ff0219169083151502179055503480156100eb57600080fd5b506130e5806100fb6000396000f3fe6080604052600436106101145760003560e01c8063a59fb2b0116100a0578063cc1b99e611610064578063cc1b99e614610aa2578063e0d015e214610c15578063ea1b28e014610c2c578063f340fa0114610c57578063f957eff214610cbc57610114565b8063a59fb2b014610574578063a7222dcd14610653578063b00606a514610780578063b4d4c5dc146107dc578063bb73fd8f146109dd57610114565b806369b0551e116100e757806369b0551e14610396578063756c3957146103ad5780638da5cb5b1461046157806396131049146104b8578063a5242d281461051d57610114565b80630bfb2a49146102405780632f7d746e1461027b57806334a0006314610340578063375b3c0a1461036b575b600080339050803b915060008214801561015957503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16145b61016257600080fd5b600660009054906101000a900460ff1661017b57600080fd5b346002541115801561018f57506003543411155b61019857600080fd5b34600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550433373ffffffffffffffffffffffffffffffffffffffff167f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e3442604051808381526020018281526020019250505060405180910390a35050005b34801561024c57600080fd5b506102796004803603602081101561026357600080fd5b8101908080359060200190929190505050610ce7565b005b61033e6004803603604081101561029157600080fd5b81019080803590602001906401000000008111156102ae57600080fd5b8201836020820111156102c057600080fd5b803590602001918460018302840111640100000000831117156102e257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610db5565b005b34801561034c57600080fd5b506103556110fb565b6040518082815260200191505060405180910390f35b34801561037757600080fd5b50610380611101565b6040518082815260200191505060405180910390f35b3480156103a257600080fd5b506103ab611107565b005b3480156103b957600080fd5b506103e6600480360360208110156103d057600080fd5b810190808035906020019092919050505061117d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561042657808201518184015260208101905061040b565b50505050905090810190601f1680156104535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561046d57600080fd5b5061047661123b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104c457600080fd5b50610507600480360360208110156104db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611260565b6040518082815260200191505060405180910390f35b34801561052957600080fd5b50610532611278565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106376004803603604081101561058a57600080fd5b81019080803590602001906401000000008111156105a757600080fd5b8201836020820111156105b957600080fd5b803590602001918460018302840111640100000000831117156105db57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061129e565b604051808260ff1660ff16815260200191505060405180910390f35b34801561065f57600080fd5b5061068c6004803603602081101561067657600080fd5b81019080803590602001909291905050506115e8565b6040518089600281111561069c57fe5b60ff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681526020018560038111156106ee57fe5b60ff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561073e578082015181840152602081019050610723565b50505050905090810190601f16801561076b5780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b34801561078c57600080fd5b506107da600480360360808110156107a357600080fd5b8101908080359060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050611702565b005b3480156107e857600080fd5b506109c7600480360360608110156107ff57600080fd5b810190808035906020019064010000000081111561081c57600080fd5b82018360208201111561082e57600080fd5b8035906020019184602083028401116401000000008311171561085057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156108b057600080fd5b8201836020820111156108c257600080fd5b803590602001918460208302840111640100000000831117156108e457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561094457600080fd5b82018360208201111561095657600080fd5b8035906020019184602083028401116401000000008311171561097857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050612852565b6040518082815260200191505060405180910390f35b610aa0600480360360408110156109f357600080fd5b8101908080359060200190640100000000811115610a1057600080fd5b820183602082011115610a2257600080fd5b80359060200191846001830284011164010000000083111715610a4457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050612ab4565b005b348015610aae57600080fd5b50610c1360048036036080811015610ac557600080fd5b8101908080359060200190640100000000811115610ae257600080fd5b820183602082011115610af457600080fd5b80359060200191846001830284011164010000000083111715610b1657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b7957600080fd5b820183602082011115610b8b57600080fd5b80359060200191846001830284011164010000000083111715610bad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190505050612ddd565b005b348015610c2157600080fd5b50610c2a612f13565b005b348015610c3857600080fd5b50610c41612f89565b6040518082815260200191505060405180910390f35b348015610c6357600080fd5b50610ca660048036036020811015610c7a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f8f565b6040518082815260200191505060405180910390f35b348015610cc857600080fd5b50610cd1612fa7565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d4057600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc670de0b6b3a764000083029081150290604051600060405180830381858888f19350505050158015610db1573d6000803e3d6000fd5b5050565b3460025411158015610dc957506003543411155b610dd257600080fd5b60606040518060400160405280600381526020017f4b4e42000000000000000000000000000000000000000000000000000000000081525090506000836001015190506000600760008581526020019081526020016000206001015414610e3857600080fd5b6001845114610e4657600080fd5b60018160ff1610158015610e5e575060038160ff1611155b610e6757600080fd5b60405180610100016040528060016002811115610e8057fe5b81526020013373ffffffffffffffffffffffffffffffffffffffff16815260200134815260200184815260200160006003811115610eba57fe5b81526020016000815260200185815260200160008152506007600085815260200190815260200160002060008201518160000160006101000a81548160ff02191690836002811115610f0857fe5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030160006101000a81548160ff02191690836003811115610f8c57fe5b021790555060a0820151816004015560c0820151816005019080519060200190610fb792919061300b565b5060e082015181600601559050503373ffffffffffffffffffffffffffffffffffffffff167f1c646349faeb8f989c08de33da36105039d60131795e41b9e0459ac465ed702d84348786604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015611051578082015181840152602081019050611036565b50505050905090810190601f16801561107e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156110b757808201518184015260208101905061109c565b50505050905090810190601f1680156110e45780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250505050565b61025881565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461116057600080fd5b6001600660006101000a81548160ff021916908315150217905550565b60606000600760008481526020019081526020016000209050806005018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561122e5780601f106112035761010080835404028352916020019161122e565b820191906000526020600020905b81548152906001019060200180831161121157829003601f168201915b5050505050915050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600034600254111580156112b457506003543411155b6112bd57600080fd5b60606040518060400160405280600881526020017f436f696e466c69700000000000000000000000000000000000000000000000008152509050600084600101519050600060076000868152602001908152602001600020600101541461132357600080fd5b600185511461133157600080fd5b60008160ff161480611346575060018160ff16145b61134f57600080fd5b6040518061010001604052806000600281111561136857fe5b81526020013373ffffffffffffffffffffffffffffffffffffffff168152602001348152602001858152602001600060038111156113a257fe5b81526020016000815260200186815260200160008152506007600086815260200190815260200160002060008201518160000160006101000a81548160ff021916908360028111156113f057fe5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030160006101000a81548160ff0219169083600381111561147457fe5b021790555060a0820151816004015560c082015181600501908051906020019061149f92919061300b565b5060e082015181600601559050503373ffffffffffffffffffffffffffffffffffffffff167f1c646349faeb8f989c08de33da36105039d60131795e41b9e0459ac465ed702d85348886604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561153957808201518184015260208101905061151e565b50505050905090810190601f1680156115665780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561159f578082015181840152602081019050611584565b50505050905090810190601f1680156115cc5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2809250505092915050565b60076020528060005260406000206000915090508060000160009054906101000a900460ff16908060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030160009054906101000a900460ff1690806004015490806005018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116f25780601f106116c7576101008083540402835291602001916116f2565b820191906000526020600020905b8154815290600101906020018083116116d557829003601f168201915b5050505050908060060154905088565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461175c57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660018585858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156117f2573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff161461181c57600080fd5b60006007600086815260200190815260200160002090506060816005018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118cd5780601f106118a2576101008083540402835291602001916118cd565b820191906000526020600020905b8154815290600101906020018083116118b057829003601f168201915b50505050509050600c8360001c816118e157fe5b068260040181905550600080905060008060028111156118fd57fe5b8460000160009054906101000a900460ff16600281111561191a57fe5b1415611d1257826001015190508060ff1684600401541415611b7457611961606461195360c68760010154612fac90919063ffffffff16565b612fdb90919063ffffffff16565b915060018460030160006101000a81548160ff0219169083600381111561198457fe5b02179055508184600601819055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156119fc573d6000803e3d6000fd5b508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62483866005018760040154886002015460016000426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260088152602001807f436f696e466c6970000000000000000000000000000000000000000000000000815250602001838103825289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611b5a5780601f10611b2f57610100808354040283529160200191611b5a565b820191906000526020600020905b815481529060010190602001808311611b3d57829003601f168201915b5050995050505050505050505060405180910390a2611d0d565b60028460030160006101000a81548160ff02191690836003811115611b9557fe5b02179055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62460008660050187600401548860020154600080426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260088152602001807f436f696e466c6970000000000000000000000000000000000000000000000000815250602001838103825289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611cf75780601f10611ccc57610100808354040283529160200191611cf7565b820191906000526020600020905b815481529060010190602001808311611cda57829003601f168201915b5050995050505050505050505060405180910390a25b612848565b60016002811115611d1f57fe5b8460000160009054906101000a900460ff166002811115611d3c57fe5b14156123b457826001015190508060ff1684600401541461218b5760018160ff16148015611d6e575060028460040154145b80611d8c575060028160ff16148015611d8b575060038460040154145b5b80611daa575060038160ff16148015611da9575060018460040154145b5b15611fed57611dda6064611dcc60c68760010154612fac90919063ffffffff16565b612fdb90919063ffffffff16565b915060018460030160006101000a81548160ff02191690836003811115611dfd57fe5b02179055508184600601819055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611e75573d6000803e3d6000fd5b508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62483866005018760040154886002015460016000426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260038152602001807f4b4e420000000000000000000000000000000000000000000000000000000000815250602001838103825289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611fd35780601f10611fa857610100808354040283529160200191611fd3565b820191906000526020600020905b815481529060010190602001808311611fb657829003601f168201915b5050995050505050505050505060405180910390a2612186565b60028460030160006101000a81548160ff0219169083600381111561200e57fe5b02179055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62460008660050187600401548860020154600080426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260038152602001807f4b4e4200000000000000000000000000000000000000000000000000000000008152506020018381038252898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156121705780601f1061214557610100808354040283529160200191612170565b820191906000526020600020905b81548152906001019060200180831161215357829003601f168201915b5050995050505050505050505060405180910390a25b6123af565b6121a966038d7ea4c680008560010154612ff490919063ffffffff16565b91508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612215573d6000803e3d6000fd5b5060038460030160006101000a81548160ff0219169083600381111561223757fe5b02179055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62483866005018760040154886002015460006001426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260038152602001807f4b4e4200000000000000000000000000000000000000000000000000000000008152506020018381038252898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156123995780601f1061236e57610100808354040283529160200191612399565b820191906000526020600020905b81548152906001019060200180831161237c57829003601f168201915b5050995050505050505050505060405180910390a25b612847565b6002808111156123c057fe5b8460000160009054906101000a900460ff1660028111156123dd57fe5b14156128465760006001856005018054600181600116156101000203166002900490500190506000600190505b818160ff1610156124905784810151925085600401548360ff16141561248357612480606461247261245f89600501805460018160011615610100020316600290049050610258612fdb90919063ffffffff16565b8960010154612fac90919063ffffffff16565b612fdb90919063ffffffff16565b93505b808060010191505061240a565b5060008311156126ab5760018560030160006101000a81548160ff021916908360038111156124bb57fe5b02179055508285600601819055508460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612533573d6000803e3d6000fd5b508460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62484876005018860040154896002015460016000426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260048152602001807f44696365000000000000000000000000000000000000000000000000000000008152506020018381038252898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156126915780601f1061266657610100808354040283529160200191612691565b820191906000526020600020905b81548152906001019060200180831161267457829003601f168201915b5050995050505050505050505060405180910390a2612844565b60028560030160006101000a81548160ff021916908360038111156126cc57fe5b02179055508460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62460008760050188600401548960020154600080426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260048152602001807f446963650000000000000000000000000000000000000000000000000000000081525060200183810382528981815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561282e5780601f106128035761010080835404028352916020019161282e565b820191906000526020600020905b81548152906001019060200180831161281157829003601f168201915b5050995050505050505050505060405180910390a25b505b5b5b5050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128ad57600080fd5b600660009054906101000a900460ff166128c657600080fd5b60008090505b8451811015612aa9576000612936612914606461290660038987815181106128f057fe5b6020026020010151612fac90919063ffffffff16565b612fdb90919063ffffffff16565b86848151811061292057fe5b6020026020010151612ff490919063ffffffff16565b905085828151811061294457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612991573d6000803e3d6000fd5b5084828151811061299e57fe5b6020026020010151600560008885815181106129b657fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555043868381518110612a1257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f887e73c01568cecc3fe477a39c098f6599306a7592db9c8941dfc71ff9046d06878581518110612a5d57fe5b6020026020010151878681518110612a7157fe5b60200260200101514260405180848152602001838152602001828152602001935050505060405180910390a3600182019150506128cc565b809150509392505050565b3460025411158015612ac857506003543411155b612ad157600080fd5b60606040518060400160405280600481526020017f446963650000000000000000000000000000000000000000000000000000000081525090506000600760008481526020019081526020016000206001015414612b2e57600080fd5b6001835110158015612b4257506005835111155b612b4b57600080fd5b604051806101000160405280600280811115612b6357fe5b81526020013373ffffffffffffffffffffffffffffffffffffffff16815260200134815260200183815260200160006003811115612b9d57fe5b81526020016000815260200184815260200160008152506007600084815260200190815260200160002060008201518160000160006101000a81548160ff02191690836002811115612beb57fe5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030160006101000a81548160ff02191690836003811115612c6f57fe5b021790555060a0820151816004015560c0820151816005019080519060200190612c9a92919061300b565b5060e082015181600601559050503373ffffffffffffffffffffffffffffffffffffffff167f1c646349faeb8f989c08de33da36105039d60131795e41b9e0459ac465ed702d83348685604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612d34578082015181840152602081019050612d19565b50505050905090810190601f168015612d615780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612d9a578082015181840152602081019050612d7f565b50505050905090810190601f168015612dc75780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2505050565b3373ffffffffffffffffffffffffffffffffffffffff167f7d0ffe8ecd69a54f608e1b8817673120d5c588d556437db48109f9660ae09bc283838688604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612e69578082015181840152602081019050612e4e565b50505050905090810190601f168015612e965780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612ecf578082015181840152602081019050612eb4565b50505050905090810190601f168015612efc5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612f6c57600080fd5b6000600660006101000a81548160ff021916908315150217905550565b60035481565b60046020528060005260406000206000915090505481565b60c681565b60008082840290506000841480612fcb575082848281612fc857fe5b04145b612fd157fe5b8091505092915050565b600080828481612fe757fe5b0490508091505092915050565b60008282111561300057fe5b818303905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061304c57805160ff191683800117855561307a565b8280016001018555821561307a579182015b8281111561307957825182559160200191906001019061305e565b5b509050613087919061308b565b5090565b6130ad91905b808211156130a9576000816000905550600101613091565b5090565b9056fea265627a7a72315820ae19df3b7dac8414747b3b4104ff5bc029758ad0334c093e52207020727726c764736f6c63430005100032
Deployed Bytecode
0x6080604052600436106101145760003560e01c8063a59fb2b0116100a0578063cc1b99e611610064578063cc1b99e614610aa2578063e0d015e214610c15578063ea1b28e014610c2c578063f340fa0114610c57578063f957eff214610cbc57610114565b8063a59fb2b014610574578063a7222dcd14610653578063b00606a514610780578063b4d4c5dc146107dc578063bb73fd8f146109dd57610114565b806369b0551e116100e757806369b0551e14610396578063756c3957146103ad5780638da5cb5b1461046157806396131049146104b8578063a5242d281461051d57610114565b80630bfb2a49146102405780632f7d746e1461027b57806334a0006314610340578063375b3c0a1461036b575b600080339050803b915060008214801561015957503373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16145b61016257600080fd5b600660009054906101000a900460ff1661017b57600080fd5b346002541115801561018f57506003543411155b61019857600080fd5b34600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550433373ffffffffffffffffffffffffffffffffffffffff167f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e3442604051808381526020018281526020019250505060405180910390a35050005b34801561024c57600080fd5b506102796004803603602081101561026357600080fd5b8101908080359060200190929190505050610ce7565b005b61033e6004803603604081101561029157600080fd5b81019080803590602001906401000000008111156102ae57600080fd5b8201836020820111156102c057600080fd5b803590602001918460018302840111640100000000831117156102e257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610db5565b005b34801561034c57600080fd5b506103556110fb565b6040518082815260200191505060405180910390f35b34801561037757600080fd5b50610380611101565b6040518082815260200191505060405180910390f35b3480156103a257600080fd5b506103ab611107565b005b3480156103b957600080fd5b506103e6600480360360208110156103d057600080fd5b810190808035906020019092919050505061117d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561042657808201518184015260208101905061040b565b50505050905090810190601f1680156104535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561046d57600080fd5b5061047661123b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104c457600080fd5b50610507600480360360208110156104db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611260565b6040518082815260200191505060405180910390f35b34801561052957600080fd5b50610532611278565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106376004803603604081101561058a57600080fd5b81019080803590602001906401000000008111156105a757600080fd5b8201836020820111156105b957600080fd5b803590602001918460018302840111640100000000831117156105db57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061129e565b604051808260ff1660ff16815260200191505060405180910390f35b34801561065f57600080fd5b5061068c6004803603602081101561067657600080fd5b81019080803590602001909291905050506115e8565b6040518089600281111561069c57fe5b60ff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018681526020018560038111156106ee57fe5b60ff16815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561073e578082015181840152602081019050610723565b50505050905090810190601f16801561076b5780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b34801561078c57600080fd5b506107da600480360360808110156107a357600080fd5b8101908080359060200190929190803560ff1690602001909291908035906020019092919080359060200190929190505050611702565b005b3480156107e857600080fd5b506109c7600480360360608110156107ff57600080fd5b810190808035906020019064010000000081111561081c57600080fd5b82018360208201111561082e57600080fd5b8035906020019184602083028401116401000000008311171561085057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156108b057600080fd5b8201836020820111156108c257600080fd5b803590602001918460208302840111640100000000831117156108e457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561094457600080fd5b82018360208201111561095657600080fd5b8035906020019184602083028401116401000000008311171561097857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050612852565b6040518082815260200191505060405180910390f35b610aa0600480360360408110156109f357600080fd5b8101908080359060200190640100000000811115610a1057600080fd5b820183602082011115610a2257600080fd5b80359060200191846001830284011164010000000083111715610a4457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050612ab4565b005b348015610aae57600080fd5b50610c1360048036036080811015610ac557600080fd5b8101908080359060200190640100000000811115610ae257600080fd5b820183602082011115610af457600080fd5b80359060200191846001830284011164010000000083111715610b1657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b7957600080fd5b820183602082011115610b8b57600080fd5b80359060200191846001830284011164010000000083111715610bad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190929190505050612ddd565b005b348015610c2157600080fd5b50610c2a612f13565b005b348015610c3857600080fd5b50610c41612f89565b6040518082815260200191505060405180910390f35b348015610c6357600080fd5b50610ca660048036036020811015610c7a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f8f565b6040518082815260200191505060405180910390f35b348015610cc857600080fd5b50610cd1612fa7565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d4057600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc670de0b6b3a764000083029081150290604051600060405180830381858888f19350505050158015610db1573d6000803e3d6000fd5b5050565b3460025411158015610dc957506003543411155b610dd257600080fd5b60606040518060400160405280600381526020017f4b4e42000000000000000000000000000000000000000000000000000000000081525090506000836001015190506000600760008581526020019081526020016000206001015414610e3857600080fd5b6001845114610e4657600080fd5b60018160ff1610158015610e5e575060038160ff1611155b610e6757600080fd5b60405180610100016040528060016002811115610e8057fe5b81526020013373ffffffffffffffffffffffffffffffffffffffff16815260200134815260200184815260200160006003811115610eba57fe5b81526020016000815260200185815260200160008152506007600085815260200190815260200160002060008201518160000160006101000a81548160ff02191690836002811115610f0857fe5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030160006101000a81548160ff02191690836003811115610f8c57fe5b021790555060a0820151816004015560c0820151816005019080519060200190610fb792919061300b565b5060e082015181600601559050503373ffffffffffffffffffffffffffffffffffffffff167f1c646349faeb8f989c08de33da36105039d60131795e41b9e0459ac465ed702d84348786604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015611051578082015181840152602081019050611036565b50505050905090810190601f16801561107e5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156110b757808201518184015260208101905061109c565b50505050905090810190601f1680156110e45780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250505050565b61025881565b60025481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461116057600080fd5b6001600660006101000a81548160ff021916908315150217905550565b60606000600760008481526020019081526020016000209050806005018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561122e5780601f106112035761010080835404028352916020019161122e565b820191906000526020600020905b81548152906001019060200180831161121157829003601f168201915b5050505050915050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600034600254111580156112b457506003543411155b6112bd57600080fd5b60606040518060400160405280600881526020017f436f696e466c69700000000000000000000000000000000000000000000000008152509050600084600101519050600060076000868152602001908152602001600020600101541461132357600080fd5b600185511461133157600080fd5b60008160ff161480611346575060018160ff16145b61134f57600080fd5b6040518061010001604052806000600281111561136857fe5b81526020013373ffffffffffffffffffffffffffffffffffffffff168152602001348152602001858152602001600060038111156113a257fe5b81526020016000815260200186815260200160008152506007600086815260200190815260200160002060008201518160000160006101000a81548160ff021916908360028111156113f057fe5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030160006101000a81548160ff0219169083600381111561147457fe5b021790555060a0820151816004015560c082015181600501908051906020019061149f92919061300b565b5060e082015181600601559050503373ffffffffffffffffffffffffffffffffffffffff167f1c646349faeb8f989c08de33da36105039d60131795e41b9e0459ac465ed702d85348886604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561153957808201518184015260208101905061151e565b50505050905090810190601f1680156115665780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561159f578082015181840152602081019050611584565b50505050905090810190601f1680156115cc5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2809250505092915050565b60076020528060005260406000206000915090508060000160009054906101000a900460ff16908060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030160009054906101000a900460ff1690806004015490806005018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116f25780601f106116c7576101008083540402835291602001916116f2565b820191906000526020600020905b8154815290600101906020018083116116d557829003601f168201915b5050505050908060060154905088565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461175c57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660018585858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156117f2573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff161461181c57600080fd5b60006007600086815260200190815260200160002090506060816005018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118cd5780601f106118a2576101008083540402835291602001916118cd565b820191906000526020600020905b8154815290600101906020018083116118b057829003601f168201915b50505050509050600c8360001c816118e157fe5b068260040181905550600080905060008060028111156118fd57fe5b8460000160009054906101000a900460ff16600281111561191a57fe5b1415611d1257826001015190508060ff1684600401541415611b7457611961606461195360c68760010154612fac90919063ffffffff16565b612fdb90919063ffffffff16565b915060018460030160006101000a81548160ff0219169083600381111561198457fe5b02179055508184600601819055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156119fc573d6000803e3d6000fd5b508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62483866005018760040154886002015460016000426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260088152602001807f436f696e466c6970000000000000000000000000000000000000000000000000815250602001838103825289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611b5a5780601f10611b2f57610100808354040283529160200191611b5a565b820191906000526020600020905b815481529060010190602001808311611b3d57829003601f168201915b5050995050505050505050505060405180910390a2611d0d565b60028460030160006101000a81548160ff02191690836003811115611b9557fe5b02179055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62460008660050187600401548860020154600080426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260088152602001807f436f696e466c6970000000000000000000000000000000000000000000000000815250602001838103825289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611cf75780601f10611ccc57610100808354040283529160200191611cf7565b820191906000526020600020905b815481529060010190602001808311611cda57829003601f168201915b5050995050505050505050505060405180910390a25b612848565b60016002811115611d1f57fe5b8460000160009054906101000a900460ff166002811115611d3c57fe5b14156123b457826001015190508060ff1684600401541461218b5760018160ff16148015611d6e575060028460040154145b80611d8c575060028160ff16148015611d8b575060038460040154145b5b80611daa575060038160ff16148015611da9575060018460040154145b5b15611fed57611dda6064611dcc60c68760010154612fac90919063ffffffff16565b612fdb90919063ffffffff16565b915060018460030160006101000a81548160ff02191690836003811115611dfd57fe5b02179055508184600601819055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611e75573d6000803e3d6000fd5b508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62483866005018760040154886002015460016000426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260038152602001807f4b4e420000000000000000000000000000000000000000000000000000000000815250602001838103825289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611fd35780601f10611fa857610100808354040283529160200191611fd3565b820191906000526020600020905b815481529060010190602001808311611fb657829003601f168201915b5050995050505050505050505060405180910390a2612186565b60028460030160006101000a81548160ff0219169083600381111561200e57fe5b02179055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62460008660050187600401548860020154600080426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260038152602001807f4b4e4200000000000000000000000000000000000000000000000000000000008152506020018381038252898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156121705780601f1061214557610100808354040283529160200191612170565b820191906000526020600020905b81548152906001019060200180831161215357829003601f168201915b5050995050505050505050505060405180910390a25b6123af565b6121a966038d7ea4c680008560010154612ff490919063ffffffff16565b91508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612215573d6000803e3d6000fd5b5060038460030160006101000a81548160ff0219169083600381111561223757fe5b02179055508360000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62483866005018760040154886002015460006001426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260038152602001807f4b4e4200000000000000000000000000000000000000000000000000000000008152506020018381038252898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156123995780601f1061236e57610100808354040283529160200191612399565b820191906000526020600020905b81548152906001019060200180831161237c57829003601f168201915b5050995050505050505050505060405180910390a25b612847565b6002808111156123c057fe5b8460000160009054906101000a900460ff1660028111156123dd57fe5b14156128465760006001856005018054600181600116156101000203166002900490500190506000600190505b818160ff1610156124905784810151925085600401548360ff16141561248357612480606461247261245f89600501805460018160011615610100020316600290049050610258612fdb90919063ffffffff16565b8960010154612fac90919063ffffffff16565b612fdb90919063ffffffff16565b93505b808060010191505061240a565b5060008311156126ab5760018560030160006101000a81548160ff021916908360038111156124bb57fe5b02179055508285600601819055508460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015612533573d6000803e3d6000fd5b508460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62484876005018860040154896002015460016000426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260048152602001807f44696365000000000000000000000000000000000000000000000000000000008152506020018381038252898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156126915780601f1061266657610100808354040283529160200191612691565b820191906000526020600020905b81548152906001019060200180831161267457829003601f168201915b5050995050505050505050505060405180910390a2612844565b60028560030160006101000a81548160ff021916908360038111156126cc57fe5b02179055508460000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f5b169aaf423cda43406f638af988bfcfa4c078c96135c775c4fbfc8efc42d62460008760050188600401548960020154600080426040518080602001898152602001806020018881526020018781526020018615151515815260200185151515158152602001848152602001838103835260048152602001807f446963650000000000000000000000000000000000000000000000000000000081525060200183810382528981815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561282e5780601f106128035761010080835404028352916020019161282e565b820191906000526020600020905b81548152906001019060200180831161281157829003601f168201915b5050995050505050505050505060405180910390a25b505b5b5b5050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128ad57600080fd5b600660009054906101000a900460ff166128c657600080fd5b60008090505b8451811015612aa9576000612936612914606461290660038987815181106128f057fe5b6020026020010151612fac90919063ffffffff16565b612fdb90919063ffffffff16565b86848151811061292057fe5b6020026020010151612ff490919063ffffffff16565b905085828151811061294457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612991573d6000803e3d6000fd5b5084828151811061299e57fe5b6020026020010151600560008885815181106129b657fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555043868381518110612a1257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f887e73c01568cecc3fe477a39c098f6599306a7592db9c8941dfc71ff9046d06878581518110612a5d57fe5b6020026020010151878681518110612a7157fe5b60200260200101514260405180848152602001838152602001828152602001935050505060405180910390a3600182019150506128cc565b809150509392505050565b3460025411158015612ac857506003543411155b612ad157600080fd5b60606040518060400160405280600481526020017f446963650000000000000000000000000000000000000000000000000000000081525090506000600760008481526020019081526020016000206001015414612b2e57600080fd5b6001835110158015612b4257506005835111155b612b4b57600080fd5b604051806101000160405280600280811115612b6357fe5b81526020013373ffffffffffffffffffffffffffffffffffffffff16815260200134815260200183815260200160006003811115612b9d57fe5b81526020016000815260200184815260200160008152506007600084815260200190815260200160002060008201518160000160006101000a81548160ff02191690836002811115612beb57fe5b021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030160006101000a81548160ff02191690836003811115612c6f57fe5b021790555060a0820151816004015560c0820151816005019080519060200190612c9a92919061300b565b5060e082015181600601559050503373ffffffffffffffffffffffffffffffffffffffff167f1c646349faeb8f989c08de33da36105039d60131795e41b9e0459ac465ed702d83348685604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612d34578082015181840152602081019050612d19565b50505050905090810190601f168015612d615780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612d9a578082015181840152602081019050612d7f565b50505050905090810190601f168015612dc75780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2505050565b3373ffffffffffffffffffffffffffffffffffffffff167f7d0ffe8ecd69a54f608e1b8817673120d5c588d556437db48109f9660ae09bc283838688604051808581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612e69578082015181840152602081019050612e4e565b50505050905090810190601f168015612e965780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612ecf578082015181840152602081019050612eb4565b50505050905090810190601f168015612efc5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a250505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612f6c57600080fd5b6000600660006101000a81548160ff021916908315150217905550565b60035481565b60046020528060005260406000206000915090505481565b60c681565b60008082840290506000841480612fcb575082848281612fc857fe5b04145b612fd157fe5b8091505092915050565b600080828481612fe757fe5b0490508091505092915050565b60008282111561300057fe5b818303905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061304c57805160ff191683800117855561307a565b8280016001018555821561307a579182015b8281111561307957825182559160200191906001019061305e565b5b509050613087919061308b565b5090565b6130ad91905b808211156130a9576000816000905550600101613091565b5090565b9056fea265627a7a72315820ae19df3b7dac8414747b3b4104ff5bc029758ad0334c093e52207020727726c764736f6c63430005100032
Deployed Bytecode Sourcemap
2117:11097:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4074:9;4094:12;4109:10;4094:25;;4161:4;4149:17;4141:25;;4194:1;4186:4;:9;:36;;;;;4212:10;4199:23;;:9;:23;;;4186:36;4178:45;;;;;;4298:6;;;;;;;;;;;4290:15;;;;;;3890:9;3878:8;;:21;;:46;;;;;3916:8;;3903:9;:21;;3878:46;3870:55;;;;;;13129:9;13107:7;:19;13115:10;13107:19;;;;;;;;;;;;;;;;:31;;;;;;;;;;;13174:12;13162:10;13154:49;;;13188:9;13199:3;13154:49;;;;;;;;;;;;;;;;;;;;;;;;13030:181;;2117:11097;12129:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12129:103:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12129:103:0;;;;;;;;;;;;;;;;;:::i;:::-;;5497:825;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5497:825:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5497:825:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5497:825:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5497:825:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;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;;5497:825:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2463:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2463:43:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2336:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2336:33:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12914:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12914:74:0;;;:::i;:::-;;11707:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11707:158:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11707:158:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11707:158:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2175:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2175:74:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2559:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2559:42:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2559:42:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2256:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2256:73:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4476:784;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4476:784:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4476:784:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4476:784:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4476:784:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;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;;4476:784:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3567:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3567:41:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3567:41:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3567:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8037:3381;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8037:3381:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;8037:3381:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12289:525;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12289:525:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12289:525:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;12289:525:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12289:525:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;12289:525:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;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;;12289:525:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;12289:525:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12289:525:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;12289:525:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;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;;12289:525:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;12289:525:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12289:525:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;12289:525:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;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;;12289:525:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6583:837;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6583:837:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;6583:837:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6583:837:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;6583:837:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;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;;6583:837:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11533:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11533:162:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;11533:162:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11533:162:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11533:162:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11533:162:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;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;;11533:162:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;11533:162:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11533:162:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11533:162:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;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;;11533:162:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12826:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12826:76:0;;;:::i;:::-;;2376:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2376:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2513:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2513:39:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2513:39:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2414:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2414:42:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12129:103;4009:5;;;;;;;;;;;3995:19;;:10;:19;;;3987:28;;;;;;12192:5;;;;;;;;;;;:14;;:32;12216:7;12207:6;:16;12192:32;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12192:32:0;12129:103;:::o;5497:825::-;3890:9;3878:8;;:21;;:46;;;;;3916:8;;3903:9;:21;;3878:46;3870:55;;;;;;5588:24;:32;;;;;;;;;;;;;;;;;;;5631:17;5699:7;5694:3;5690:17;5684:24;5669:39;;5750:3;5727:9;:15;5737:4;5727:15;;;;;;;;;;;:19;;;:26;5719:35;;;;;;5791:1;5773:7;:14;:19;5765:28;;;;;;5925:1;5911:11;:15;;;;:34;;;;;5944:1;5930:11;:15;;;;5911:34;5903:43;;;;;;5985:257;;;;;;;;6017:9;5985:257;;;;;;;;;;;;6049:10;5985:257;;;;;;6079:9;5985:257;;;;6109:4;5985:257;;;;6135:17;5985:257;;;;;;;;;;;;6205:1;5985:257;;;;6175:7;5985:257;;;;6229:1;5985:257;;;5967:9;:15;5977:4;5967:15;;;;;;;;;;;:275;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6265:10;6257:57;;;6277:4;6283:9;6294:7;6303:10;6257:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6257:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6257:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3936:1;;5497:825;;:::o;2463:43::-;2503:3;2463:43;:::o;2336:33::-;;;;:::o;12914:74::-;4009:5;;;;;;;;;;;3995:19;;:10;:19;;;3987:28;;;;;;12976:4;12967:6;;:13;;;;;;;;;;;;;;;;;;12914:74::o;11707:158::-;11768:12;11793:17;11813:9;:15;11823:4;11813:15;;;;;;;;;;;11793:35;;11846:4;:11;;11839:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11707:158;;;:::o;2175:74::-;;;;;;;;;;;;;:::o;2559:42::-;;;;;;;;;;;;;;;;;:::o;2256:73::-;;;;;;;;;;;;;:::o;4476:784::-;4565:5;3890:9;3878:8;;:21;;:46;;;;;3916:8;;3903:9;:21;;3878:46;3870:55;;;;;;4583:24;:37;;;;;;;;;;;;;;;;;;;4631:17;4699:7;4694:3;4690:17;4684:24;4669:39;;4750:3;4727:9;:15;4737:4;4727:15;;;;;;;;;;;:19;;;:26;4719:35;;;;;;4791:1;4773:7;:14;:19;4765:28;;;;;;4827:1;4812:11;:16;;;:36;;;;4847:1;4832:11;:16;;;4812:36;4804:45;;;;;;4888:262;;;;;;;;4920:14;4888:262;;;;;;;;;;;;4957:10;4888:262;;;;;;4987:9;4888:262;;;;5017:4;4888:262;;;;5043:17;4888:262;;;;;;;;;;;;5113:1;4888:262;;;;5083:7;4888:262;;;;5137:1;4888:262;;;4870:9;:15;4880:4;4870:15;;;;;;;;;;;:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5174:10;5166:57;;;5186:4;5192:9;5203:7;5212:10;5166:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5166:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5166:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5241:11;5234:18;;;;4476:784;;;;:::o;3567:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8037:3381::-;3737:12;;;;;;;;;;;3723:26;;:10;:26;;;3715:35;;;;;;8289:12;;;;;;;;;;;8258:43;;:27;8268:4;8274:2;8278;8282;8258:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8258:27:0;;;;;;;;:43;;;8249:53;;;;;;8313:17;8333:9;:15;8343:4;8333:15;;;;;;;;;;;8313:35;;8359:19;8381:4;:11;;8359:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8431:2;8425;8417:11;;:16;;;;;;8403:4;:11;;:30;;;;8444:11;8458:1;8444:15;;8470:17;8686:14;8667:33;;;;;;;;:4;:15;;;;;;;;;;;;:33;;;;;;;;;8663:2748;;;8756:6;8751:3;8747:16;8741:23;8726:38;;8797:11;8782:26;;:4;:11;;;:26;8779:551;;;8837:38;8871:3;8837:29;2453:3;8837:4;:8;;;:12;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;8828:47;;8907:13;8894:4;:10;;;:26;;;;;;;;;;;;;;;;;;;;;;;;8953:6;8939:4;:11;;:20;;;;8978:4;:11;;;;;;;;;;;;:20;;:28;8999:6;8978:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8978:28:0;9042:4;:11;;;;;;;;;;;;9030:99;;;9067:6;9075:4;:11;;9088:4;:11;;;9101:4;:9;;;9112:4;9118:5;9125:3;9030:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8779:551;;;9181:14;9168:4;:10;;;:27;;;;;;;;;;;;;;;;;;;;;;;;9231:4;:11;;;;;;;;;;;;9219:95;;;9256:1;9259:4;:11;;9272:4;:11;;;9285:4;:9;;;9296:5;9303;9310:3;9219:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8779:551;8663:2748;;;9398:9;9379:28;;;;;;;;:4;:15;;;;;;;;;;;;:28;;;;;;;;;9376:2035;;;9463:6;9458:3;9454:16;9448:23;9433:38;;9504:11;9489:26;;:4;:11;;;:26;9486:1017;;9554:1;9539:11;:16;;;:36;;;;;9574:1;9559:4;:11;;;:16;9539:36;:76;;;;9594:1;9579:11;:16;;;:36;;;;;9614:1;9599:4;:11;;;:16;9579:36;9539:76;:116;;;;9634:1;9619:11;:16;;;:36;;;;;9654:1;9639:4;:11;;;:16;9619:36;9539:116;9535:669;;;9689:38;9723:3;9689:29;2453:3;9689:4;:8;;;:12;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;9680:47;;9763:13;9750:4;:10;;;:26;;;;;;;;;;;;;;;;;;;;;;;;9813:6;9799:4;:11;;:20;;;;9842:4;:11;;;;;;;;;;;;:20;;:28;9863:6;9842:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9842:28:0;9910:4;:11;;;;;;;;;;;;9898:94;;;9930:6;9938:4;:11;;9951:4;:11;;;9964:4;:9;;;9975:4;9981:5;9988:3;9898:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9535:669;;;10052:14;10039:4;:10;;;:27;;;;;;;;;;;;;;;;;;;;;;;;10106:4;:11;;;;;;;;;;;;10094:90;;;10126:1;10129:4;:11;;10142:4;:11;;;10155:4;:9;;;10166:5;10173;10180:3;10094:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9535:669;9486:1017;;;10251:25;10264:11;10251:4;:8;;;:12;;:25;;;;:::i;:::-;10242:34;;10295:4;:11;;;;;;;;;;;;:20;;:28;10316:6;10295:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10295:28:0;10355:14;10342:4;:10;;;:27;;;;;;;;;;;;;;;;;;;;;;;;10405:4;:11;;;;;;;;;;;;10393:94;;;10425:6;10433:4;:11;;10446:4;:11;;;10459:4;:9;;;10470:5;10477:4;10483:3;10393:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9486:1017;9376:2035;;;10572:10;10553:29;;;;;;;;:4;:15;;;;;;;;;;;;:29;;;;;;;;;10550:861;;;10598:11;10633:1;10612:4;:11;;:18;;;;;;;;;;;;;;;;:22;10598:36;;10653:7;10661:1;10653:9;;10649:276;10667:6;10664:1;:9;;;10649:276;;;10737:6;10734:1;10730:14;10724:21;10708:37;;10783:4;:11;;;10768;:26;;;10764:146;;;10827:63;10886:3;10827:54;10840:40;10861:4;:11;;:18;;;;;;;;;;;;;;;;2503:3;10840:20;;:40;;;;:::i;:::-;10827:4;:8;;;:12;;:54;;;;:::i;:::-;:58;;:63;;;;:::i;:::-;10818:72;;10764:146;10675:3;;;;;;;10649:276;;;;10951:1;10942:6;:10;10939:461;;;10985:13;10972:4;:10;;;:26;;;;;;;;;;;;;;;;;;;;;;;;11031:6;11017:4;:11;;:20;;;;11056:4;:11;;;;;;;;;;;;:20;;:28;11077:6;11056:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11056:28:0;11120:4;:11;;;;;;;;;;;;11108:95;;;11141:6;11149:4;:11;;11162:4;:11;;;11175:4;:9;;;11186:4;11192:5;11199:3;11108:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10939:461;;;11255:14;11242:4;:10;;;:27;;;;;;;;;;;;;;;;;;;;;;;;11305:4;:11;;;;;;;;;;;;11293:91;;;11326:1;11329:4;:11;;11342:4;:11;;;11355:4;:9;;;11366:5;11373;11380:3;11293:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10939:461;10550:861;;9376:2035;8663:2748;3761:1;;;;8037:3381;;;;:::o;12289:525::-;12427:4;4009:5;;;;;;;;;;;3995:19;;:10;:19;;;3987:28;;;;;;4298:6;;;;;;;;;;;4290:15;;;;;;12444:9;12456:1;12444:13;;12478:309;12489:5;:12;12485:1;:16;12478:309;;;12518:19;12540:40;12554:25;12575:3;12554:16;12568:1;12554:6;12561:1;12554:9;;;;;;;;;;;;;;:13;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;12540:6;12547:1;12540:9;;;;;;;;;;;;;;:13;;:40;;;;:::i;:::-;12518:62;;12595:5;12601:1;12595:8;;;;;;;;;;;;;;:17;;:33;12613:14;12595:33;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12595:33:0;12665:6;12672:1;12665:9;;;;;;;;;;;;;;12643:10;:20;12654:5;12660:1;12654:8;;;;;;;;;;;;;;12643:20;;;;;;;;;;;;;;;;:31;;;;;;;;;;;12715:12;12705:5;12711:1;12705:8;;;;;;;;;;;;;;12694:60;;;12729:6;12736:1;12729:9;;;;;;;;;;;;;;12740:5;12746:1;12740:8;;;;;;;;;;;;;;12750:3;12694:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12774:1;12769:6;;;;12478:309;;;;12804:1;12797:9;;;12289:525;;;;;:::o;6583:837::-;3890:9;3878:8;;:21;;:46;;;;;3916:8;;3903:9;:21;;3878:46;3870:55;;;;;;6675:24;:33;;;;;;;;;;;;;;;;;;;6750:3;6727:9;:15;6737:4;6727:15;;;;;;;;;;;:19;;;:26;6719:35;;;;;;6883:1;6865:7;:14;:19;;:42;;;;;6906:1;6888:7;:14;:19;;6865:42;6857:51;;;;;;7081:258;;;;;;;;7113:10;7081:258;;;;;;;;;;;;7146:10;7081:258;;;;;;7176:9;7081:258;;;;7206:4;7081:258;;;;7232:17;7081:258;;;;;;;;;;;;7302:1;7081:258;;;;7272:7;7081:258;;;;7326:1;7081:258;;;7063:9;:15;7073:4;7063:15;;;;;;;;;;;:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7363:10;7355:57;;;7375:4;7381:9;7392:7;7401:10;7355:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7355:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7355:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3936:1;6583:837;;:::o;11533:162::-;11650:10;11641:46;;;11662:4;11668:3;11673:7;11682:4;11641:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11641:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11641:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11533:162;;;;:::o;12826:76::-;4009:5;;;;;;;;;;;3995:19;;:10;:19;;;3987:28;;;;;;12889:5;12880:6;;:14;;;;;;;;;;;;;;;;;;12826:76::o;2376:31::-;;;;:::o;2513:39::-;;;;;;;;;;;;;;;;;:::o;2414:42::-;2453:3;2414:42;:::o;1586:147::-;1644:7;1660:9;1676:1;1672;:5;1660:17;;1696:1;1691;:6;:20;;;;1710:1;1705;1701;:5;;;;;;:10;1691:20;1684:28;;;;1726:1;1719:8;;;1586:147;;;;:::o;1739:112::-;1797:7;1813:9;1829:1;1825;:5;;;;;;1813:17;;1844:1;1837:8;;;1739:112;;;;:::o;1857:115::-;1915:7;1943:1;1938;:6;;1931:14;;;;1964:1;1960;:5;1953:12;;1857:115;;;;:::o;2117:11097::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://ae19df3b7dac8414747b3b4104ff5bc029758ad0334c093e52207020727726c7
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $2,698.07 | 0.00432153 | $11.66 |
Loading...
Loading
[ Download: CSV Export ]
[ 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.