[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [], "name": "AllowlistSeeded", "type": "event" }, { "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": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "fee", "type": "uint256" } ], "name": "AvaxWithdraw", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "quantity", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "price", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "totalAfterMint", "type": "uint256" } ], "name": "Mint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "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": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "BASIS_POINT_PRECISION", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "Ierc20TokenApprove", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "Ierc20TokenTransfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "Ierc20TokenTransferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "Ierc721TokenGenericSafeTransferData", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "Ierc721TokenGenericSafeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "Ierc721TokenGenericTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "Ierc721TokenGenericTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "allowlist", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "allowlistPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "allowlistStartTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseExtension", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "botsCanMint", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "currentBlockTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "devFeeCollector", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "devFeePercent", "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": "_id", "type": "uint256" } ], "name": "getShuffledTokenId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [], "name": "latestRandomizingBlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxMintPerTx", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "mintActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_quantity", "type": "uint256" } ], "name": "multiMint", "outputs": [], "stateMutability": "payable", "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": [], "name": "ownerMintSelf", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" } ], "name": "ownerMintSend", "outputs": [], "stateMutability": "nonpayable", "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": [], "name": "publicSaleStartTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "randomUint", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "requestShuffle", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "retrieveShuffle", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "royaltyPercent", "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": "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": [], "name": "salePrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_addresses", "type": "address[]" }, { "internalType": "uint256[]", "name": "_numNfts", "type": "uint256[]" } ], "name": "seedAllowlist", "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": "string", "name": "_newBase", "type": "string" } ], "name": "setBaseExtention", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newBaseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "setBotsCanMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxMintPer", "type": "uint256" } ], "name": "setMaxMintPerTx", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxSupply", "type": "uint256" } ], "name": "setMaxSupply", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "setMintActive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newRoyalties", "type": "uint256" } ], "name": "setNftRoyalties", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_startTime", "type": "uint256" } ], "name": "setPublicMintTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "setPublicMintTimeToNow", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newPrice", "type": "uint256" } ], "name": "setSalePrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "customUnrevealedURI_", "type": "string" } ], "name": "setUnrevealedURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_startTime", "type": "uint256" } ], "name": "setWLMintTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "setWLMintTimeToNow", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newPrice", "type": "uint256" } ], "name": "setWLPrice", "outputs": [], "stateMutability": "nonpayable", "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": [], "name": "timeUntilPublicMint", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "timeUntilWLMint", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "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": [], "name": "unrevealedURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" } ], "name": "withdrawAllAVAX", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600e90816200004a919062000608565b503480156200005857600080fd5b506040518060400160405280600981526020017f646f6e20446f6e757400000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f646f6e446f6e75740000000000000000000000000000000000000000000000008152508160009081620000d6919062000608565b508060019081620000e8919062000608565b5050506200010b620000ff620002c060201b60201c565b620002c860201b60201c565b6000600760146101000a81548160ff0219169083151502179055506001600881905550670de0b6b3a7640000601581905550671bc16d674ec80000600f819055506040518060600160405280603681526020016200649c60369139600c908162000176919062000608565b50604051806060016040528060358152602001620064d260359139600d9081620001a1919062000608565b50600a6010819055506101f46011819055506001601260006101000a81548160ff0219169083151502179055506063600b8190555063638567a06017819055506363856ea86018819055506000601260016101000a81548160ff02191690831515021790555061138860198190555073d74f8a84b7b622ad0536f9d99d56175c3dab8a63601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507392eddfdaf80164e2445bc6e231517f11e498b913601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620006ef565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200041057607f821691505b602082108103620004265762000425620003c8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000451565b6200049c868362000451565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004e9620004e3620004dd84620004b4565b620004be565b620004b4565b9050919050565b6000819050919050565b6200050583620004c8565b6200051d6200051482620004f0565b8484546200045e565b825550505050565b600090565b6200053462000525565b62000541818484620004fa565b505050565b5b8181101562000569576200055d6000826200052a565b60018101905062000547565b5050565b601f821115620005b85762000582816200042c565b6200058d8462000441565b810160208510156200059d578190505b620005b5620005ac8562000441565b83018262000546565b50505b505050565b600082821c905092915050565b6000620005dd60001984600802620005bd565b1980831691505092915050565b6000620005f88383620005ca565b9150826002028217905092915050565b62000613826200038e565b67ffffffffffffffff8111156200062f576200062e62000399565b5b6200063b8254620003f7565b620006488282856200056d565b600060209050601f8311600181146200068057600084156200066b578287015190505b620006778582620005ea565b865550620006e7565b601f19841662000690866200042c565b60005b82811015620006ba5784890151825560018201915060208501945060208101905062000693565b86831015620006da5784890151620006d6601f891682620005ca565b8355505b6001600288020188555050505b505050505050565b615d9d80620006ff6000396000f3fe60806040526004361061041f5760003560e01c8063715018a61161021e578063b344b72311610123578063de7fcb1d116100ab578063f48734c51161007a578063f48734c514610f62578063f51f96dd14610f79578063f6a5b8e614610fa4578063fbd0ab5e14610fcd578063fe2c7fee14610ff657610426565b8063de7fcb1d14610ea8578063e985e9c514610ed3578063ee1cc94414610f10578063f2fde38b14610f3957610426565b8063c99892b3116100f2578063c99892b314610dc1578063cddedcc514610dd8578063cfedd61b14610e15578063d5abeb0114610e52578063d9a6f70514610e7d57610426565b8063b344b72314610d07578063b88d4fde14610d30578063c668286214610d59578063c87b56dd14610d8457610426565b80639789f5d7116101a6578063a22cb46511610175578063a22cb46514610c31578063a7cd52cb14610c5a578063ab00492f14610c97578063b05863d514610cb3578063b1fa417614610cdc57610426565b80639789f5d714610b845780639f0c7ed514610bad5780639f67756d14610bea578063a0712d6814610c1557610426565b80638d2ab3ed116101ed5780638d2ab3ed14610a9b5780638da5cb5b14610ac65780638fa8ae1b14610af157806390967a5214610b2e57806395d89b4114610b5957610426565b8063715018a614610a1b5780638271029c14610a325780638456cb5914610a5b5780638b084fbd14610a7257610426565b8063500be547116103245780635f3f7184116102ac5780636bb7b1d91161027b5780636bb7b1d9146109345780636c0360eb1461095f5780636f8b44b01461098a5780637035bf18146109b357806370a08231146109de57610426565b80635f3f7184146108a05780636073b328146108b7578063616cdb1e146108ce5780636352211e146108f757610426565b806359d7bc4d116102f357806359d7bc4d146107cd5780635a8415fb146107f85780635b72c1a4146108235780635c975abb1461084c5780635da44e061461087757610426565b8063500be54714610727578063509ac02f14610752578063555dab131461077b57806355f804b3146107a457610426565b806325124730116103a75780633f64a7ab116103765780633f64a7ab1461067557806342842e0e146106a057806343316c66146106c95780634987b3bc146106d35780634a7b16b5146106fc57610426565b806325124730146105ca57806325fd90f3146105f55780632a55205a146106205780633f4ba83a1461065e57610426565b8063095ea7b3116103ee578063095ea7b3146104f95780630c6c75591461052257806318160ddd1461054d5780631919fed71461057857806323b872dd146105a157610426565b806301ffc9a71461042b57806306fdde0314610468578063081812fc1461049357806308f4c7ff146104d057610426565b3661042657005b600080fd5b34801561043757600080fd5b50610452600480360381019061044d9190613c74565b61101f565b60405161045f9190613cbc565b60405180910390f35b34801561047457600080fd5b5061047d611087565b60405161048a9190613d67565b60405180910390f35b34801561049f57600080fd5b506104ba60048036038101906104b59190613dbf565b611119565b6040516104c79190613e2d565b60405180910390f35b3480156104dc57600080fd5b506104f760048036038101906104f29190613dbf565b61115f565b005b34801561050557600080fd5b50610520600480360381019061051b9190613e74565b611171565b005b34801561052e57600080fd5b50610537611288565b6040516105449190613e2d565b60405180910390f35b34801561055957600080fd5b506105626112ae565b60405161056f9190613ec3565b60405180910390f35b34801561058457600080fd5b5061059f600480360381019061059a9190613dbf565b6112bf565b005b3480156105ad57600080fd5b506105c860048036038101906105c39190613ede565b6112d1565b005b3480156105d657600080fd5b506105df611331565b6040516105ec9190613ec3565b60405180910390f35b34801561060157600080fd5b5061060a611337565b6040516106179190613cbc565b60405180910390f35b34801561062c57600080fd5b5061064760048036038101906106429190613f31565b61134a565b604051610655929190613f71565b60405180910390f35b34801561066a57600080fd5b50610673611379565b005b34801561068157600080fd5b5061068a61138b565b6040516106979190613ec3565b60405180910390f35b3480156106ac57600080fd5b506106c760048036038101906106c29190613ede565b611391565b005b6106d16113b1565b005b3480156106df57600080fd5b506106fa60048036038101906106f591906140cf565b6114b6565b005b34801561070857600080fd5b506107116114d1565b60405161071e9190613ec3565b60405180910390f35b34801561073357600080fd5b5061073c6114d9565b6040516107499190613ec3565b60405180910390f35b34801561075e57600080fd5b5061077960048036038101906107749190614144565b611545565b005b34801561078757600080fd5b506107a2600480360381019061079d9190613ede565b61156a565b005b3480156107b057600080fd5b506107cb60048036038101906107c691906140cf565b6115e6565b005b3480156107d957600080fd5b506107e2611601565b6040516107ef9190613ec3565b60405180910390f35b34801561080457600080fd5b5061080d611607565b60405161081a9190613cbc565b60405180910390f35b34801561082f57600080fd5b5061084a60048036038101906108459190613ede565b61161a565b005b34801561085857600080fd5b50610861611696565b60405161086e9190613cbc565b60405180910390f35b34801561088357600080fd5b5061089e60048036038101906108999190613dbf565b6116ad565b005b3480156108ac57600080fd5b506108b5611704565b005b3480156108c357600080fd5b506108cc611721565b005b3480156108da57600080fd5b506108f560048036038101906108f09190613dbf565b61173e565b005b34801561090357600080fd5b5061091e60048036038101906109199190613dbf565b611750565b60405161092b9190613e2d565b60405180910390f35b34801561094057600080fd5b50610949611801565b6040516109569190613ec3565b60405180910390f35b34801561096b57600080fd5b50610974611807565b6040516109819190613d67565b60405180910390f35b34801561099657600080fd5b506109b160048036038101906109ac9190613dbf565b611895565b005b3480156109bf57600080fd5b506109c86118a7565b6040516109d59190613d67565b60405180910390f35b3480156109ea57600080fd5b50610a056004803603810190610a009190614171565b611935565b604051610a129190613ec3565b60405180910390f35b348015610a2757600080fd5b50610a306119ec565b005b348015610a3e57600080fd5b50610a596004803603810190610a549190613ede565b611a00565b005b348015610a6757600080fd5b50610a70611a7c565b005b348015610a7e57600080fd5b50610a996004803603810190610a949190614171565b611a8e565b005b348015610aa757600080fd5b50610ab0611cb5565b604051610abd9190613ec3565b60405180910390f35b348015610ad257600080fd5b50610adb611d21565b604051610ae89190613e2d565b60405180910390f35b348015610afd57600080fd5b50610b186004803603810190610b139190613ede565b611d4b565b604051610b259190613cbc565b60405180910390f35b348015610b3a57600080fd5b50610b43611dde565b604051610b509190613ec3565b60405180910390f35b348015610b6557600080fd5b50610b6e611de4565b604051610b7b9190613d67565b60405180910390f35b348015610b9057600080fd5b50610bab6004803603810190610ba69190614171565b611e76565b005b348015610bb957600080fd5b50610bd46004803603810190610bcf9190613ede565b611e8a565b604051610be19190613cbc565b60405180910390f35b348015610bf657600080fd5b50610bff611f1b565b604051610c0c9190613ec3565b60405180910390f35b610c2f6004803603810190610c2a9190613dbf565b611f21565b005b348015610c3d57600080fd5b50610c586004803603810190610c53919061419e565b611f2d565b005b348015610c6657600080fd5b50610c816004803603810190610c7c9190614171565b611f43565b604051610c8e9190613ec3565b60405180910390f35b610cb16004803603810190610cac9190613dbf565b611f5b565b005b348015610cbf57600080fd5b50610cda6004803603810190610cd59190614294565b612332565b005b348015610ce857600080fd5b50610cf1612418565b604051610cfe9190613ec3565b60405180910390f35b348015610d1357600080fd5b50610d2e6004803603810190610d299190613ede565b61241e565b005b348015610d3c57600080fd5b50610d576004803603810190610d5291906143b6565b61249a565b005b348015610d6557600080fd5b50610d6e6124fc565b604051610d7b9190613d67565b60405180910390f35b348015610d9057600080fd5b50610dab6004803603810190610da69190613dbf565b61258a565b604051610db89190613d67565b60405180910390f35b348015610dcd57600080fd5b50610dd66126d9565b005b348015610de457600080fd5b50610dff6004803603810190610dfa9190613ede565b6128b3565b604051610e0c9190613cbc565b60405180910390f35b348015610e2157600080fd5b50610e3c6004803603810190610e379190613dbf565b612944565b604051610e499190613ec3565b60405180910390f35b348015610e5e57600080fd5b50610e676129b7565b604051610e749190613ec3565b60405180910390f35b348015610e8957600080fd5b50610e926129bd565b604051610e9f9190613ec3565b60405180910390f35b348015610eb457600080fd5b50610ebd6129c3565b604051610eca9190613ec3565b60405180910390f35b348015610edf57600080fd5b50610efa6004803603810190610ef59190614439565b6129c9565b604051610f079190613cbc565b60405180910390f35b348015610f1c57600080fd5b50610f376004803603810190610f329190614144565b612a5d565b005b348015610f4557600080fd5b50610f606004803603810190610f5b9190614171565b612a82565b005b348015610f6e57600080fd5b50610f77612b05565b005b348015610f8557600080fd5b50610f8e612b18565b604051610f9b9190613ec3565b60405180910390f35b348015610fb057600080fd5b50610fcb6004803603810190610fc69190613dbf565b612b1e565b005b348015610fd957600080fd5b50610ff46004803603810190610fef9190613dbf565b612b30565b005b34801561100257600080fd5b5061101d600480360381019061101891906140cf565b612b42565b005b6000632a55205a60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036110765760019050611082565b61107f82612b5d565b90505b919050565b606060008054611096906144a8565b80601f01602080910402602001604051908101604052809291908181526020018280546110c2906144a8565b801561110f5780601f106110e45761010080835404028352916020019161110f565b820191906000526020600020905b8154815290600101906020018083116110f257829003601f168201915b5050505050905090565b600061112482612c3f565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b611167612c8a565b8060188190555050565b600061117c82611750565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e39061454b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661120b612d08565b73ffffffffffffffffffffffffffffffffffffffff16148061123a575061123981611234612d08565b6129c9565b5b611279576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611270906145dd565b60405180910390fd5b6112838383612d10565b505050565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112ba6009612dc9565b905090565b6112c7612c8a565b80600f8190555050565b6112e26112dc612d08565b82612dd7565b611321576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113189061466f565b60405180910390fd5b61132c838383612e6c565b505050565b600a5481565b601260009054906101000a900460ff1681565b600080611355611d21565b612710828561136491906146be565b61136e919061472f565b915091509250929050565b611381612c8a565b6113896130d2565b565b60195481565b6113ac8383836040518060200160405280600081525061249a565b505050565b6113b9612c8a565b436013819055506000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663699b328a346040518263ffffffff1660e01b815260040160206040518083038185885af1158015611431573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114569190614775565b9050348110156114b3573373ffffffffffffffffffffffffffffffffffffffff166108fc823461148691906147a2565b9081150290604051600060405180830381858888f193505050501580156114b1573d6000803e3d6000fd5b505b50565b6114be612c8a565b80600e90816114cd9190614982565b5050565b600042905090565b6000806017541161151f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151690614aa0565b60405180910390fd5b42601754116115315760009050611542565b4260175461153f91906147a2565b90505b90565b61154d612c8a565b80601260016101000a81548160ff02191690831515021790555050565b611572612c8a565b8273ffffffffffffffffffffffffffffffffffffffff1663beabacc83084846040518463ffffffff1660e01b81526004016115af93929190614ac0565b600060405180830381600087803b1580156115c957600080fd5b505af11580156115dd573d6000803e3d6000fd5b50505050505050565b6115ee612c8a565b80600c90816115fd9190614982565b5050565b60175481565b601260019054906101000a900460ff1681565b611622612c8a565b8273ffffffffffffffffffffffffffffffffffffffff1663d1660f993084846040518463ffffffff1660e01b815260040161165f93929190614ac0565b600060405180830381600087803b15801561167957600080fd5b505af115801561168d573d6000803e3d6000fd5b50505050505050565b6000600760149054906101000a900460ff16905090565b6116b5612c8a565b6103e88111156116fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f190614b43565b60405180910390fd5b8060118190555050565b61170c612c8a565b6001426117199190614b63565b601781905550565b611729612c8a565b6001426117369190614b63565b601881905550565b611746612c8a565b8060108190555050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ef90614be3565b60405180910390fd5b80915050919050565b60185481565b600c8054611814906144a8565b80601f0160208091040260200160405190810160405280929190818152602001828054611840906144a8565b801561188d5780601f106118625761010080835404028352916020019161188d565b820191906000526020600020905b81548152906001019060200180831161187057829003601f168201915b505050505081565b61189d612c8a565b80600b8190555050565b600d80546118b4906144a8565b80601f01602080910402602001604051908101604052809291908181526020018280546118e0906144a8565b801561192d5780601f106119025761010080835404028352916020019161192d565b820191906000526020600020905b81548152906001019060200180831161191057829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199c90614c75565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6119f4612c8a565b6119fe6000613135565b565b611a08612c8a565b8273ffffffffffffffffffffffffffffffffffffffff166342842e0e3084846040518463ffffffff1660e01b8152600401611a4593929190614ac0565b600060405180830381600087803b158015611a5f57600080fd5b505af1158015611a73573d6000803e3d6000fd5b50505050505050565b611a84612c8a565b611a8c6131fb565b565b611a96612c8a565b611a9e61325e565b600047905060008060006019541115611bab5761271060195484611ac291906146be565b611acc919061472f565b91508183611ada91906147a2565b9250601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051611b2290614cc6565b60006040518083038185875af1925050503d8060008114611b5f576040519150601f19603f3d011682016040523d82523d6000602084013e611b64565b606091505b50508091505080611baa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba190614d27565b60405180910390fd5b5b8373ffffffffffffffffffffffffffffffffffffffff1683604051611bcf90614cc6565b60006040518083038185875af1925050503d8060008114611c0c576040519150601f19603f3d011682016040523d82523d6000602084013e611c11565b606091505b50508091505080611c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4e90614db9565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff167f12eb5d7ccd4ce398edc94007dfbaa22fa2ac8775a3633530f36053ad765262f48484604051611c9f929190614dd9565b60405180910390a2505050611cb26132ad565b50565b60008060185411611cfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf290614aa0565b60405180910390fd5b4260185411611d0d5760009050611d1e565b42601854611d1b91906147a2565b90505b90565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000611d55612c8a565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd3085856040518463ffffffff1660e01b8152600401611d9293929190614ac0565b6020604051808303816000875af1158015611db1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd59190614e17565b90509392505050565b60155481565b606060018054611df3906144a8565b80601f0160208091040260200160405190810160405280929190818152602001828054611e1f906144a8565b8015611e6c5780601f10611e4157610100808354040283529160200191611e6c565b820191906000526020600020905b815481529060010190602001808311611e4f57829003601f168201915b5050505050905090565b611e7e612c8a565b611e87816132b7565b50565b6000611e94612c8a565b8373ffffffffffffffffffffffffffffffffffffffff1663095ea7b384846040518363ffffffff1660e01b8152600401611ecf929190613f71565b6020604051808303816000875af1158015611eee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f129190614e17565b90509392505050565b60115481565b611f2a81611f5b565b50565b611f3f611f38612d08565b838361332a565b5050565b60166020528060005260406000206000915090505481565b600060175411611fa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9790614e90565b60405180910390fd5b6017544211611fe4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fdb90614efc565b60405180910390fd5b611fec61325e565b601260009054906101000a900460ff1661203b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203290614f68565b60405180910390fd5b600b54816120476112ae565b6120519190614b63565b1115612092576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208990614fd4565b60405180910390fd5b6010548111156120d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ce90615040565b60405180910390fd5b6000601554905042601854116120f157600f5490506121ca565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115612173576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216a906150f8565b60405180910390fd5b81601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121c291906147a2565b925050819055505b81816121d691906146be565b3414612217576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220e9061518a565b60405180910390fd5b60001515601260019054906101000a900460ff161515036122a1573273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612297906151f6565b60405180910390fd5b5b60005b828110156122c8576122b5336132b7565b80806122c090615216565b9150506122a4565b503373ffffffffffffffffffffffffffffffffffffffff167fb4c03061fb5b7fed76389d5af8f2e0ddb09f8c70d1333abbb62582835e10accb83600f5461230f6009612dc9565b60405161231e9392919061525e565b60405180910390a25061232f6132ad565b50565b61233a612c8a565b600084849050905060005b818110156123e4578383828181106123605761235f615295565b5b905060200201356016600088888581811061237e5761237d615295565b5b90506020020160208101906123939190614171565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080806123dc90615216565b915050612345565b507f0df27beb8d16f5e61d125286ba69a986a702ac83921bb1864629ca5e662e84d460405160405180910390a15050505050565b60135481565b612426612c8a565b8273ffffffffffffffffffffffffffffffffffffffff166323b872dd3084846040518463ffffffff1660e01b815260040161246393929190614ac0565b600060405180830381600087803b15801561247d57600080fd5b505af1158015612491573d6000803e3d6000fd5b50505050505050565b6124ab6124a5612d08565b83612dd7565b6124ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e19061466f565b60405180910390fd5b6124f684848484613496565b50505050565b600e8054612509906144a8565b80601f0160208091040260200160405190810160405280929190818152602001828054612535906144a8565b80156125825780601f1061255757610100808354040283529160200191612582565b820191906000526020600020905b81548152906001019060200180831161256557829003601f168201915b505050505081565b6060612595826134f2565b6125d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125cb90615336565b60405180910390fd5b6000600a540361267057600d80546125eb906144a8565b80601f0160208091040260200160405190810160405280929190818152602001828054612617906144a8565b80156126645780601f1061263957610100808354040283529160200191612664565b820191906000526020600020905b81548152906001019060200180831161264757829003601f168201915b505050505090506126d4565b600061267a61355e565b9050600081511161269a57604051806020016040528060008152506126d0565b806126ac6126a785612944565b6135f0565b600e6040516020016126c093929190615415565b6040516020818303038152906040525b9150505b919050565b6126e1612c8a565b600060135411612726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271d906154b8565b60405180910390fd5b60011515601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639bc86fec6013546040518263ffffffff1660e01b81526004016127879190613ec3565b602060405180830381865afa1580156127a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c89190614e17565b15151461280a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128019061554a565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fb476cad6013546040518263ffffffff1660e01b81526004016128679190613ec3565b602060405180830381865afa158015612884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a891906155a0565b60001c600a81905550565b60006128bd612c8a565b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b81526004016128f8929190613f71565b6020604051808303816000875af1158015612917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061293b9190614e17565b90509392505050565b600080600a541161298a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298190615665565b60405180910390fd5b6001602183600a5461299c9190614b63565b6129a69190615685565b6129b09190614b63565b9050919050565b600b5481565b61271081565b60105481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612a65612c8a565b80601260006101000a81548160ff02191690831515021790555050565b612a8a612c8a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612af090615728565b60405180910390fd5b612b0281613135565b50565b612b0d612c8a565b612b16336132b7565b565b600f5481565b612b26612c8a565b8060158190555050565b612b38612c8a565b8060178190555050565b612b4a612c8a565b80600d9081612b599190614982565b5050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612c2857507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612c385750612c3782613750565b5b9050919050565b612c48816134f2565b612c87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c7e90614be3565b60405180910390fd5b50565b612c92612d08565b73ffffffffffffffffffffffffffffffffffffffff16612cb0611d21565b73ffffffffffffffffffffffffffffffffffffffff1614612d06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cfd90615794565b60405180910390fd5b565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16612d8383611750565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600081600001549050919050565b600080612de383611750565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612e255750612e2481856129c9565b5b80612e6357508373ffffffffffffffffffffffffffffffffffffffff16612e4b84611119565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16612e8c82611750565b73ffffffffffffffffffffffffffffffffffffffff1614612ee2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ed990615826565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612f51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f48906158b8565b60405180910390fd5b612f5c8383836137ba565b612f67600082612d10565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612fb791906147a2565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461300e9190614b63565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46130cd8383836137d2565b505050565b6130da6137d7565b6000600760146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61311e612d08565b60405161312b9190613e2d565b60405180910390a1565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b613203613820565b6001600760146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613247612d08565b6040516132549190613e2d565b60405180910390a1565b6002600854036132a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161329a90615924565b60405180910390fd5b6002600881905550565b6001600881905550565b600b546132c46009612dc9565b10613304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132fb906159b6565b60405180910390fd5b61330e600961386a565b600061331a6009612dc9565b90506133268282613880565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161338f90615a22565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516134899190613cbc565b60405180910390a3505050565b6134a1848484612e6c565b6134ad84848484613a59565b6134ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134e390615ab4565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6060600c805461356d906144a8565b80601f0160208091040260200160405190810160405280929190818152602001828054613599906144a8565b80156135e65780601f106135bb576101008083540402835291602001916135e6565b820191906000526020600020905b8154815290600101906020018083116135c957829003601f168201915b5050505050905090565b606060008203613637576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061374b565b600082905060005b6000821461366957808061365290615216565b915050600a82613662919061472f565b915061363f565b60008167ffffffffffffffff81111561368557613684613fa4565b5b6040519080825280601f01601f1916602001820160405280156136b75781602001600182028036833780820191505090505b5090505b60008514613744576001826136d091906147a2565b9150600a856136df9190615685565b60306136eb9190614b63565b60f81b81838151811061370157613700615295565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561373d919061472f565b94506136bb565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6137c2613820565b6137cd838383613be0565b505050565b505050565b6137df611696565b61381e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161381590615b20565b60405180910390fd5b565b613828611696565b15613868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161385f90615b8c565b60405180910390fd5b565b6001816000016000828254019250508190555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036138ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138e690615bf8565b60405180910390fd5b6138f8816134f2565b15613938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161392f90615c64565b60405180910390fd5b613944600083836137ba565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546139949190614b63565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4613a55600083836137d2565b5050565b6000613a7a8473ffffffffffffffffffffffffffffffffffffffff16613be5565b15613bd3578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02613aa3612d08565b8786866040518563ffffffff1660e01b8152600401613ac59493929190615cd9565b6020604051808303816000875af1925050508015613b0157506040513d601f19601f82011682018060405250810190613afe9190615d3a565b60015b613b83573d8060008114613b31576040519150601f19603f3d011682016040523d82523d6000602084013e613b36565b606091505b506000815103613b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b7290615ab4565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613bd8565b600190505b949350505050565b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613c5181613c1c565b8114613c5c57600080fd5b50565b600081359050613c6e81613c48565b92915050565b600060208284031215613c8a57613c89613c12565b5b6000613c9884828501613c5f565b91505092915050565b60008115159050919050565b613cb681613ca1565b82525050565b6000602082019050613cd16000830184613cad565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613d11578082015181840152602081019050613cf6565b60008484015250505050565b6000601f19601f8301169050919050565b6000613d3982613cd7565b613d438185613ce2565b9350613d53818560208601613cf3565b613d5c81613d1d565b840191505092915050565b60006020820190508181036000830152613d818184613d2e565b905092915050565b6000819050919050565b613d9c81613d89565b8114613da757600080fd5b50565b600081359050613db981613d93565b92915050565b600060208284031215613dd557613dd4613c12565b5b6000613de384828501613daa565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613e1782613dec565b9050919050565b613e2781613e0c565b82525050565b6000602082019050613e426000830184613e1e565b92915050565b613e5181613e0c565b8114613e5c57600080fd5b50565b600081359050613e6e81613e48565b92915050565b60008060408385031215613e8b57613e8a613c12565b5b6000613e9985828601613e5f565b9250506020613eaa85828601613daa565b9150509250929050565b613ebd81613d89565b82525050565b6000602082019050613ed86000830184613eb4565b92915050565b600080600060608486031215613ef757613ef6613c12565b5b6000613f0586828701613e5f565b9350506020613f1686828701613e5f565b9250506040613f2786828701613daa565b9150509250925092565b60008060408385031215613f4857613f47613c12565b5b6000613f5685828601613daa565b9250506020613f6785828601613daa565b9150509250929050565b6000604082019050613f866000830185613e1e565b613f936020830184613eb4565b9392505050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613fdc82613d1d565b810181811067ffffffffffffffff82111715613ffb57613ffa613fa4565b5b80604052505050565b600061400e613c08565b905061401a8282613fd3565b919050565b600067ffffffffffffffff82111561403a57614039613fa4565b5b61404382613d1d565b9050602081019050919050565b82818337600083830152505050565b600061407261406d8461401f565b614004565b90508281526020810184848401111561408e5761408d613f9f565b5b614099848285614050565b509392505050565b600082601f8301126140b6576140b5613f9a565b5b81356140c684826020860161405f565b91505092915050565b6000602082840312156140e5576140e4613c12565b5b600082013567ffffffffffffffff81111561410357614102613c17565b5b61410f848285016140a1565b91505092915050565b61412181613ca1565b811461412c57600080fd5b50565b60008135905061413e81614118565b92915050565b60006020828403121561415a57614159613c12565b5b60006141688482850161412f565b91505092915050565b60006020828403121561418757614186613c12565b5b600061419584828501613e5f565b91505092915050565b600080604083850312156141b5576141b4613c12565b5b60006141c385828601613e5f565b92505060206141d48582860161412f565b9150509250929050565b600080fd5b600080fd5b60008083601f8401126141fe576141fd613f9a565b5b8235905067ffffffffffffffff81111561421b5761421a6141de565b5b602083019150836020820283011115614237576142366141e3565b5b9250929050565b60008083601f84011261425457614253613f9a565b5b8235905067ffffffffffffffff811115614271576142706141de565b5b60208301915083602082028301111561428d5761428c6141e3565b5b9250929050565b600080600080604085870312156142ae576142ad613c12565b5b600085013567ffffffffffffffff8111156142cc576142cb613c17565b5b6142d8878288016141e8565b9450945050602085013567ffffffffffffffff8111156142fb576142fa613c17565b5b6143078782880161423e565b925092505092959194509250565b600067ffffffffffffffff8211156143305761432f613fa4565b5b61433982613d1d565b9050602081019050919050565b600061435961435484614315565b614004565b90508281526020810184848401111561437557614374613f9f565b5b614380848285614050565b509392505050565b600082601f83011261439d5761439c613f9a565b5b81356143ad848260208601614346565b91505092915050565b600080600080608085870312156143d0576143cf613c12565b5b60006143de87828801613e5f565b94505060206143ef87828801613e5f565b935050604061440087828801613daa565b925050606085013567ffffffffffffffff81111561442157614420613c17565b5b61442d87828801614388565b91505092959194509250565b600080604083850312156144505761444f613c12565b5b600061445e85828601613e5f565b925050602061446f85828601613e5f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806144c057607f821691505b6020821081036144d3576144d2614479565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000614535602183613ce2565b9150614540826144d9565b604082019050919050565b6000602082019050818103600083015261456481614528565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b60006145c7603e83613ce2565b91506145d28261456b565b604082019050919050565b600060208201905081810360008301526145f6816145ba565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b6000614659602e83613ce2565b9150614664826145fd565b604082019050919050565b600060208201905081810360008301526146888161464c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006146c982613d89565b91506146d483613d89565b92508282026146e281613d89565b915082820484148315176146f9576146f861468f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061473a82613d89565b915061474583613d89565b92508261475557614754614700565b5b828204905092915050565b60008151905061476f81613d93565b92915050565b60006020828403121561478b5761478a613c12565b5b600061479984828501614760565b91505092915050565b60006147ad82613d89565b91506147b883613d89565b92508282039050818111156147d0576147cf61468f565b5b92915050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026148387fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826147fb565b61484286836147fb565b95508019841693508086168417925050509392505050565b6000819050919050565b600061487f61487a61487584613d89565b61485a565b613d89565b9050919050565b6000819050919050565b61489983614864565b6148ad6148a582614886565b848454614808565b825550505050565b600090565b6148c26148b5565b6148cd818484614890565b505050565b5b818110156148f1576148e66000826148ba565b6001810190506148d3565b5050565b601f82111561493657614907816147d6565b614910846147eb565b8101602085101561491f578190505b61493361492b856147eb565b8301826148d2565b50505b505050565b600082821c905092915050565b60006149596000198460080261493b565b1980831691505092915050565b60006149728383614948565b9150826002028217905092915050565b61498b82613cd7565b67ffffffffffffffff8111156149a4576149a3613fa4565b5b6149ae82546144a8565b6149b98282856148f5565b600060209050601f8311600181146149ec57600084156149da578287015190505b6149e48582614966565b865550614a4c565b601f1984166149fa866147d6565b60005b82811015614a22578489015182556001820191506020850194506020810190506149fd565b86831015614a3f5784890151614a3b601f891682614948565b8355505b6001600288020188555050505b505050505050565b7f4d696e742074696d65206e6f7420796574207365740000000000000000000000600082015250565b6000614a8a601583613ce2565b9150614a9582614a54565b602082019050919050565b60006020820190508181036000830152614ab981614a7d565b9050919050565b6000606082019050614ad56000830186613e1e565b614ae26020830185613e1e565b614aef6040830184613eb4565b949350505050565b7f526f79616c74696573206f76657220313025206e6f7420616c6c6f7765640000600082015250565b6000614b2d601e83613ce2565b9150614b3882614af7565b602082019050919050565b60006020820190508181036000830152614b5c81614b20565b9050919050565b6000614b6e82613d89565b9150614b7983613d89565b9250828201905080821115614b9157614b9061468f565b5b92915050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000614bcd601883613ce2565b9150614bd882614b97565b602082019050919050565b60006020820190508181036000830152614bfc81614bc0565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614c5f602983613ce2565b9150614c6a82614c03565b604082019050919050565b60006020820190508181036000830152614c8e81614c52565b9050919050565b600081905092915050565b50565b6000614cb0600083614c95565b9150614cbb82614ca0565b600082019050919050565b6000614cd182614ca3565b9150819050919050565b7f446576204c61756e63687065675f5f5472616e736665724661696c6564282900600082015250565b6000614d11601f83613ce2565b9150614d1c82614cdb565b602082019050919050565b60006020820190508181036000830152614d4081614d04565b9050919050565b7f4f776e6572204c61756e63687065675f5f5472616e736665724661696c65642860008201527f2900000000000000000000000000000000000000000000000000000000000000602082015250565b6000614da3602183613ce2565b9150614dae82614d47565b604082019050919050565b60006020820190508181036000830152614dd281614d96565b9050919050565b6000604082019050614dee6000830185613eb4565b614dfb6020830184613eb4565b9392505050565b600081519050614e1181614118565b92915050565b600060208284031215614e2d57614e2c613c12565b5b6000614e3b84828501614e02565b91505092915050565b7f4d696e742073746172742074696d65206973206e6f7420796574207365740000600082015250565b6000614e7a601e83613ce2565b9150614e8582614e44565b602082019050919050565b60006020820190508181036000830152614ea981614e6d565b9050919050565b7f4d696e74696e6720686173206e6f742073746172746564207965742e00000000600082015250565b6000614ee6601c83613ce2565b9150614ef182614eb0565b602082019050919050565b60006020820190508181036000830152614f1581614ed9565b9050919050565b7f4d696e74696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000614f52601683613ce2565b9150614f5d82614f1c565b602082019050919050565b60006020820190508181036000830152614f8181614f45565b9050919050565b7f4c61756e63687065675f5f4d6178537570706c79526561636865642829000000600082015250565b6000614fbe601d83613ce2565b9150614fc982614f88565b602082019050919050565b60006020820190508181036000830152614fed81614fb1565b9050919050565b7f43616e6e6f74206d696e742074686174206d616e79206174206f6e63652e0000600082015250565b600061502a601e83613ce2565b915061503582614ff4565b602082019050919050565b600060208201905081810360008301526150598161501d565b9050919050565b7f596f7520747269656420746f206d696e74206d6f7265207468616e206973206160008201527f6c6c6f77656420666f7220796f757220746f74616c20706572736f6e616c206160208201527f6c6c6f776c69737420616d6f756e740000000000000000000000000000000000604082015250565b60006150e2604f83613ce2565b91506150ed82615060565b606082019050919050565b60006020820190508181036000830152615111816150d5565b9050919050565b7f57726f6e6720616d6f756e74206f6620415641582073656e7420666f72206d6960008201527f6e74207072696365202a207175616e746974792e000000000000000000000000602082015250565b6000615174603483613ce2565b915061517f82615118565b604082019050919050565b600060208201905081810360008301526151a381615167565b9050919050565b7f4e6f20736d61727420636f6e747261637420626f747320616c6c6f7765642e00600082015250565b60006151e0601f83613ce2565b91506151eb826151aa565b602082019050919050565b6000602082019050818103600083015261520f816151d3565b9050919050565b600061522182613d89565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036152535761525261468f565b5b600182019050919050565b60006060820190506152736000830186613eb4565b6152806020830185613eb4565b61528d6040830184613eb4565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000615320602f83613ce2565b915061532b826152c4565b604082019050919050565b6000602082019050818103600083015261534f81615313565b9050919050565b600081905092915050565b600061536c82613cd7565b6153768185615356565b9350615386818560208601613cf3565b80840191505092915050565b6000815461539f816144a8565b6153a98186615356565b945060018216600081146153c457600181146153d95761540c565b60ff198316865281151582028601935061540c565b6153e2856147d6565b60005b83811015615404578154818901526001820191506020810190506153e5565b838801955050505b50505092915050565b60006154218286615361565b915061542d8285615361565b91506154398284615392565b9150819050949350505050565b7f52756e206f7572207265717565737453687566666c652066756e6374696f6e2060008201527f6669727374000000000000000000000000000000000000000000000000000000602082015250565b60006154a2602583613ce2565b91506154ad82615446565b604082019050919050565b600060208201905081810360008301526154d181615495565b9050919050565b7f57616974206120666577206d6f7265206d696e7574657320666f72205769746e60008201527f657420436861696e20726573756c747320746f20617070656172000000000000602082015250565b6000615534603a83613ce2565b915061553f826154d8565b604082019050919050565b6000602082019050818103600083015261556381615527565b9050919050565b6000819050919050565b61557d8161556a565b811461558857600080fd5b50565b60008151905061559a81615574565b92915050565b6000602082840312156155b6576155b5613c12565b5b60006155c48482850161558b565b91505092915050565b7f52756e206f7572207265717565737453687566666c652066756e6374696f6e2060008201527f616e64207468656e20726574726965766553687566666c65206265666f72652060208201527f72756e6e696e672067657453687566666c6564546f6b656e4964000000000000604082015250565b600061564f605a83613ce2565b915061565a826155cd565b606082019050919050565b6000602082019050818103600083015261567e81615642565b9050919050565b600061569082613d89565b915061569b83613d89565b9250826156ab576156aa614700565b5b828206905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000615712602683613ce2565b915061571d826156b6565b604082019050919050565b6000602082019050818103600083015261574181615705565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061577e602083613ce2565b915061578982615748565b602082019050919050565b600060208201905081810360008301526157ad81615771565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000615810602583613ce2565b915061581b826157b4565b604082019050919050565b6000602082019050818103600083015261583f81615803565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006158a2602483613ce2565b91506158ad82615846565b604082019050919050565b600060208201905081810360008301526158d181615895565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b600061590e601f83613ce2565b9150615919826158d8565b602082019050919050565b6000602082019050818103600083015261593d81615901565b9050919050565b7f546f6f206d616e79204e4654732068617665206265656e206d696e7465642c2060008201527f6d61782063617061636974792072656163686564000000000000000000000000602082015250565b60006159a0603483613ce2565b91506159ab82615944565b604082019050919050565b600060208201905081810360008301526159cf81615993565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000615a0c601983613ce2565b9150615a17826159d6565b602082019050919050565b60006020820190508181036000830152615a3b816159ff565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000615a9e603283613ce2565b9150615aa982615a42565b604082019050919050565b60006020820190508181036000830152615acd81615a91565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000615b0a601483613ce2565b9150615b1582615ad4565b602082019050919050565b60006020820190508181036000830152615b3981615afd565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000615b76601083613ce2565b9150615b8182615b40565b602082019050919050565b60006020820190508181036000830152615ba581615b69565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000615be2602083613ce2565b9150615bed82615bac565b602082019050919050565b60006020820190508181036000830152615c1181615bd5565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000615c4e601c83613ce2565b9150615c5982615c18565b602082019050919050565b60006020820190508181036000830152615c7d81615c41565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000615cab82615c84565b615cb58185615c8f565b9350615cc5818560208601613cf3565b615cce81613d1d565b840191505092915050565b6000608082019050615cee6000830187613e1e565b615cfb6020830186613e1e565b615d086040830185613eb4565b8181036060830152615d1a8184615ca0565b905095945050505050565b600081519050615d3481613c48565b92915050565b600060208284031215615d5057615d4f613c12565b5b6000615d5e84828501615d25565b9150509291505056fea2646970667358221220a91f275ca92281d6eb3b6d91529d9a9ce5309b147a0538ae3fc850f8aa28cae064736f6c63430008110033697066733a2f2f516d536f716333636a3962724558527272743969726767704d48735a444c78396e447148336939736e67484278582f697066733a2f2f516d65315267596d35687744354c435571353562373552346a373550656557384b37654b3331384b597552725174
Loading