534 txs
689 calls
constructor
constructor(uint256 _startPresaleDate, uint256 _startMintDate, uint256 _endPrintDate, string _baseTokenURI, address _banditContractAddress, uint256 _mintPrice, uint256 _discountedMintPrice, uint256 _smallPrintPrice, uint256 _largePrintPrice)
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
banditContractAddress
viewfunction banditContractAddress() view returns (address)
baseTokenURI
viewfunction baseTokenURI() view returns (string)
baseTokenURIFrozen
viewfunction baseTokenURIFrozen() view returns (bool)
burnOperator
viewfunction burnOperator(address) view returns (bool)
discountedMintPrice
viewfunction discountedMintPrice() view returns (uint256)
endPrintDate
viewfunction endPrintDate() view returns (uint256)
firstTokenAddress
viewfunction firstTokenAddress() view returns (address)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getPrice
viewfunction getPrice() view returns (uint256)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
largePrintPrice
viewfunction largePrintPrice() view returns (uint256)
MAX_PURCHASE_COUNT
viewfunction MAX_PURCHASE_COUNT() view returns (uint256)
MAX_SUPPLY
viewfunction MAX_SUPPLY() view returns (uint256)
mintPrice
viewfunction mintPrice() view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
presaleActive
viewfunction presaleActive() view returns (bool)
presaleAllowanceFor
viewfunction presaleAllowanceFor(address user) view returns (uint256)
presaleMintAllowance
viewfunction presaleMintAllowance(address user) view returns (uint256)
presaleMinted
viewfunction presaleMinted(address) view returns (uint256)
printStatus
viewfunction printStatus(uint256) view returns (uint8)
saleActive
viewfunction saleActive() view returns (bool)
smallPrintPrice
viewfunction smallPrintPrice() view returns (uint256)
startMintDate
viewfunction startMintDate() view returns (uint256)
startPresaleDate
viewfunction startPresaleDate() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenLocked
viewfunction tokenLocked(uint256) view returns (bool)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalMinted
viewfunction totalMinted() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address to, uint256 tokenId)
burn
nonpayablefunction burn(uint256 id)
freezeBaseTokenURI
nonpayablefunction freezeBaseTokenURI()
mint
payablefunction mint(uint256 numberOfTokens) payable
mintFirstToken
nonpayablefunction mintFirstToken(address recipient)
onERC1155BatchReceived
nonpayablefunction onERC1155BatchReceived(address operator, address from, uint256[] ids, uint256[] values, bytes data) returns (bytes4)
onERC1155Received
nonpayablefunction onERC1155Received(address operator, address from, uint256 id, uint256 value, bytes data) returns (bytes4)
presaleMint
payablefunction presaleMint(uint256 numberOfTokens) payable
printToken
payablefunction printToken(uint256 id, uint256 size) payable
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseURI
nonpayablefunction setBaseURI(string _baseTokenURI)
setBurnOperator
nonpayablefunction setBurnOperator(address operator, bool canBurn)
setStartMintDate
nonpayablefunction setStartMintDate(uint256 _startMintDate)
setStartPresaleDate
nonpayablefunction setStartPresaleDate(uint256 _startPresaleDate)
setTokenLocked
nonpayablefunction setTokenLocked(uint256 id, bool locked)
transferERC1155
nonpayablefunction transferERC1155(address token, uint256 tokenId, uint256 amount, address recipient)
transferERC721
nonpayablefunction transferERC721(address token, uint256 tokenId, address recipient)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawAllERC20
nonpayablefunction withdrawAllERC20(address token, address recipient)
withdrawAllETH
nonpayablefunction withdrawAllETH(address recipient)
withdrawERC20
nonpayablefunction withdrawERC20(address token, uint256 amount, address recipient)
withdrawETH
nonpayablefunction withdrawETH(uint256 amount, address recipient)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
alreadyPrinted
error alreadyPrinted()
BaseURIIsFrozen
error BaseURIIsFrozen()
burnNotAllowed
error burnNotAllowed()
ExceedsAllotment
error ExceedsAllotment()
InsufficientPayment
error InsufficientPayment()
MintingTooMany
error MintingTooMany()
notOwner
error notOwner()
printNotAvailable
error printNotAvailable()
SaleNotStarted
error SaleNotStarted()
SoldOut
error SoldOut()
creation bytecode
0x60a060405260006080908152610019906003906001610181565b5034801561002657600080fd5b506040516137a93803806137a98339810160408190526100459161022d565b6040518060400160405280601381526020017f43796265722042616e646974732047656e203200000000000000000000000000815250604051806040016040528060078152602001662120a72224aa1960c91b81525081600090816100aa91906103dc565b5060016100b782826103dc565b5050506100d06100cb61012b60201b60201c565b61012f565b6001600855600b899055600c889055600d87905560096100f087826103dc565b50600f80546001600160a01b0319166001600160a01b0396909616959095179094556010929092556011556014556015555061049a92505050565b3390565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280548282559060005260206000209081019282156101d6579160200282015b828111156101d657825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906101a1565b506101e29291506101e6565b5090565b5b808211156101e257600081556001016101e7565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b038116811461022857600080fd5b919050565b60008060008060008060008060006101208a8c03121561024c57600080fd5b895160208b015160408c015160608d0151929b5090995097506001600160401b0381111561027957600080fd5b8a01601f81018c1361028a57600080fd5b80516001600160401b038111156102a3576102a36101fb565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102d1576102d16101fb565b6040528181528282016020018e10156102e957600080fd5b60005b82811015610308576020818501810151838301820152016102ec565b5060006020838301015280985050505061032460808b01610211565b60a08b015160c08c015160e08d0151610100909d01519b9e9a9d50989b979a9199909897965090945092505050565b600181811c9082168061036757607f821691505b60208210810361038757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156103d757806000526020600020601f840160051c810160208510156103b45750805b601f840160051c820191505b818110156103d457600081556001016103c0565b50505b505050565b81516001600160401b038111156103f5576103f56101fb565b610409816104038454610353565b8461038d565b6020601f82116001811461043d57600083156104255750848201515b600019600385901b1c1916600184901b1784556103d4565b600084815260208120601f198516915b8281101561046d578785015182556020948501946001909201910161044d565b508482101561048b5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b613300806104a96000396000f3fe60806040526004361061039b5760003560e01c8063715018a6116101dc578063b88d4fde11610102578063d547cfb7116100a0578063e398145d1161006f578063e398145d14610a71578063e985e9c514610a91578063f23a6e6114610ada578063f2fde38b14610b0757600080fd5b8063d547cfb714610a1a578063d959419914610a2f578063da67e22a14610a45578063e08a5f9e14610a5b57600080fd5b8063c87b56dd116100dc578063c87b56dd146109ad578063c9b298f1146109cd578063c9d5bde4146109e0578063ce9c605314610a0057600080fd5b8063b88d4fde14610918578063bc197c8114610938578063bc660cac1461098057600080fd5b806398d5fdca1161017a578063a22cb46511610149578063a22cb465146108a3578063a2309ff8146108c3578063ae11c7f8146108d8578063b88906d7146108f857600080fd5b806398d5fdca1461083b5780639c0c6997146108505780639ebd911514610870578063a0712d681461089057600080fd5b806382bdbca4116101b657806382bdbca4146107c25780638da5cb5b146107f2578063903f16a31461081057806395d89b411461082657600080fd5b8063715018a614610778578063742583c81461078d578063752c0ace146107ad57600080fd5b80633d7fe791116102c157806355f804b31161025f5780636817c76c1161022e5780636817c76c1461070a57806368428a1b146107205780636d44aef51461073857806370a082311461075857600080fd5b806355f804b31461068a5780635fc3ea0b146106aa5780636352211e146106ca57806363dfbbf4146106ea57600080fd5b806346694b7d1161029b57806346694b7d14610602578063493143e414610632578063518cb9911461065257806353135ca01461067257600080fd5b80633d7fe791146105a257806342842e0e146105c257806342966c68146105e257600080fd5b8063197b831411610339578063288752751161030857806328875275146105365780632f745c591461054c57806332cb6b0c1461056c57806336118b521461058257600080fd5b8063197b8314146104cb5780631a9c1dec146104e05780631dd0c2fd146104f657806323b872dd1461051657600080fd5b8063095ea7b311610375578063095ea7b3146104365780630a3fac4a146104585780631411669e1461049557806318160ddd146104a857600080fd5b806301ffc9a7146103a757806306fdde03146103dc578063081812fc146103fe57600080fd5b366103a257005b600080fd5b3480156103b357600080fd5b506103c76103c2366004612934565b610b27565b60405190151581526020015b60405180910390f35b3480156103e857600080fd5b506103f1610b38565b6040516103d391906129a1565b34801561040a57600080fd5b5061041e6104193660046129b4565b610bca565b6040516001600160a01b0390911681526020016103d3565b34801561044257600080fd5b506104566104513660046129e2565b610c57565b005b34801561046457600080fd5b506104886104733660046129b4565b60166020526000908152604090205460ff1681565b6040516103d39190612a24565b6104566104a3366004612a4c565b610d6c565b3480156104b457600080fd5b506104bd610efa565b6040519081526020016103d3565b3480156104d757600080fd5b50610456610f16565b3480156104ec57600080fd5b506104bd60145481565b34801561050257600080fd5b50610456610511366004612a6e565b610f2d565b34801561052257600080fd5b50610456610531366004612a8b565b611007565b34801561054257600080fd5b506104bd600d5481565b34801561055857600080fd5b506104bd6105673660046129e2565b611038565b34801561057857600080fd5b506104bd6101f481565b34801561058e57600080fd5b5061045661059d366004612acc565b611101565b3480156105ae57600080fd5b506104566105bd366004612afc565b6111ac565b3480156105ce57600080fd5b506104566105dd366004612a8b565b6112c4565b3480156105ee57600080fd5b506104566105fd3660046129b4565b6112df565b34801561060e57600080fd5b506103c761061d3660046129b4565b60136020526000908152604090205460ff1681565b34801561063e57600080fd5b5061045661064d3660046129b4565b611361565b34801561065e57600080fd5b50600f5461041e906001600160a01b031681565b34801561067e57600080fd5b50600b544210156103c7565b34801561069657600080fd5b506104566106a5366004612bd6565b61136e565b3480156106b657600080fd5b506104566106c5366004612c1f565b6113a6565b3480156106d657600080fd5b5061041e6106e53660046129b4565b611474565b3480156106f657600080fd5b506104bd610705366004612a6e565b61150b565b34801561071657600080fd5b506104bd60105481565b34801561072c57600080fd5b50600c544210156103c7565b34801561074457600080fd5b506104566107533660046129b4565b6115e6565b34801561076457600080fd5b506104bd610773366004612a6e565b6115f3565b34801561078457600080fd5b5061045661167a565b34801561079957600080fd5b50600e5461041e906001600160a01b031681565b3480156107b957600080fd5b506104bd601981565b3480156107ce57600080fd5b506103c76107dd366004612a6e565b60176020526000908152604090205460ff1681565b3480156107fe57600080fd5b506007546001600160a01b031661041e565b34801561081c57600080fd5b506104bd60115481565b34801561083257600080fd5b506103f161168e565b34801561084757600080fd5b506104bd61169d565b34801561085c57600080fd5b5061045661086b366004612c6f565b611726565b34801561087c57600080fd5b5061045661088b366004612a6e565b61175e565b61045661089e3660046129b4565b611805565b3480156108af57600080fd5b506104566108be366004612c94565b61187a565b3480156108cf57600080fd5b506104bd61193e565b3480156108e457600080fd5b506104566108f3366004612cc2565b611950565b34801561090457600080fd5b50610456610913366004612c94565b611a8e565b34801561092457600080fd5b50610456610933366004612cf0565b611ac1565b34801561094457600080fd5b50610967610953366004612dfe565b63bc197c8160e01b98975050505050505050565b6040516001600160e01b031990911681526020016103d3565b34801561098c57600080fd5b506104bd61099b366004612a6e565b60126020526000908152604090205481565b3480156109b957600080fd5b506103f16109c83660046129b4565b611af3565b6104566109db3660046129b4565b611bbe565b3480156109ec57600080fd5b506104566109fb366004612c1f565b611c87565b348015610a0c57600080fd5b50600a546103c79060ff1681565b348015610a2657600080fd5b506103f1611d48565b348015610a3b57600080fd5b506104bd60155481565b348015610a5157600080fd5b506104bd600c5481565b348015610a6757600080fd5b506104bd600b5481565b348015610a7d57600080fd5b506104bd610a8c366004612a6e565b611dd6565b348015610a9d57600080fd5b506103c7610aac366004612cc2565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b348015610ae657600080fd5b50610967610af5366004612ec9565b63f23a6e6160e01b9695505050505050565b348015610b1357600080fd5b50610456610b22366004612a6e565b611e87565b6000610b3282611efd565b92915050565b606060008054610b4790612f45565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7390612f45565b8015610bc05780601f10610b9557610100808354040283529160200191610bc0565b820191906000526020600020905b815481529060010190602001808311610ba357829003601f168201915b5050505050905090565b6000610bd582611f22565b610c3b5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600560205260409020546001600160a01b031690565b6000610c6282611474565b9050806001600160a01b0316836001600160a01b031603610ccf5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610c32565b336001600160a01b0382161480610ceb5750610ceb8133610aac565b610d5d5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610c32565b610d678383611f76565b505050565b33610d7683611474565b6001600160a01b031614610d9d5760405163251c9d6360e01b815260040160405180910390fd5b60008281526016602052604081205460ff166002811115610dc057610dc0612a0e565b14610dde57604051633043918360e11b815260040160405180910390fd5b600d54421115610e0157604051634a6c002960e01b815260040160405180910390fd5b80600114158015610e13575080600214155b15610e555760405162461bcd60e51b8152602060048201526012602482015271496e76616c6964207072696e742073697a6560701b6044820152606401610c32565b80600103610e8557601454341015610e805760405163cd1c886760e01b815260040160405180910390fd5b610eb0565b80600203610eb057601554341015610eb05760405163cd1c886760e01b815260040160405180910390fd5b80600103610ed457506000908152601660205260409020805460ff19166001179055565b80600203610ef6576000828152601660205260409020805460ff191660021790555b5050565b6000600254610f0761193e565b610f119190612f95565b905090565b610f1e611fe4565b600a805460ff19166001179055565b610f35611fe4565b610f3d61193e565b15610f8a5760405162461bcd60e51b815260206004820152601a60248201527f466972737420746f6b656e20616c7265616479206d696e7465640000000000006044820152606401610c32565b6001600160a01b038116610fe05760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420726563697069656e742061646472657373000000000000006044820152606401610c32565b600e80546001600160a01b0319166001600160a01b0383161790556110048161203e565b50565b6110113382612057565b61102d5760405162461bcd60e51b8152600401610c3290612fa8565b610d67838383612141565b600080805b6003548110156110a457846001600160a01b03166003828154811061106457611064612ff9565b6000918252602090912001546001600160a01b03160361109c5783820361108e579150610b329050565b61109960018361300f565b91505b60010161103d565b5060405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610c32565b611109611fe4565b6001600160a01b03811661112f5760405162461bcd60e51b8152600401610c3290613022565b478211156111765760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610c32565b6040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015610d67573d6000803e3d6000fd5b6111b4611fe4565b6001600160a01b0381166111da5760405162461bcd60e51b8152600401610c3290613022565b6001600160a01b0384166112005760405162461bcd60e51b8152600401610c329061304d565b600082116112415760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606401610c32565b604051637921219560e11b81523060048201526001600160a01b038281166024830152604482018590526064820184905260a06084830152600060a483015285169063f242432a9060c401600060405180830381600087803b1580156112a657600080fd5b505af11580156112ba573d6000803e3d6000fd5b5050505050505050565b610d6783838360405180602001604052806000815250611ac1565b60008181526013602052604090205460ff161561130f57604051631f33bf6360e31b815260040160405180910390fd5b3360009081526017602052604090205460ff161561133057611004816122f5565b61133a3382612057565b1561134857611004816122f5565b604051631f33bf6360e31b815260040160405180910390fd5b611369611fe4565b600c55565b611376611fe4565b600a5460ff161561139a576040516303187a6760e31b815260040160405180910390fd5b6009610ef682826130ca565b6113ae611fe4565b6001600160a01b0381166113d45760405162461bcd60e51b8152600401610c3290613022565b6001600160a01b0383166113fa5760405162461bcd60e51b8152600401610c329061304d565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044015b6020604051808303816000875af115801561144a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146e9190613189565b50505050565b600061147f82611f22565b6114dd5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610c32565b600382815481106114f0576114f0612ff9565b6000918252602090912001546001600160a01b031692915050565b6001600160a01b0381811660008181526012602052604080822054600f5491516370a0823160e01b8152600481019490945291939192849291909116906370a0823190602401602060405180830381865afa15801561156e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159291906131a6565b90506000606482106115a65750600a6115c3565b60328211156115b7575060056115c3565b601482106115c3575060025b808310156115da576115d58382612f95565b6115dd565b60005b95945050505050565b6115ee611fe4565b600b55565b60006001600160a01b03821661165e5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610c32565b506001600160a01b031660009081526004602052604090205490565b611682611fe4565b61168c60006123bc565b565b606060018054610b4790612f45565b600f546040516370a0823160e01b815233600482015260009182916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156116ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170e91906131a6565b9050801561171e57505060115490565b505060105490565b3361173083611474565b6001600160a01b031603610ef6576000828152601360205260409020805482151560ff199091161790555050565b611766611fe4565b6001600160a01b03811661178c5760405162461bcd60e51b8152600401610c3290613022565b47806117cf5760405162461bcd60e51b81526020600482015260126024820152714e6f2045544820746f20776974686472617760701b6044820152606401610c32565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610d67573d6000803e3d6000fd5b61180d61240e565b600c54421015611830576040516316851a3760e11b815260040160405180910390fd5b600061183a61169d565b905061184681836131bf565b3410156118665760405163cd1c886760e01b815260040160405180910390fd5b61186f82612467565b506110046001600855565b336001600160a01b038316036118d25760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610c32565b3360008181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b600354600090610f1190600190612f95565b611958611fe4565b6001600160a01b03811661197e5760405162461bcd60e51b8152600401610c3290613022565b6001600160a01b0382166119a45760405162461bcd60e51b8152600401610c329061304d565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156119eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0f91906131a6565b905060008111611a595760405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b6044820152606401610c32565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb9060440161142b565b611a96611fe4565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b611acb3383612057565b611ae75760405162461bcd60e51b8152600401610c3290612fa8565b61146e848484846124da565b6060611afe82611f22565b611b625760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610c32565b6000611b6c61250d565b90506000815111611b8c5760405180602001604052806000815250611bb7565b80611b968461251c565b604051602001611ba79291906131d6565b6040516020818303038152906040525b9392505050565b611bc661240e565b600b54421015611be9576040516316851a3760e11b815260040160405180910390fd5b6000611bf433611dd6565b905080821115611c175760405163248716bf60e21b815260040160405180910390fd5b6000611c2161169d565b9050611c2d81846131bf565b341015611c4d5760405163cd1c886760e01b815260040160405180910390fd5b3360009081526012602052604081208054859290611c6c90849061300f565b90915550611c7b905083612467565b50506110046001600855565b611c8f611fe4565b6001600160a01b038116611cb55760405162461bcd60e51b8152600401610c3290613022565b6001600160a01b038316611cdb5760405162461bcd60e51b8152600401610c329061304d565b6040516323b872dd60e01b81523060048201526001600160a01b038281166024830152604482018490528416906323b872dd90606401600060405180830381600087803b158015611d2b57600080fd5b505af1158015611d3f573d6000803e3d6000fd5b50505050505050565b60098054611d5590612f45565b80601f0160208091040260200160405190810160405280929190818152602001828054611d8190612f45565b8015611dce5780601f10611da357610100808354040283529160200191611dce565b820191906000526020600020905b815481529060010190602001808311611db157829003601f168201915b505050505081565b600f546040516370a0823160e01b81526001600160a01b03838116600483015260009283929116906370a0823190602401602060405180830381865afa158015611e24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4891906131a6565b905060648110611e5b5750600a92915050565b6032811115611e6d5750600592915050565b60148110611e7e5750600292915050565b50600092915050565b611e8f611fe4565b6001600160a01b038116611ef45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c32565b611004816123bc565b60006001600160e01b03198216630271189760e51b1480610b325750610b32826125af565b6000611f2c61193e565b821115611f3b57506000919050565b60006001600160a01b031660038381548110611f5957611f59612ff9565b6000918252602090912001546001600160a01b0316141592915050565b600081815260056020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611fab82611474565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6007546001600160a01b0316331461168c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c32565b61100481604051806020016040528060008152506125ff565b600061206282611f22565b6120c35760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610c32565b60006120ce83611474565b9050806001600160a01b0316846001600160a01b031614806121095750836001600160a01b03166120fe84610bca565b6001600160a01b0316145b8061213957506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b031661215482611474565b6001600160a01b0316146121bc5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610c32565b6001600160a01b03821661221e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610c32565b612229600082611f76565b6001600160a01b0383166000908152600460205260408120805460019290612252908490612f95565b90915550506001600160a01b038216600090815260046020526040812080546001929061228090849061300f565b92505081905550816003828154811061229b5761229b612ff9565b6000918252602082200180546001600160a01b0319166001600160a01b03938416179055604051839285811692908716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a4505050565b600061230082611474565b905061230d600083611f76565b6002805490600061231d83613205565b90915550506001600160a01b038116600090815260046020526040812080546001929061234b908490612f95565b9250508190555060006003838154811061236757612367612ff9565b6000918252602082200180546001600160a01b0319166001600160a01b0393841617905560405184928416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6002600854036124605760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610c32565b6002600855565b601981111561248957604051633e29b4fb60e11b815260040160405180910390fd5b6101f48161249561193e565b61249f919061300f565b11156124be576040516352df9fe560e01b815260040160405180910390fd5b60005b81811015610ef6576124d23361203e565b6001016124c1565b6124e5848484612141565b6124f184848484612642565b61146e5760405162461bcd60e51b8152600401610c329061321e565b606060098054610b4790612f45565b6060600061252983612743565b600101905060008167ffffffffffffffff81111561254957612549612b46565b6040519080825280601f01601f191660200182016040528015612573576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461257d57509392505050565b60006001600160e01b031982166380ac58cd60e01b14806125e057506001600160e01b03198216635b5e139f60e01b145b80610b3257506301ffc9a760e01b6001600160e01b0319831614610b32565b6126088261281b565b61262660008360016003805490506126209190612f95565b84612642565b610ef65760405162461bcd60e51b8152600401610c329061321e565b60006001600160a01b0384163b1561273857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612686903390899088908890600401613270565b6020604051808303816000875af19250505080156126c1575060408051601f3d908101601f191682019092526126be918101906132ad565b60015b61271e573d8080156126ef576040519150601f19603f3d011682016040523d82523d6000602084013e6126f4565b606091505b5080516000036127165760405162461bcd60e51b8152600401610c329061321e565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612139565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106127825772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106127ae576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106127cc57662386f26fc10000830492506010015b6305f5e10083106127e4576305f5e100830492506008015b61271083106127f857612710830492506004015b6064831061280a576064830492506002015b600a8310610b325760010192915050565b6001600160a01b0381166128715760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610c32565b6003546001600160a01b038216600090815260046020526040812080546001929061289d90849061300f565b90915550506003805460018101825560009182527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319166001600160a01b0385169081179091556040518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b03198116811461100457600080fd5b60006020828403121561294657600080fd5b8135611bb78161291e565b60005b8381101561296c578181015183820152602001612954565b50506000910152565b6000815180845261298d816020860160208601612951565b601f01601f19169290920160200192915050565b602081526000611bb76020830184612975565b6000602082840312156129c657600080fd5b5035919050565b6001600160a01b038116811461100457600080fd5b600080604083850312156129f557600080fd5b8235612a00816129cd565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310612a4657634e487b7160e01b600052602160045260246000fd5b91905290565b60008060408385031215612a5f57600080fd5b50508035926020909101359150565b600060208284031215612a8057600080fd5b8135611bb7816129cd565b600080600060608486031215612aa057600080fd5b8335612aab816129cd565b92506020840135612abb816129cd565b929592945050506040919091013590565b60008060408385031215612adf57600080fd5b823591506020830135612af1816129cd565b809150509250929050565b60008060008060808587031215612b1257600080fd5b8435612b1d816129cd565b935060208501359250604085013591506060850135612b3b816129cd565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b60008067ffffffffffffffff841115612b7757612b77612b46565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715612ba657612ba6612b46565b604052838152905080828401851015612bbe57600080fd5b83836020830137600060208583010152509392505050565b600060208284031215612be857600080fd5b813567ffffffffffffffff811115612bff57600080fd5b8201601f81018413612c1057600080fd5b61213984823560208401612b5c565b600080600060608486031215612c3457600080fd5b8335612c3f816129cd565b9250602084013591506040840135612c56816129cd565b809150509250925092565b801515811461100457600080fd5b60008060408385031215612c8257600080fd5b823591506020830135612af181612c61565b60008060408385031215612ca757600080fd5b8235612cb2816129cd565b91506020830135612af181612c61565b60008060408385031215612cd557600080fd5b8235612ce0816129cd565b91506020830135612af1816129cd565b60008060008060808587031215612d0657600080fd5b8435612d11816129cd565b93506020850135612d21816129cd565b925060408501359150606085013567ffffffffffffffff811115612d4457600080fd5b8501601f81018713612d5557600080fd5b612d6487823560208401612b5c565b91505092959194509250565b60008083601f840112612d8257600080fd5b50813567ffffffffffffffff811115612d9a57600080fd5b6020830191508360208260051b8501011115612db557600080fd5b9250929050565b60008083601f840112612dce57600080fd5b50813567ffffffffffffffff811115612de657600080fd5b602083019150836020828501011115612db557600080fd5b60008060008060008060008060a0898b031215612e1a57600080fd5b8835612e25816129cd565b97506020890135612e35816129cd565b9650604089013567ffffffffffffffff811115612e5157600080fd5b612e5d8b828c01612d70565b909750955050606089013567ffffffffffffffff811115612e7d57600080fd5b612e898b828c01612d70565b909550935050608089013567ffffffffffffffff811115612ea957600080fd5b612eb58b828c01612dbc565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215612ee257600080fd5b8635612eed816129cd565b95506020870135612efd816129cd565b94506040870135935060608701359250608087013567ffffffffffffffff811115612f2757600080fd5b612f3389828a01612dbc565b979a9699509497509295939492505050565b600181811c90821680612f5957607f821691505b602082108103612f7957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610b3257610b32612f7f565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b80820180821115610b3257610b32612f7f565b602080825260119082015270125b9d985b1a59081c9958da5c1a595b9d607a1b604082015260600190565b602080825260159082015274496e76616c696420746f6b656e206164647265737360581b604082015260600190565b601f821115610d6757806000526020600020601f840160051c810160208510156130a35750805b601f840160051c820191505b818110156130c357600081556001016130af565b5050505050565b815167ffffffffffffffff8111156130e4576130e4612b46565b6130f8816130f28454612f45565b8461307c565b6020601f82116001811461312c57600083156131145750848201515b600019600385901b1c1916600184901b1784556130c3565b600084815260208120601f198516915b8281101561315c578785015182556020948501946001909201910161313c565b508482101561317a5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b60006020828403121561319b57600080fd5b8151611bb781612c61565b6000602082840312156131b857600080fd5b5051919050565b8082028115828204841417610b3257610b32612f7f565b600083516131e8818460208801612951565b8351908301906131fc818360208801612951565b01949350505050565b60006001820161321757613217612f7f565b5060010190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906132a390830184612975565b9695505050505050565b6000602082840312156132bf57600080fd5b8151611bb78161291e56fea264697066735822122006aafaf19b8d79535b3f8193b18bd4c3f90f91790302ff587cf6b73c573eb7f964736f6c634300081c0033000000000000000000000000000000000000000000000000000000006894db900000000000000000000000000000000000000000000000000000000068962d100000000000000000000000000000000000000000000000000000000068bf0b9000000000000000000000000000000000000000000000000000000000000001200000000000000000000000008f17a839b6cd38e9888be3cc901a6726e84d6462000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000002768747470733a2f2f63796265722d62616e646974732e636f6d2f6170692d67656e322f6e66742f00000000000000000000000000000000000000000000000000