[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "address", "name": "GAMEAddress", "type": "address" }, { "internalType": "address", "name": "_newGuard", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "attackerId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "defenderId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "stolenPoints", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "AssaultEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "_playerId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "_payreward", "type": "uint256" } ], "name": "AssaultPayoutClaimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "attackerId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "defenderId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "stolenPoints", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "DebilitateEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "_playerId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "_payreward", "type": "uint256" } ], "name": "DebilitatePayoutClaimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "_playerId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "_level", "type": "uint256" } ], "name": "LevelUpEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Pause", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_player", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "PayoutsClaimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "_name", "type": "string" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "TokenMinted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Unpause", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "AllowedCrypto", "outputs": [ { "internalType": "contract IERC20", "name": "paytoken", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "attackerId", "type": "uint256" }, { "internalType": "uint256", "name": "defenderId", "type": "uint256" } ], "name": "Assault", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "Author", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "BattlesTotal", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "attackerId", "type": "uint256" }, { "internalType": "uint256", "name": "defenderId", "type": "uint256" } ], "name": "Debilitate", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "GAME", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_playerId", "type": "uint256" } ], "name": "Payouts", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "TotalContractBurns", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TotalGAMEBurns", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_pay", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_pid", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "activateNFT", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "activatetax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "activatingAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "_paytoken", "type": "address" } ], "name": "addCurrency", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "_nfts", "type": "uint256[]" } ], "name": "addToBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "assaulters", "outputs": [ { "internalType": "uint256", "name": "attackerId", "type": "uint256" }, { "internalType": "uint256", "name": "defenderId", "type": "uint256" }, { "internalType": "uint256", "name": "stolenPoints", "type": "uint256" }, { "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "blacklisted", "outputs": [ { "internalType": "bool", "name": "blacklist", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "bobbAddress", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "bobbtax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "burnAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "changeOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "charge", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_playerId", "type": "uint256" } ], "name": "claimAssault", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_playerId", "type": "uint256" } ], "name": "claimDebilitate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "deadtax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "debilitators", "outputs": [ { "internalType": "uint256", "name": "attackerId", "type": "uint256" }, { "internalType": "uint256", "name": "defenderId", "type": "uint256" }, { "internalType": "uint256", "name": "stolenPoints", "type": "uint256" }, { "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "developmentAddress", "outputs": [ { "internalType": "address payable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "devtax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "fightTimestamps", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "functionCalls", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "gametax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "attackerId", "type": "uint256" } ], "name": "getAssaulters", "outputs": [ { "components": [ { "internalType": "uint256", "name": "attackerId", "type": "uint256" }, { "internalType": "uint256", "name": "defenderId", "type": "uint256" }, { "internalType": "uint256", "name": "stolenPoints", "type": "uint256" }, { "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "internalType": "struct battledog.Assaulter[]", "name": "", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "attackerId", "type": "uint256" } ], "name": "getDebilitators", "outputs": [ { "components": [ { "internalType": "uint256", "name": "attackerId", "type": "uint256" }, { "internalType": "uint256", "name": "defenderId", "type": "uint256" }, { "internalType": "uint256", "name": "stolenPoints", "type": "uint256" }, { "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "internalType": "struct battledog.Debilitator[]", "name": "", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_player", "type": "address" } ], "name": "getPlayerOwners", "outputs": [ { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "level", "type": "uint256" }, { "internalType": "uint256", "name": "attack", "type": "uint256" }, { "internalType": "uint256", "name": "defence", "type": "uint256" }, { "internalType": "uint256", "name": "fights", "type": "uint256" }, { "internalType": "uint256", "name": "wins", "type": "uint256" }, { "internalType": "uint256", "name": "payout", "type": "uint256" }, { "internalType": "uint256", "name": "activate", "type": "uint256" }, { "internalType": "uint256", "name": "history", "type": "uint256" } ], "internalType": "struct battledog.Player[]", "name": "", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "getPlayers", "outputs": [ { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "level", "type": "uint256" }, { "internalType": "uint256", "name": "attack", "type": "uint256" }, { "internalType": "uint256", "name": "defence", "type": "uint256" }, { "internalType": "uint256", "name": "fights", "type": "uint256" }, { "internalType": "uint256", "name": "wins", "type": "uint256" }, { "internalType": "uint256", "name": "payout", "type": "uint256" }, { "internalType": "uint256", "name": "activate", "type": "uint256" }, { "internalType": "uint256", "name": "history", "type": "uint256" } ], "internalType": "struct battledog.Player[]", "name": "", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_playerId", "type": "uint256" } ], "name": "levelUp", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_type", "type": "uint256" }, { "internalType": "uint256", "name": "_entry", "type": "uint256" }, { "internalType": "uint256[]", "name": "datalog", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "_nftid", "type": "uint256[]" }, { "internalType": "string[]", "name": "_nftname", "type": "string[]" }, { "internalType": "address[]", "name": "_nftaccount", "type": "address[]" } ], "name": "migrateMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "mintFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "players", "outputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "level", "type": "uint256" }, { "internalType": "uint256", "name": "attack", "type": "uint256" }, { "internalType": "uint256", "name": "defence", "type": "uint256" }, { "internalType": "uint256", "name": "fights", "type": "uint256" }, { "internalType": "uint256", "name": "wins", "type": "uint256" }, { "internalType": "uint256", "name": "payout", "type": "uint256" }, { "internalType": "uint256", "name": "activate", "type": "uint256" }, { "internalType": "uint256", "name": "history", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "regenerate", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "_nfts", "type": "uint256[]" } ], "name": "removeFromBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "requiredAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_playerId", "type": "uint256" } ], "name": "resetFunctionCalls", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_developmentAddress", "type": "address" }, { "internalType": "address", "name": "_bobbAddress", "type": "address" }, { "internalType": "address", "name": "_burnAddress", "type": "address" } ], "name": "setAddresses", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_charge", "type": "uint256" } ], "name": "setCharge", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_GAMEAddress", "type": "address" } ], "name": "setGAMEAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newGuard", "type": "address" } ], "name": "setGuard", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_deadtax", "type": "uint256" }, { "internalType": "uint256", "name": "_bobbtax", "type": "uint256" }, { "internalType": "uint256", "name": "_devtax", "type": "uint256" }, { "internalType": "uint256", "name": "_gametax", "type": "uint256" }, { "internalType": "uint256", "name": "_sos", "type": "uint256" }, { "internalType": "uint256", "name": "_activatetax", "type": "uint256" } ], "name": "setTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sos", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_activatingAmount", "type": "uint256" } ], "name": "updateActivatingAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newLink", "type": "string" } ], "name": "updateBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_mintFee", "type": "uint256" } ], "name": "updateMintFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "string", "name": "_newName", "type": "string" } ], "name": "updateName", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "pid", "type": "uint256" }, { "internalType": "uint256", "name": "pay", "type": "uint256" } ], "name": "updatePiD", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_requiredAmount", "type": "uint256" } ], "name": "updateRequiredAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "weaponize", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "withdraw", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "payId", "type": "uint256" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "withdrawERC20", "outputs": [], "stateMutability": "payable", "type": "function" } ]
6000600c8190556509184e72a000600d55600e8190556001600f556501d1a94a20006010556512309ce54000601155620f42406012556013819055601481905560155560e0604052602c608081815290620063ce60a03960199062000065908262000211565b50601a805460ff191690553480156200007d57600080fd5b50604051620063fa380380620063fa833981016040819052620000a091620003a9565b83836000620000b0838262000211565b506001620000bf828262000211565b505050620000dc620000d66200011660201b60201c565b6200011a565b6001600b55601880546001600160a01b039384166001600160a01b0319918216179091556017805492909316911617905550620004389050565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200019757607f821691505b602082108103620001b857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200020c57600081815260208120601f850160051c81016020861015620001e75750805b601f850160051c820191505b818110156200020857828155600101620001f3565b5050505b505050565b81516001600160401b038111156200022d576200022d6200016c565b62000245816200023e845462000182565b84620001be565b602080601f8311600181146200027d5760008415620002645750858301515b600019600386901b1c1916600185901b17855562000208565b600085815260208120601f198616915b82811015620002ae578886015182559484019460019091019084016200028d565b5085821015620002cd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082601f830112620002ef57600080fd5b81516001600160401b03808211156200030c576200030c6200016c565b604051601f8301601f19908116603f011681019082821181831017156200033757620003376200016c565b816040528381526020925086838588010111156200035457600080fd5b600091505b8382101562000378578582018301518183018401529082019062000359565b600093810190920192909252949350505050565b80516001600160a01b0381168114620003a457600080fd5b919050565b60008060008060808587031215620003c057600080fd5b84516001600160401b0380821115620003d857600080fd5b620003e688838901620002dd565b95506020870151915080821115620003fd57600080fd5b506200040c87828801620002dd565b9350506200041d604086016200038c565b91506200042d606086016200038c565b905092959194509250565b615f8680620004486000396000f3fe6080604052600436106104945760003560e01c80636c0360eb11610260578063aee9984711610144578063e00e8bf3116100c1578063f2fde38b11610085578063f2fde38b14610dcc578063f55e7d3914610dec578063f71d96cb14610dff578063f7581dd914610e35578063f9f646ab14610e4b578063fc55b13814610e7857600080fd5b8063e00e8bf314610d10578063e19a9dd914610d23578063e6ccab7514610d43578063e985e9c514610d63578063f24b337314610dac57600080fd5b8063cefb6fa611610108578063cefb6fa614610c6d578063d34acd1214610c83578063d85d3d2714610cb0578063dc9ef6e714610cc3578063def50d5814610ce357600080fd5b8063aee9984714610be1578063b5ebbcc414610bf7578063b88d4fde14610c17578063c87b56dd14610c37578063cdf52f8e14610c5757600080fd5b80638ab234b6116101dd578063931688cb116101a1578063931688cb14610b3957806395d89b4114610b5957806398e981c514610b6e5780639900bce914610b8e578063a22cb46514610ba1578063a6f9dae114610bc157600080fd5b80638ab234b614610a855780638bae54b814610aa55780638c82ce3f14610ae55780638da5cb5b14610afb57806392201a4a14610b1957600080fd5b80637ed865ee116102245780637ed865ee14610a075780637fc897c214610a2757806384017e5214610a3a5780638456cb5914610a5a5780638a7e26dd14610a6f57600080fd5b80636c0360eb1461098a57806370a082311461099f57806370d5ae05146109bf578063715018a6146109df5780637b19b53a146109f457600080fd5b80632e5f0f57116103875780634e77e525116103045780635c975abb116102c85780635c975abb146108e25780635c983aec146108fc5780635f6370251461091c5780636352211e14610932578063638b1b141461095257806369e8f97a1461097757600080fd5b80634e77e525146108595780634f6ccce71461086c57806353e76f2c1461088c57806355161913146108ac578063584cb693146108c257600080fd5b80633f4ba83a1161034b5780633f4ba83a146107d857806342842e0e146107ed578063460e20491461080d57806348b9ef401461082d5780634e5a95af1461084357600080fd5b80632e5f0f57146107425780632f745c5914610762578063363bf964146107825780633687d626146107a25780633b3cfba4146107b857600080fd5b806318160ddd1161041557806323b872dd116103d957806323b872dd1461069f57806323db4c91146106bf57806326c91cad146106ef57806327730d121461070f5780632e1a7d4d1461072f57600080fd5b806318160ddd1461061c57806318e70f04146106315780631a3de5c31461065e5780631b5a10631461067457806320b2af521461068a57600080fd5b80630ce90ec21161045c5780630ce90ec2146105905780630ef5cc0e146105b05780630fffecc7146105d057806311f630f3146105e657806313966db51461060657600080fd5b806301ffc9a71461049957806306fdde03146104ce578063081812fc146104f0578063095ea7b3146105285780630b30904e1461054a575b600080fd5b3480156104a557600080fd5b506104b96104b4366004615292565b610e98565b60405190151581526020015b60405180910390f35b3480156104da57600080fd5b506104e3610ec3565b6040516104c59190615306565b3480156104fc57600080fd5b5061051061050b366004615319565b610f55565b6040516001600160a01b0390911681526020016104c5565b34801561053457600080fd5b50610548610543366004615347565b610f7c565b005b34801561055657600080fd5b50610582610565366004615373565b602860209081526000928352604080842090915290825290205481565b6040519081526020016104c5565b34801561059c57600080fd5b506105486105ab366004615319565b611096565b3480156105bc57600080fd5b506105486105cb366004615319565b61129e565b3480156105dc57600080fd5b50610582601e5481565b3480156105f257600080fd5b50610548610601366004615395565b6114db565b34801561061257600080fd5b50610582600d5481565b34801561062857600080fd5b50600854610582565b34801561063d57600080fd5b5061065161064c3660046153d8565b611500565b6040516104c591906153f5565b34801561066a57600080fd5b50610582600f5481565b34801561068057600080fd5b5061058260115481565b34801561069657600080fd5b506104e36116d3565b3480156106ab57600080fd5b506105486106ba3660046154bf565b611761565b3480156106cb57600080fd5b506104b96106da366004615319565b60256020526000908152604090205460ff1681565b3480156106fb57600080fd5b5061051061070a366004615319565b611792565b34801561071b57600080fd5b50601854610510906001600160a01b031681565b61054861073d366004615319565b6117bc565b34801561074e57600080fd5b5061054861075d366004615373565b611811565b34801561076e57600080fd5b5061058261077d366004615347565b611824565b34801561078e57600080fd5b5061054861079d366004615500565b6118ba565b3480156107ae57600080fd5b5061058260145481565b3480156107c457600080fd5b506105486107d33660046153d8565b61190a565b3480156107e457600080fd5b5061054861197b565b3480156107f957600080fd5b506105486108083660046154bf565b611a23565b34801561081957600080fd5b50610651610828366004615319565b611a3e565b34801561083957600080fd5b5061058260105481565b34801561084f57600080fd5b5061058260215481565b610548610867366004615373565b611ba5565b34801561087857600080fd5b50610582610887366004615319565b6120ea565b34801561089857600080fd5b506105486108a73660046155f6565b61217d565b3480156108b857600080fd5b50610582602b5481565b3480156108ce57600080fd5b506105486108dd366004615319565b61225e565b3480156108ee57600080fd5b50601a546104b99060ff1681565b34801561090857600080fd5b50610548610917366004615687565b61226b565b34801561092857600080fd5b50610582601d5481565b34801561093e57600080fd5b5061051061094d366004615319565b6122d0565b34801561095e57600080fd5b50601a546105109061010090046001600160a01b031681565b610548610985366004615373565b612330565b34801561099657600080fd5b506104e36128aa565b3480156109ab57600080fd5b506105826109ba3660046153d8565b6128b7565b3480156109cb57600080fd5b50601c54610510906001600160a01b031681565b3480156109eb57600080fd5b5061054861293d565b610548610a02366004615319565b612951565b348015610a1357600080fd5b50610548610a223660046156c8565b612a89565b610548610a35366004615319565b612e1f565b348015610a4657600080fd5b50610548610a55366004615319565b612f49565b348015610a6657600080fd5b50610548612f56565b348015610a7b57600080fd5b5061058260225481565b348015610a9157600080fd5b50610548610aa03660046153d8565b61300b565b348015610ab157600080fd5b50610ac5610ac0366004615373565b613076565b6040805194855260208501939093529183015260608201526080016104c5565b348015610af157600080fd5b50610582601f5481565b348015610b0757600080fd5b50600a546001600160a01b0316610510565b348015610b2557600080fd5b50610548610b34366004615687565b6130bc565b348015610b4557600080fd5b50610548610b543660046157a1565b613121565b348015610b6557600080fd5b506104e3613135565b348015610b7a57600080fd5b50610ac5610b89366004615373565b613144565b610548610b9c366004615319565b613160565b348015610bad57600080fd5b50610548610bbc3660046157e3565b6134da565b348015610bcd57600080fd5b50610548610bdc3660046153d8565b6134e5565b348015610bed57600080fd5b5061058260155481565b348015610c0357600080fd5b50610548610c12366004615319565b613518565b348015610c2357600080fd5b50610548610c3236600461581c565b613525565b348015610c4357600080fd5b506104e3610c52366004615319565b61355d565b348015610c6357600080fd5b5061058260205481565b348015610c7957600080fd5b50610582600e5481565b348015610c8f57600080fd5b50610582610c9e366004615319565b60266020526000908152604090205481565b610548610cbe3660046157a1565b6135e3565b348015610ccf57600080fd5b50601b54610510906001600160a01b031681565b348015610cef57600080fd5b50610d03610cfe366004615319565b6137f6565b6040516104c5919061589b565b610548610d1e366004615373565b61396e565b348015610d2f57600080fd5b50610548610d3e3660046153d8565b613a14565b348015610d4f57600080fd5b50610548610d5e366004615319565b613a60565b348015610d6f57600080fd5b506104b9610d7e36600461590a565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b348015610db857600080fd5b50610548610dc7366004615319565b613b57565b348015610dd857600080fd5b50610548610de73660046153d8565b613d93565b610548610dfa366004615319565b613e09565b348015610e0b57600080fd5b50610e1f610e1a366004615319565b614024565b6040516104c59a99989796959493929190615938565b348015610e4157600080fd5b5061058260135481565b348015610e5757600080fd5b50610e6b610e66366004615319565b6140f8565b6040516104c59190615992565b348015610e8457600080fd5b50610548610e93366004615319565b614266565b60006001600160e01b0319821663780e9d6360e01b1480610ebd5750610ebd82614273565b92915050565b606060008054610ed2906159f5565b80601f0160208091040260200160405190810160405280929190818152602001828054610efe906159f5565b8015610f4b5780601f10610f2057610100808354040283529160200191610f4b565b820191906000526020600020905b815481529060010190602001808311610f2e57829003601f168201915b5050505050905090565b6000610f60826142c3565b506000908152600460205260409020546001600160a01b031690565b6000610f87826122d0565b9050806001600160a01b0316836001600160a01b031603610ff95760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061101557506110158133610d7e565b6110875760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610ff0565b6110918383614322565b505050565b61109e614390565b601a5460ff16156110c15760405162461bcd60e51b8152600401610ff090615a2f565b6110ca816122d0565b6001600160a01b0316336001600160a01b0316146111195760405162461bcd60e51b815260206004820152600c60248201526b139bdd08165bdd5c8813919560a21b6044820152606401610ff0565b60008181526025602052604090205460ff16156111485760405162461bcd60e51b8152600401610ff090615a58565b60008111801561115a57506008548111155b6111765760405162461bcd60e51b8152600401610ff090615a7d565b600081815260246020526040902060060154600511156111cc5760405162461bcd60e51b8152602060048201526011602482015270496e73756666696369656e742077696e7360781b6044820152606401610ff0565b602b546000828152602460205260408120600201549091906111ef906001615ab6565b6111f99190615ac9565b9050611204816143e9565b600082815260246020526040812060020180549161122183615ae0565b90915550506000828152602460205260408120600281015460069091015490919061124e90600590615af9565b60008581526024602052604080822060060183905551919250839186917f5ca885b5603e88c1fa88187446b77e0355fef8842d9ecdf39c8ded80628a19f991a350505061129b6001600b55565b50565b6112a6614390565b601a5460ff16156112c95760405162461bcd60e51b8152600401610ff090615a2f565b6112d2816122d0565b6001600160a01b0316336001600160a01b0316146113025760405162461bcd60e51b8152600401610ff090615b0c565b60008181526025602052604090205460ff16156113315760405162461bcd60e51b8152600401610ff090615a58565b60008111801561134357506008548111155b61135f5760405162461bcd60e51b8152600401610ff090615a7d565b60008181526024602052604081206003015460649061137f908290615af9565b6113899190615b32565b9050600081116113cb5760405162461bcd60e51b815260206004820152600d60248201526c4e6f7420656c696769626c652160981b6044820152606401610ff0565b600082815260246020526040812060060180548392906113ec908490615ab6565b909155506113fd9050816064615ac9565b6000838152602460205260409020600301546114199190615af9565b60008381526024602090815260408220600301929092556012549154601054600593849286926114499190615b32565b6010546114569190615af9565b6114609190615b32565b61146a9190615ac9565b6114749190615ac9565b90508060246000868152602001908152602001600020600701600082825461149c9190615ab6565b9091555050604051819085907fcfe02161d782707626ce6a2efd36c33634fd1d48abf19b83c8ab3f0f6078e91c90600090a350505061129b6001600b55565b6114e3614503565b601d95909555601e93909355601f91909155602055602255602155565b6060600061150d836128b7565b90506000816001600160401b038111156115295761152961554b565b60405190808252806020026020018201604052801561156257816020015b61154f615229565b8152602001906001900390816115475790505b5090506000805b838110156116c957600061157d8783611824565b905060246000828152602001908152602001600020604051806101400160405290816000820180546115ae906159f5565b80601f01602080910402602001604051908101604052809291908181526020018280546115da906159f5565b80156116275780601f106115fc57610100808354040283529160200191611627565b820191906000526020600020905b81548152906001019060200180831161160a57829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152505084848151811061169c5761169c615b54565b602002602001018190525082806116b290615ae0565b9350505080806116c190615ae0565b915050611569565b5090949350505050565b601980546116e0906159f5565b80601f016020809104026020016040519081016040528092919081815260200182805461170c906159f5565b80156117595780601f1061172e57610100808354040283529160200191611759565b820191906000526020600020905b81548152906001019060200180831161173c57829003601f168201915b505050505081565b61176b338261455d565b6117875760405162461bcd60e51b8152600401610ff090615b6a565b6110918383836145dc565b602381815481106117a257600080fd5b6000918252602090912001546001600160a01b0316905081565b6117c4614503565b60006117d8600a546001600160a01b031690565b6040519091506001600160a01b0382169083156108fc029084906000818181858888f19350505050158015611091573d6000803e3d6000fd5b611819614503565b600e91909155600f55565b600061182f836128b7565b82106118915760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610ff0565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6118c2614503565b601a80546001600160a01b0394851661010002610100600160a81b0319909116179055601b80549284166001600160a01b0319938416179055601c8054919093169116179055565b611912614503565b600a546001600160a01b031633146119595760405162461bcd60e51b815260206004820152600a6024820152692737ba1027bbb732b91760b11b6044820152606401610ff0565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6017546001600160a01b031633146119a55760405162461bcd60e51b8152600401610ff090615bb7565b601a5460ff166119ee5760405162461bcd60e51b815260206004820152601460248201527321b7b73a3930b1ba103737ba103830bab9b2b21760611b6044820152606401610ff0565b601a805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b61109183838360405180602001604052806000815250613525565b60408051600180825281830190925260609160009190816020015b611a61615229565b815260200190600190039081611a595790505090506024600084815260200190815260200160002060405180610140016040529081600082018054611aa5906159f5565b80601f0160208091040260200160405190810160405280929190818152602001828054611ad1906159f5565b8015611b1e5780601f10611af357610100808354040283529160200191611b1e565b820191906000526020600020905b815481529060010190602001808311611b0157829003601f168201915b50505050508152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152505081600081518110611b9457611b94615b54565b602090810291909101015292915050565b611bad614390565b601a5460ff1615611bd05760405162461bcd60e51b8152600401610ff090615a2f565b611bd9826122d0565b6001600160a01b0316336001600160a01b031614611c095760405162461bcd60e51b8152600401610ff090615b0c565b60008281526025602052604090205460ff1615611c385760405162461bcd60e51b8152600401610ff090615a58565b60008281526024602052604090206008015415801590611c68575060008181526024602052604090206008015415155b611c845760405162461bcd60e51b8152600401610ff090615be0565b600082815260246020526040902060040154611ccf5760405162461bcd60e51b815260206004820152600a6024820152694e6f20646566656e636560b01b6044820152606401610ff0565b600081815260246020526040902060040154611d1e5760405162461bcd60e51b815260206004820152600e60248201526d496d706f74656e7420656e656d7960901b6044820152606401610ff0565b6000828152602660205260409020546103e911611d6e5760405162461bcd60e51b815260206004820152600e60248201526d2634b6b4ba103932b0b1b432b21760911b6044820152606401610ff0565b60008281526028602090815260408083208484529091529020546201518090611d979042615af9565b1015611db55760405162461bcd60e51b8152600401610ff090615c06565b600082118015611dc757506008548211155b8015611dd35750600081115b8015611de157506008548111155b611dfd5760405162461bcd60e51b8152600401610ff090615a7d565b808203611e365760405162461bcd60e51b8152602060048201526007602482015266125b9d985b1a5960ca1b6044820152606401610ff0565b601054611e428161474d565b611e4d81600a6147ec565b6000838152602660205260408120805491611e6783615ae0565b9091555050600083815260286020908152604080832085845290915281204290556015805491611e9683615ae0565b90915550506000828152602460205260408082206002908101548684529183200154118015611ed75750600083815260246020526040902060040154601411155b15611ee457506014611f45565b600083815260246020526040902060030154611f029061012c615ab6565b60008581526024602052604090206004015410801590611f345750600083815260246020526040902060040154601411155b15611f4157506014611f45565b50600a5b60008381526024602052604081206004018054839290611f66908490615af9565b909155505060008481526024602052604081206004018054839290611f8c908490615ab6565b925050819055504283857fff229b26956a17ed5d6c377286dfdad2e5bbfc48a4c8c1266b1b4a1bafa9d87984604051611fc791815260200190565b60405180910390a46000848152602460205260408120600501805491611fec83615ae0565b9091555050600084815260246020526040812060090180549161200e83615ae0565b91905055506012546020546010546120269190615b32565b6010546120339190615af9565b61203d9190615b32565b6000858152602460205260408120600701805490919061205e908490615ab6565b9091555050604080516080810182528581526020808201868152828401858152600089815260288452858120898252845285812054606086019081528a8252602a855295812080546001808201835591835294909120945160049094029094019283559051928201929092559051600282015590516003909101555b50506120e66001600b55565b5050565b60006120f560085490565b82106121585760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610ff0565b6008828154811061216b5761216b615b54565b90600052602060002001549050919050565b612185614390565b61218e826122d0565b6001600160a01b0316336001600160a01b0316146121de5760405162461bcd60e51b815260206004820152600d60248201526c2737ba102cb7bab91027232a1760991b6044820152606401610ff0565b60008151116122195760405162461bcd60e51b81526020600482015260076024820152664e6f204e616d6560c81b6044820152606401610ff0565b60085482111561223b5760405162461bcd60e51b8152600401610ff090615a7d565b60008281526024602052604090206122538282615c77565b506120e66001600b55565b612266614503565b601155565b612273614503565b60005b818110156110915760016025600085858581811061229657612296615b54565b60209081029290920135835250810191909152604001600020805460ff1916911515919091179055806122c881615ae0565b915050612276565b6000818152600260205260408120546001600160a01b031680610ebd5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610ff0565b612338614390565b601a5460ff161561235b5760405162461bcd60e51b8152600401610ff090615a2f565b612364826122d0565b6001600160a01b0316336001600160a01b0316146123b45760405162461bcd60e51b815260206004820152600d60248201526c4e6f7420796f7572204e46542160981b6044820152606401610ff0565b600082815260246020526040902060080154158015906123e4575060008181526024602052604090206008015415155b6124205760405162461bcd60e51b815260206004820152600d60248201526c20b1ba34bb30ba329027232a1760991b6044820152606401610ff0565b60008281526024602052604090206003015461246b5760405162461bcd60e51b815260206004820152600a60248201526927379030ba3a30b1b59760b11b6044820152606401610ff0565b6000818152602460205260409020600301546124bb5760405162461bcd60e51b815260206004820152600f60248201526e24b6b837ba32b73a1032b732b6bc9760891b6044820152606401610ff0565b6000828152602660205260409020546103e91161250b5760405162461bcd60e51b815260206004820152600e60248201526d2634b6b4ba103932b0b1b432b21760911b6044820152606401610ff0565b600082815260286020908152604080832084845290915290205462015180906125349042615af9565b10156125525760405162461bcd60e51b8152600401610ff090615c06565b60008211801561256457506008548211155b80156125705750600081115b801561257e57506008548111155b61259a5760405162461bcd60e51b8152600401610ff090615a7d565b8082036125d35760405162461bcd60e51b8152602060048201526007602482015266125b9d985b1a5960ca1b6044820152606401610ff0565b60008281526025602052604090205460ff16156126025760405162461bcd60e51b8152600401610ff090615a58565b60105461260e8161474d565b61261981600a6147ec565b600083815260266020526040812080549161263383615ae0565b909155505060008381526028602090815260408083208584529091528120429055601580549161266283615ae0565b909155505060008281526024602052604080822060029081015486845291832001541180156126a35750600083815260246020526040902060030154601411155b156126b057506014612711565b6000838152602460205260409020600401546126ce9061012c615ab6565b600085815260246020526040902060030154108015906127005750600083815260246020526040902060030154601411155b1561270d57506014612711565b50600a5b60008381526024602052604081206003018054839290612732908490615af9565b909155505060008481526024602052604081206003018054839290612758908490615ab6565b925050819055504283857f2a7e4271816fd9e2b2e21c4a4a7df63aa2c324c6ad1fc330161b6e7099206a788460405161279391815260200190565b60405180910390a460008481526024602052604081206005018054916127b883615ae0565b909155505060008481526024602052604081206009018054916127da83615ae0565b91905055506012546020546010546127f29190615b32565b6010546127ff9190615af9565b6128099190615b32565b6000858152602460205260408120600701805490919061282a908490615ab6565b9091555050604080516080810182528581526020808201868152828401858152600089815260288452858120898252845285812054606086019081528a82526029855295812080546001808201835591835294909120945160049094029094019283559051928201929092559051600282015590516003909101556120da565b601680546116e0906159f5565b60006001600160a01b0382166129215760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610ff0565b506001600160a01b031660009081526003602052604090205490565b612945614503565b61294f6000614a15565b565b612959614390565b601a5460ff161561297c5760405162461bcd60e51b8152600401610ff090615a2f565b6000818152602460205260409020600801546129aa5760405162461bcd60e51b8152600401610ff090615be0565b6129b3816122d0565b6001600160a01b0316336001600160a01b0316146129e35760405162461bcd60e51b8152600401610ff090615b0c565b6000811180156129f557506008548111155b612a115760405162461bcd60e51b8152600401610ff090615a7d565b60008181526025602052604090205460ff1615612a405760405162461bcd60e51b8152600401610ff090615a58565b601054612a4c8161474d565b612a578160326147ec565b60225460008381526024602052604081206003018054909190612a7b908490615ab6565b90915550506001600b555050565b612a91614503565b8460008b9003612c345760005b81811015612c2e576000612ab2828d615ab6565b9050604051806101400160405280888885818110612ad257612ad2615b54565b9050602002810190612ae49190615d36565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093855250505060208083018590526040808401839052606460608501819052608085015260a0840183905260c0840183905260e084018390526101008401839052610120909301829052848252602490522081518190612b749082615c77565b506020820151600182015560408201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e08201516007820155610100820151600882015561012090910151600990910155612c05858584818110612be857612be8615b54565b9050602002016020810190612bfd91906153d8565b600c54614a67565b600c8054906000612c1583615ae0565b9190505550508080612c2690615ae0565b915050612a9e565b50612e12565b60005b88811015612e105760008a8a83818110612c5357612c53615b54565b90506020020135905088886000818110612c6f57612c6f615b54565b90506020020135602460008381526020019081526020016000206002018190555088886001818110612ca357612ca3615b54565b90506020020135602460008381526020019081526020016000206003018190555088886002818110612cd757612cd7615b54565b90506020020135602460008381526020019081526020016000206004018190555088886003818110612d0b57612d0b615b54565b90506020020135602460008381526020019081526020016000206005018190555088886004818110612d3f57612d3f615b54565b90506020020135602460008381526020019081526020016000206006018190555088886005818110612d7357612d73615b54565b90506020020135602460008381526020019081526020016000206007018190555088886006818110612da757612da7615b54565b90506020020135602460008381526020019081526020016000206008018190555088886007818110612ddb57612ddb615b54565b905060200201356024600083815260200190815260200160002060090181905550508080612e0890615ae0565b915050612c37565b505b5050505050505050505050565b612e27614390565b601a5460ff1615612e4a5760405162461bcd60e51b8152600401610ff090615a2f565b612e53816122d0565b6001600160a01b0316336001600160a01b031614612e835760405162461bcd60e51b8152600401610ff090615b0c565b600081118015612e9557506008548111155b612eb15760405162461bcd60e51b8152600401610ff090615a7d565b600081815260246020526040902060080154612edf5760405162461bcd60e51b8152600401610ff090615be0565b60008181526025602052604090205460ff1615612f0e5760405162461bcd60e51b8152600401610ff090615a58565b601054612f1a8161474d565b612f258160326147ec565b60225460008381526024602052604081206004018054909190612a7b908490615ab6565b612f51614503565b600d55565b6017546001600160a01b03163314612f805760405162461bcd60e51b8152600401610ff090615bb7565b601a5460ff1615612fd35760405162461bcd60e51b815260206004820152601860248201527f436f6e747261637420616c7265616479207061757365642e00000000000000006044820152606401610ff0565b601a805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b613013614503565b60408051602081019091526001600160a01b0391821681526023805460018101825560009190915290517fd57b2b5166478fd4318d2acc6cc2c704584312bdd8781b32d5d06abda57f423090910180546001600160a01b03191691909216179055565b602a602052816000526040600020818154811061309257600080fd5b60009182526020909120600490910201805460018201546002830154600390930154919450925084565b6130c4614503565b60005b81811015611091576000602560008585858181106130e7576130e7615b54565b60209081029290920135835250810191909152604001600020805460ff19169115159190911790558061311981615ae0565b9150506130c7565b613129614503565b60166120e68282615c77565b606060018054610ed2906159f5565b6029602052816000526040600020818154811061309257600080fd5b613168614390565b601a5460ff161561318b5760405162461bcd60e51b8152600401610ff090615a2f565b600081815260246020526040902060020154600111156131da5760405162461bcd60e51b815260206004820152600a6024820152694d696e204c6576656c3160b01b6044820152606401610ff0565b6000818152602460205260409020600701546132245760405162461bcd60e51b8152602060048201526009602482015268139bc81c185e5bdd5d60ba1b6044820152606401610ff0565b600081815260246020526040902060060154600511156132735760405162461bcd60e51b815260206004820152600a6024820152694669676874206d6f726560b01b6044820152606401610ff0565b61327c816122d0565b6001600160a01b0316336001600160a01b0316146132ac5760405162461bcd60e51b8152600401610ff090615b0c565b60008181526025602052604090205460ff16156132db5760405162461bcd60e51b8152600401610ff090615a58565b60125460008281526024602052604081206007015490916132fb91615ac9565b905060006023600e548154811061331457613314615b54565b600091825260209091200180546040516370a0823160e01b81523060048201529192506001600160a01b031690839082906370a0823190602401602060405180830381865afa15801561336b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061338f9190615d7c565b116133d25760405162461bcd60e51b81526020600482015260136024820152724e6f7420456e6f75676820526573657276657360681b6044820152606401610ff0565b60405163a9059cbb60e01b8152336004820152602481018490526001600160a01b0382169063a9059cbb906044016020604051808303816000875af115801561341f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134439190615d95565b6134815760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8811985a5b1959608a1b6044820152606401610ff0565b600084815260246020526040808220600781018390556006810183905560050182905551849133917f2148c22360ec869df90a6857cc7c0b2c254544deff5a5e2e88f91c6c3e27ee059190a350505061129b6001600b55565b6120e6338383614c00565b6017546001600160a01b0316331461350f5760405162461bcd60e51b8152600401610ff090615bb7565b61129b81613d93565b613520614503565b601055565b61352f338361455d565b61354b5760405162461bcd60e51b8152600401610ff090615b6a565b61355784848484614cce565b50505050565b606061356860085490565b8211156135875760405162461bcd60e51b8152600401610ff090615a7d565b600060168054613596906159f5565b9050116135b25760405180602001604052806000815250610ebd565b60166135bd83614d01565b6040516020016135ce929190615db2565b60405160208183030381529060405292915050565b6135eb614390565b601a5460ff161561360e5760405162461bcd60e51b8152600401610ff090615a2f565b600d5434146136525760405162461bcd60e51b815260206004820152601060248201526f496e73756666696369656e742066656560801b6044820152606401610ff0565b600081511161368d5760405162461bcd60e51b81526020600482015260076024820152664e6f204e616d6560c81b6044820152606401610ff0565b604051806101400160405280828152602001600c54815260200160008152602001606481526020016064815260200160008152602001600081526020016000815260200160008152602001600081525060246000600c54815260200190815260200160002060008201518160000190816137079190615c77565b506020820151600182015560408201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e08201516007820155610100820151600882015561012090910151600990910155600c546137733382614a67565b60408051602080820183526000808352600c54815260259091528290209051815460ff19169015151790555181907f51413fa31ea07fada8e4b3a4719c2683c7288050bc37c83c4ad11ce93423087f906137ce908590615306565b60405180910390a2600c80549060006137e683615ae0565b91905055505061129b6001600b55565b6000818152602a60205260408120546060919081816001600160401b038111156138225761382261554b565b60405190808252806020026020018201604052801561387e57816020015b61386b6040518060800160405280600081526020016000815260200160008152602001600081525090565b8152602001906001900390816138405790505b50905060005b82811015613965576000868152602a602052604090208054879190839081106138af576138af615b54565b90600052602060002090600402016000015403613953576000868152602a602052604090208054829081106138e6576138e6615b54565b906000526020600020906004020160405180608001604052908160008201548152602001600182015481526020016002820154815260200160038201548152505082858151811061393957613939615b54565b6020026020010181905250838061394f90615ae0565b9450505b8061395d81615ae0565b915050613884565b50949350505050565b613976614503565b60006023838154811061398b5761398b615b54565b6000918252602090912001805460405163a9059cbb60e01b8152336004820152602481018590529192506001600160a01b031690819063a9059cbb906044016020604051808303816000875af11580156139e9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a0d9190615d95565b5050505050565b6017546001600160a01b03163314613a3e5760405162461bcd60e51b8152600401610ff090615bb7565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b613a68614390565b601a5460ff1615613a8b5760405162461bcd60e51b8152600401610ff090615a2f565b613a94816122d0565b6001600160a01b0316336001600160a01b031614613ac45760405162461bcd60e51b8152600401610ff090615b0c565b60008181526025602052604090205460ff1615613af35760405162461bcd60e51b8152600401610ff090615a58565b6000818152602760205260409020546201518090613b119042615af9565b1015613b2f5760405162461bcd60e51b8152600401610ff090615c06565b60008181526026602090815260408083208390556027909152902042905561129b6001600b55565b613b5f614390565b601a5460ff1615613b825760405162461bcd60e51b8152600401610ff090615a2f565b613b8b816122d0565b6001600160a01b0316336001600160a01b031614613bbb5760405162461bcd60e51b8152600401610ff090615b0c565b60008181526025602052604090205460ff1615613bea5760405162461bcd60e51b8152600401610ff090615a58565b600081118015613bfc57506008548111155b613c185760405162461bcd60e51b8152600401610ff090615a7d565b600081815260246020526040812060040154606490613c38908290615af9565b613c429190615b32565b905060008111613c835760405162461bcd60e51b815260206004820152600c60248201526b4e6f7420456c696769626c6560a01b6044820152606401610ff0565b60008281526024602052604081206006018054839290613ca4908490615ab6565b90915550613cb59050816064615ac9565b600083815260246020526040902060040154613cd19190615af9565b6000838152602460209081526040822060040192909255601254915460105460059384928692613d019190615b32565b601054613d0e9190615af9565b613d189190615b32565b613d229190615ac9565b613d2c9190615ac9565b905080602460008681526020019081526020016000206007016000828254613d549190615ab6565b9091555050604051819085907f7f5659a067632eac859a934c471d405a845bf03086d0206bc77ca28c7b00b6c290600090a350505061129b6001600b55565b613d9b614503565b6001600160a01b038116613e005760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ff0565b61129b81614a15565b613e11614390565b601a5460ff1615613e345760405162461bcd60e51b8152600401610ff090615a2f565b613e3d816122d0565b6001600160a01b0316336001600160a01b031614613e6d5760405162461bcd60e51b8152600401610ff090615b0c565b600081118015613e7f57506008548111155b613e9b5760405162461bcd60e51b8152600401610ff090615a7d565b60008181526025602052604090205460ff1615613eca5760405162461bcd60e51b8152600401610ff090615a58565b60008181526024602052604081206008015415613fef5760008281526024602052604090206006015460051115613f385760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742077696e732160701b6044820152606401610ff0565b6000601254602054601054613f4d9190615b32565b601054613f5a9190615af9565b613f649190615b32565b613f6f906005615ac9565b613f7a906005615ac9565b905080602460008581526020019081526020016000206007016000828254613fa29190615af9565b90915550506000838152602460205260408120600601805460059290613fc9908490615af9565b9091555050601254613fdb9082615ac9565b9150613fe9826021546147ec565b50614007565b50601154613ffc8161474d565b61400781600a6147ec565b60008281526024602052604081206008018054916137e683615ae0565b60246020526000908152604090208054819061403f906159f5565b80601f016020809104026020016040519081016040528092919081815260200182805461406b906159f5565b80156140b85780601f1061408d576101008083540402835291602001916140b8565b820191906000526020600020905b81548152906001019060200180831161409b57829003601f168201915b505050505090806001015490806002015490806003015490806004015490806005015490806006015490806007015490806008015490806009015490508a565b600081815260296020526040812054606091816001600160401b038111156141225761412261554b565b60405190808252806020026020018201604052801561417e57816020015b61416b6040518060800160405280600081526020016000815260200160008152602001600081525090565b8152602001906001900390816141405790505b5090506000805b838110156116c95760008681526029602052604090208054879190839081106141b0576141b0615b54565b906000526020600020906004020160000154036142545760008681526029602052604090208054829081106141e7576141e7615b54565b906000526020600020906004020160405180608001604052908160008201548152602001600182015481526020016002820154815260200160038201548152505083838151811061423a5761423a615b54565b6020026020010181905250818061425090615ae0565b9250505b8061425e81615ae0565b915050614185565b61426e614503565b602b55565b60006001600160e01b031982166380ac58cd60e01b14806142a457506001600160e01b03198216635b5e139f60e01b145b80610ebd57506301ffc9a760e01b6001600160e01b0319831614610ebd565b6000818152600260205260409020546001600160a01b031661129b5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610ff0565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190614357826122d0565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6002600b54036143e25760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ff0565b6002600b55565b60006023600f548154811061440057614400615b54565b600091825260209091200180546040516323b872dd60e01b8152336004820152306024820152604481018590529192506001600160a01b03169081906323b872dd906064016020604051808303816000875af1158015614464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144889190615d95565b5060185460405163b90306ad60e01b8152600481018590526001600160a01b039091169063b90306ad90602401600060405180830381600087803b1580156144cf57600080fd5b505af11580156144e3573d6000803e3d6000fd5b5050505082601460008282546144f99190615ab6565b9091555050505050565b600a546001600160a01b0316331461294f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ff0565b600080614569836122d0565b9050806001600160a01b0316846001600160a01b031614806145b057506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806145d45750836001600160a01b03166145c984610f55565b6001600160a01b0316145b949350505050565b826001600160a01b03166145ef826122d0565b6001600160a01b0316146146155760405162461bcd60e51b8152600401610ff090615e49565b6001600160a01b0382166146775760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610ff0565b6146848383836001614d93565b826001600160a01b0316614697826122d0565b6001600160a01b0316146146bd5760405162461bcd60e51b8152600401610ff090615e49565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006023600e548154811061476457614764615b54565b600091825260209091200180546040516323b872dd60e01b8152336004820152306024820152604481018590529192506001600160a01b03169081906323b872dd906064016020604051808303816000875af11580156147c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135579190615d95565b600060646147fa8385615ac9565b6148049190615b32565b905060006064601d54836148189190615ac9565b6148229190615b32565b905060006064601e54846148369190615ac9565b6148409190615b32565b905060006064601f54856148549190615ac9565b61485e9190615b32565b905060006023600e548154811061487757614877615b54565b60009182526020909120018054601c5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018890529293501690819063a9059cbb906044016020604051808303816000875af11580156148da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148fe9190615d95565b50601b5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018690529082169063a9059cbb906044016020604051808303816000875af1158015614952573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149769190615d95565b50601a5460405163a9059cbb60e01b81526101009091046001600160a01b0390811660048301526024820185905282169063a9059cbb906044016020604051808303816000875af11580156149cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149f39190615d95565b508560136000828254614a069190615ab6565b90915550505050505050505050565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216614abd5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610ff0565b6000818152600260205260409020546001600160a01b031615614b225760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610ff0565b614b30600083836001614d93565b6000818152600260205260409020546001600160a01b031615614b955760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610ff0565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b031603614c615760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610ff0565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b614cd98484846145dc565b614ce584848484614ec0565b6135575760405162461bcd60e51b8152600401610ff090615e8e565b60606000614d0e83614fc1565b60010190506000816001600160401b03811115614d2d57614d2d61554b565b6040519080825280601f01601f191660200182016040528015614d57576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084614d6157509392505050565b6001811115614e025760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610ff0565b816001600160a01b038516614e5e57614e5981600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b614e81565b836001600160a01b0316856001600160a01b031614614e8157614e818582615099565b6001600160a01b038416614e9d57614e9881615136565b613a0d565b846001600160a01b0316846001600160a01b031614613a0d57613a0d84826151e5565b60006001600160a01b0384163b15614fb657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290614f04903390899088908890600401615ee0565b6020604051808303816000875af1925050508015614f3f575060408051601f3d908101601f19168201909252614f3c91810190615f1d565b60015b614f9c573d808015614f6d576040519150601f19603f3d011682016040523d82523d6000602084013e614f72565b606091505b508051600003614f945760405162461bcd60e51b8152600401610ff090615e8e565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506145d4565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106150005772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061502c576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061504a57662386f26fc10000830492506010015b6305f5e1008310615062576305f5e100830492506008015b612710831061507657612710830492506004015b60648310615088576064830492506002015b600a8310610ebd5760010192915050565b600060016150a6846128b7565b6150b09190615af9565b600083815260076020526040902054909150808214615103576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061514890600190615af9565b6000838152600960205260408120546008805493945090928490811061517057615170615b54565b90600052602060002001549050806008838154811061519157615191615b54565b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806151c9576151c9615f3a565b6001900381819060005260206000200160009055905550505050565b60006151f0836128b7565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b604051806101400160405280606081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6001600160e01b03198116811461129b57600080fd5b6000602082840312156152a457600080fd5b81356152af8161527c565b9392505050565b60005b838110156152d15781810151838201526020016152b9565b50506000910152565b600081518084526152f28160208601602086016152b6565b601f01601f19169290920160200192915050565b6020815260006152af60208301846152da565b60006020828403121561532b57600080fd5b5035919050565b6001600160a01b038116811461129b57600080fd5b6000806040838503121561535a57600080fd5b823561536581615332565b946020939093013593505050565b6000806040838503121561538657600080fd5b50508035926020909101359150565b60008060008060008060c087890312156153ae57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b6000602082840312156153ea57600080fd5b81356152af81615332565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156154b157603f1989840301855281516101408151818652615443828701826152da565b838b0151878c0152898401518a880152606080850151908801526080808501519088015260a0808501519088015260c0808501519088015260e0808501519088015261010080850151908801526101209384015193909601929092525050938601939086019060010161541c565b509098975050505050505050565b6000806000606084860312156154d457600080fd5b83356154df81615332565b925060208401356154ef81615332565b929592945050506040919091013590565b60008060006060848603121561551557600080fd5b833561552081615332565b9250602084013561553081615332565b9150604084013561554081615332565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b038084111561557b5761557b61554b565b604051601f8501601f19908116603f011681019082821181831017156155a3576155a361554b565b816040528093508581528686860111156155bc57600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126155e757600080fd5b6152af83833560208501615561565b6000806040838503121561560957600080fd5b8235915060208301356001600160401b0381111561562657600080fd5b615632858286016155d6565b9150509250929050565b60008083601f84011261564e57600080fd5b5081356001600160401b0381111561566557600080fd5b6020830191508360208260051b850101111561568057600080fd5b9250929050565b6000806020838503121561569a57600080fd5b82356001600160401b038111156156b057600080fd5b6156bc8582860161563c565b90969095509350505050565b60008060008060008060008060008060c08b8d0312156156e757600080fd5b8a35995060208b0135985060408b01356001600160401b038082111561570c57600080fd5b6157188e838f0161563c565b909a50985060608d013591508082111561573157600080fd5b61573d8e838f0161563c565b909850965060808d013591508082111561575657600080fd5b6157628e838f0161563c565b909650945060a08d013591508082111561577b57600080fd5b506157888d828e0161563c565b915080935050809150509295989b9194979a5092959850565b6000602082840312156157b357600080fd5b81356001600160401b038111156157c957600080fd5b6145d4848285016155d6565b801515811461129b57600080fd5b600080604083850312156157f657600080fd5b823561580181615332565b91506020830135615811816157d5565b809150509250929050565b6000806000806080858703121561583257600080fd5b843561583d81615332565b9350602085013561584d81615332565b92506040850135915060608501356001600160401b0381111561586f57600080fd5b8501601f8101871361588057600080fd5b61588f87823560208401615561565b91505092959194509250565b6020808252825182820181905260009190848201906040850190845b818110156158fe576158eb838551805182526020810151602083015260408101516040830152606081015160608301525050565b92840192608092909201916001016158b7565b50909695505050505050565b6000806040838503121561591d57600080fd5b823561592881615332565b9150602083013561581181615332565b600061014080835261594c8184018e6152da565b602084019c909c52505060408101989098526060880196909652608087019490945260a086019290925260c085015260e084015261010083015261012090910152919050565b6020808252825182820181905260009190848201906040850190845b818110156158fe576159e2838551805182526020810151602083015260408101516040830152606081015160608301525050565b92840192608092909201916001016159ae565b600181811c90821680615a0957607f821691505b602082108103615a2957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600f908201526e14185d5cd9590810dbdb9d1c9858dd608a1b604082015260600190565b6020808252600b908201526a109b1858dadb1a5cdd195960aa1b604082015260600190565b602080825260099082015268139bdd08119bdd5b9960ba1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610ebd57610ebd615aa0565b8082028115828204841417610ebd57610ebd615aa0565b600060018201615af257615af2615aa0565b5060010190565b81810381811115610ebd57610ebd615aa0565b6020808252600c908201526b139bdd081e5bdd5c8813919560a21b604082015260600190565b600082615b4f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252600f908201526e2737ba1030baba3437b934bd32b21760891b604082015260600190565b6020808252600c908201526b1058dd1a5d985d194813919560a21b604082015260600190565b6020808252600990820152682a37b79039b7b7b71760b91b604082015260600190565b601f82111561109157600081815260208120601f850160051c81016020861015615c505750805b601f850160051c820191505b81811015615c6f57828155600101615c5c565b505050505050565b81516001600160401b03811115615c9057615c9061554b565b615ca481615c9e84546159f5565b84615c29565b602080601f831160018114615cd95760008415615cc15750858301515b600019600386901b1c1916600185901b178555615c6f565b600085815260208120601f198616915b82811015615d0857888601518255948401946001909101908401615ce9565b5085821015615d265787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808335601e19843603018112615d4d57600080fd5b8301803591506001600160401b03821115615d6757600080fd5b60200191503681900382131561568057600080fd5b600060208284031215615d8e57600080fd5b5051919050565b600060208284031215615da757600080fd5b81516152af816157d5565b6000808454615dc0816159f5565b60018281168015615dd85760018114615ded57615e1c565b60ff1984168752821515830287019450615e1c565b8860005260208060002060005b85811015615e135781548a820152908401908201615dfa565b50505082870194505b505050508351615e308183602088016152b6565b64173539b7b760d91b9101908152600501949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615f13908301846152da565b9695505050505050565b600060208284031215615f2f57600080fd5b81516152af8161527c565b634e487b7160e01b600052603160045260246000fdfea26469706673582212203d5d2633d9c3ed7fbd9ffac38c4aea704791071eabe3e17ac4c3c60e0e031b7c64736f6c634300081200333078536f726365726572207c20426174746f75736169204e616b616d6f746f207c204461726b2d5669706572000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000deb4316defc86a53fe465207825d987cd2f636a4000000000000000000000000aba13099d371a483dbf6cfd5ca654c7a3547cc740000000000000000000000000000000000000000000000000000000000000009426174746c65646f67000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034244470000000000000000000000000000000000000000000000000000000000