0 txs
1 call
constructor
constructor(string _name, string _symbol, string _standardBaseURI, string _goldBaseURI)
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
goldBaseURI
viewfunction goldBaseURI() view returns (string)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
isGold
viewfunction isGold(uint256) view returns (bool)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
standardBaseURI
viewfunction standardBaseURI() view returns (string)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenByIndex
viewfunction tokenByIndex(uint256 index) view returns (uint256)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenURI
viewfunction tokenURI(uint256 _tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
unboxer
viewfunction unboxer() view returns (address)
approve
nonpayablefunction approve(address to, uint256 tokenId)
mint
nonpayablefunction mint(address _to, uint256 _tokenId, bool _isGold)
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)
setUnboxer
nonpayablefunction setUnboxer(address _unboxer)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
GoldStatusSet
event GoldStatusSet(uint256 tokenId)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
ERC721EnumerableForbiddenBatchMint
error ERC721EnumerableForbiddenBatchMint()
ERC721IncorrectOwner
error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner)
ERC721InsufficientApproval
error ERC721InsufficientApproval(address operator, uint256 tokenId)
ERC721InvalidApprover
error ERC721InvalidApprover(address approver)
ERC721InvalidOperator
error ERC721InvalidOperator(address operator)
ERC721InvalidOwner
error ERC721InvalidOwner(address owner)
ERC721InvalidReceiver
error ERC721InvalidReceiver(address receiver)
ERC721InvalidSender
error ERC721InvalidSender(address sender)
ERC721NonexistentToken
error ERC721NonexistentToken(uint256 tokenId)
ERC721OutOfBoundsIndex
error ERC721OutOfBoundsIndex(address owner, uint256 index)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x608060405234801561001057600080fd5b5060405161359c38038061359c8339818101604052810190610032919061033d565b33848481600090816100449190610635565b5080600190816100549190610635565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100c95760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100c09190610748565b60405180910390fd5b6100d88161010260201b60201c565b5081600b90816100e89190610635565b5080600c90816100f89190610635565b5050505050610763565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61022f826101e6565b810181811067ffffffffffffffff8211171561024e5761024d6101f7565b5b80604052505050565b60006102616101c8565b905061026d8282610226565b919050565b600067ffffffffffffffff82111561028d5761028c6101f7565b5b610296826101e6565b9050602081019050919050565b60005b838110156102c15780820151818401526020810190506102a6565b60008484015250505050565b60006102e06102db84610272565b610257565b9050828152602081018484840111156102fc576102fb6101e1565b5b6103078482856102a3565b509392505050565b600082601f830112610324576103236101dc565b5b81516103348482602086016102cd565b91505092915050565b60008060008060808587031215610357576103566101d2565b5b600085015167ffffffffffffffff811115610375576103746101d7565b5b6103818782880161030f565b945050602085015167ffffffffffffffff8111156103a2576103a16101d7565b5b6103ae8782880161030f565b935050604085015167ffffffffffffffff8111156103cf576103ce6101d7565b5b6103db8782880161030f565b925050606085015167ffffffffffffffff8111156103fc576103fb6101d7565b5b6104088782880161030f565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061046657607f821691505b6020821081036104795761047861041f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026104e17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826104a4565b6104eb86836104a4565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061053261052d61052884610503565b61050d565b610503565b9050919050565b6000819050919050565b61054c83610517565b61056061055882610539565b8484546104b1565b825550505050565b600090565b610575610568565b610580818484610543565b505050565b5b818110156105a45761059960008261056d565b600181019050610586565b5050565b601f8211156105e9576105ba8161047f565b6105c384610494565b810160208510156105d2578190505b6105e66105de85610494565b830182610585565b50505b505050565b600082821c905092915050565b600061060c600019846008026105ee565b1980831691505092915050565b600061062583836105fb565b9150826002028217905092915050565b61063e82610414565b67ffffffffffffffff811115610657576106566101f7565b5b610661825461044e565b61066c8282856105a8565b600060209050601f83116001811461069f576000841561068d578287015190505b6106978582610619565b8655506106ff565b601f1984166106ad8661047f565b60005b828110156106d5578489015182556001820191506020850194506020810190506106b0565b868310156106f257848901516106ee601f8916826105fb565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061073282610707565b9050919050565b61074281610727565b82525050565b600060208201905061075d6000830184610739565b92915050565b612e2a806107726000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80636352211e116100de578063ad287f0c11610097578063c87b56dd11610071578063c87b56dd1461044c578063d1a1beb41461047c578063e985e9c514610498578063f2fde38b146104c857610173565b8063ad287f0c146103f6578063b5fd6e0e14610412578063b88d4fde1461043057610173565b80636352211e1461033457806370a0823114610364578063715018a6146103945780638da5cb5b1461039e57806395d89b41146103bc578063a22cb465146103da57610173565b80632e225865116101305780632e2258651461024c5780632f745c591461026a57806342842e0e1461029a5780634653625b146102b65780634878f78f146102d45780634f6ccce71461030457610173565b806301ffc9a71461017857806306fdde03146101a8578063081812fc146101c6578063095ea7b3146101f657806318160ddd1461021257806323b872dd14610230575b600080fd5b610192600480360381019061018d91906123e7565b6104e4565b60405161019f919061242f565b60405180910390f35b6101b06104f6565b6040516101bd91906124da565b60405180910390f35b6101e060048036038101906101db9190612532565b610588565b6040516101ed91906125a0565b60405180910390f35b610210600480360381019061020b91906125e7565b6105a4565b005b61021a6105ba565b6040516102279190612636565b60405180910390f35b61024a60048036038101906102459190612651565b6105c7565b005b6102546106c9565b60405161026191906124da565b60405180910390f35b610284600480360381019061027f91906125e7565b610757565b6040516102919190612636565b60405180910390f35b6102b460048036038101906102af9190612651565b610800565b005b6102be610820565b6040516102cb91906125a0565b60405180910390f35b6102ee60048036038101906102e99190612532565b610846565b6040516102fb919061242f565b60405180910390f35b61031e60048036038101906103199190612532565b610866565b60405161032b9190612636565b60405180910390f35b61034e60048036038101906103499190612532565b6108dc565b60405161035b91906125a0565b60405180910390f35b61037e600480360381019061037991906126a4565b6108ee565b60405161038b9190612636565b60405180910390f35b61039c6109a8565b005b6103a66109bc565b6040516103b391906125a0565b60405180910390f35b6103c46109e6565b6040516103d191906124da565b60405180910390f35b6103f460048036038101906103ef91906126fd565b610a78565b005b610410600480360381019061040b91906126a4565b610a8e565b005b61041a610bda565b60405161042791906124da565b60405180910390f35b61044a60048036038101906104459190612872565b610c68565b005b61046660048036038101906104619190612532565b610c8d565b60405161047391906124da565b60405180910390f35b610496600480360381019061049191906128f5565b610d87565b005b6104b260048036038101906104ad9190612948565b610e8f565b6040516104bf919061242f565b60405180910390f35b6104e260048036038101906104dd91906126a4565b610f23565b005b60006104ef82610fa9565b9050919050565b606060008054610505906129b7565b80601f0160208091040260200160405190810160405280929190818152602001828054610531906129b7565b801561057e5780601f106105535761010080835404028352916020019161057e565b820191906000526020600020905b81548152906001019060200180831161056157829003601f168201915b5050505050905090565b600061059382611023565b5061059d826110ab565b9050919050565b6105b682826105b16110e8565b6110f0565b5050565b6000600880549050905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106395760006040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161063091906125a0565b60405180910390fd5b600061064d83836106486110e8565b611102565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146106c3578382826040517f64283d7b0000000000000000000000000000000000000000000000000000000081526004016106ba939291906129e8565b60405180910390fd5b50505050565b600c80546106d6906129b7565b80601f0160208091040260200160405190810160405280929190818152602001828054610702906129b7565b801561074f5780601f106107245761010080835404028352916020019161074f565b820191906000526020600020905b81548152906001019060200180831161073257829003601f168201915b505050505081565b6000610762836108ee565b82106107a75782826040517fa57d13dc00000000000000000000000000000000000000000000000000000000815260040161079e929190612a1f565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b61081b83838360405180602001604052806000815250610c68565b505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e6020528060005260406000206000915054906101000a900460ff1681565b60006108706105ba565b82106108b6576000826040517fa57d13dc0000000000000000000000000000000000000000000000000000000081526004016108ad929190612a1f565b60405180910390fd5b600882815481106108ca576108c9612a48565b5b90600052602060002001549050919050565b60006108e782611023565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109615760006040517f89c62b6400000000000000000000000000000000000000000000000000000000815260040161095891906125a0565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109b0611118565b6109ba600061119f565b565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600180546109f5906129b7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a21906129b7565b8015610a6e5780601f10610a4357610100808354040283529160200191610a6e565b820191906000526020600020905b815481529060010190602001808311610a5157829003601f168201915b5050505050905090565b610a8a610a836110e8565b8383611265565b5050565b610a96611118565b600073ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1e90612ac3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8d90612b2f565b60405180910390fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b8054610be7906129b7565b80601f0160208091040260200160405190810160405280929190818152602001828054610c13906129b7565b8015610c605780601f10610c3557610100808354040283529160200191610c60565b820191906000526020600020905b815481529060010190602001808311610c4357829003601f168201915b505050505081565b610c738484846105c7565b610c87610c7e6110e8565b858585856113d4565b50505050565b6060610c9882611023565b506000600e600084815260200190815260200160002060009054906101000a900460ff16610cc757600b610cca565b600c5b8054610cd5906129b7565b80601f0160208091040260200160405190810160405280929190818152602001828054610d01906129b7565b8015610d4e5780601f10610d2357610100808354040283529160200191610d4e565b820191906000526020600020905b815481529060010190602001808311610d3157829003601f168201915b5050505050905080610d5f84611585565b604051602001610d70929190612bb1565b604051602081830303815290604052915050919050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0e90612c30565b60405180910390fd5b80600e600084815260200190815260200160002060006101000a81548160ff0219169083151502179055508015610e80577fec13edb885bb5fd7f56f15dbc38072f80330fcd9ae7b7393bbd7f60f5521838582604051610e779190612636565b60405180910390a15b610e8a8383611653565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610f2b611118565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f9d5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610f9491906125a0565b60405180910390fd5b610fa68161119f565b50565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061101c575061101b82611671565b5b9050919050565b60008061102f83611753565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110a257826040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016110999190612636565b60405180910390fd5b80915050919050565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600033905090565b6110fd8383836001611790565b505050565b600061110f848484611955565b90509392505050565b6111206110e8565b73ffffffffffffffffffffffffffffffffffffffff1661113e6109bc565b73ffffffffffffffffffffffffffffffffffffffff161461119d576111616110e8565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161119491906125a0565b60405180910390fd5b565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112d657816040517f5b08ba180000000000000000000000000000000000000000000000000000000081526004016112cd91906125a0565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516113c7919061242f565b60405180910390a3505050565b60008373ffffffffffffffffffffffffffffffffffffffff163b111561157e578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02868685856040518563ffffffff1660e01b81526004016114339493929190612ca5565b6020604051808303816000875af192505050801561146f57506040513d601f19601f8201168201806040525081019061146c9190612d06565b60015b6114f3573d806000811461149f576040519150601f19603f3d011682016040523d82523d6000602084013e6114a4565b606091505b5060008151036114eb57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016114e291906125a0565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461157c57836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161157391906125a0565b60405180910390fd5b505b5050505050565b60606000600161159484611a72565b01905060008167ffffffffffffffff8111156115b3576115b2612747565b5b6040519080825280601f01601f1916602001820160405280156115e55781602001600182028036833780820191505090505b509050600082602001820190505b600115611648578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161163c5761163b612d33565b5b049450600085036115f3575b819350505050919050565b61166d828260405180602001604052806000815250611bc5565b5050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061173c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061174c575061174b82611be9565b5b9050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b80806117c95750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118fd5760006117d984611023565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561184457508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561185757506118558184610e8f565b155b1561189957826040517fa9fbf51f00000000000000000000000000000000000000000000000000000000815260040161189091906125a0565b60405180910390fd5b81156118fb57838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b836004600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600080611963858585611c53565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036119a7576119a284611e6d565b6119e6565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146119e5576119e48185611eb6565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611a2857611a2384611fa1565b611a67565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611a6657611a658585612072565b5b5b809150509392505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611ad0577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611ac657611ac5612d33565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611b0d576d04ee2d6d415b85acef81000000008381611b0357611b02612d33565b5b0492506020810190505b662386f26fc100008310611b3c57662386f26fc100008381611b3257611b31612d33565b5b0492506010810190505b6305f5e1008310611b65576305f5e1008381611b5b57611b5a612d33565b5b0492506008810190505b6127108310611b8a576127108381611b8057611b7f612d33565b5b0492506004810190505b60648310611bad5760648381611ba357611ba2612d33565b5b0492506002810190505b600a8310611bbc576001810190505b80915050919050565b611bcf83836120fd565b611be4611bda6110e8565b60008585856113d4565b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080611c5f84611753565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611ca157611ca08184866121f6565b5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611d3257611ce3600085600080611790565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611db5576001600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b846002600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000611ec1836108ee565b90506000600760008481526020019081526020016000205490506000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050828214611f6d5760008160008581526020019081526020016000205490508082600085815260200190815260200160002081905550826007600083815260200190815260200160002081905550505b6007600085815260200190815260200160002060009055806000848152602001908152602001600020600090555050505050565b60006001600880549050611fb59190612d91565b9050600060096000848152602001908152602001600020549050600060088381548110611fe557611fe4612a48565b5b90600052602060002001549050806008838154811061200757612006612a48565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061205657612055612dc5565b5b6001900381819060005260206000200160009055905550505050565b6000600161207f846108ee565b6120899190612d91565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361216f5760006040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161216691906125a0565b60405180910390fd5b600061217d83836000611102565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146121f15760006040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526004016121e891906125a0565b60405180910390fd5b505050565b6122018383836122ba565b6122b557600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361227657806040517f7e27328900000000000000000000000000000000000000000000000000000000815260040161226d9190612636565b60405180910390fd5b81816040517f177e802f0000000000000000000000000000000000000000000000000000000081526004016122ac929190612a1f565b60405180910390fd5b505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561237257508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061233357506123328484610e8f565b5b8061237157508273ffffffffffffffffffffffffffffffffffffffff16612359836110ab565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6123c48161238f565b81146123cf57600080fd5b50565b6000813590506123e1816123bb565b92915050565b6000602082840312156123fd576123fc612385565b5b600061240b848285016123d2565b91505092915050565b60008115159050919050565b61242981612414565b82525050565b60006020820190506124446000830184612420565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612484578082015181840152602081019050612469565b60008484015250505050565b6000601f19601f8301169050919050565b60006124ac8261244a565b6124b68185612455565b93506124c6818560208601612466565b6124cf81612490565b840191505092915050565b600060208201905081810360008301526124f481846124a1565b905092915050565b6000819050919050565b61250f816124fc565b811461251a57600080fd5b50565b60008135905061252c81612506565b92915050565b60006020828403121561254857612547612385565b5b60006125568482850161251d565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061258a8261255f565b9050919050565b61259a8161257f565b82525050565b60006020820190506125b56000830184612591565b92915050565b6125c48161257f565b81146125cf57600080fd5b50565b6000813590506125e1816125bb565b92915050565b600080604083850312156125fe576125fd612385565b5b600061260c858286016125d2565b925050602061261d8582860161251d565b9150509250929050565b612630816124fc565b82525050565b600060208201905061264b6000830184612627565b92915050565b60008060006060848603121561266a57612669612385565b5b6000612678868287016125d2565b9350506020612689868287016125d2565b925050604061269a8682870161251d565b9150509250925092565b6000602082840312156126ba576126b9612385565b5b60006126c8848285016125d2565b91505092915050565b6126da81612414565b81146126e557600080fd5b50565b6000813590506126f7816126d1565b92915050565b6000806040838503121561271457612713612385565b5b6000612722858286016125d2565b9250506020612733858286016126e8565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61277f82612490565b810181811067ffffffffffffffff8211171561279e5761279d612747565b5b80604052505050565b60006127b161237b565b90506127bd8282612776565b919050565b600067ffffffffffffffff8211156127dd576127dc612747565b5b6127e682612490565b9050602081019050919050565b82818337600083830152505050565b6000612815612810846127c2565b6127a7565b90508281526020810184848401111561283157612830612742565b5b61283c8482856127f3565b509392505050565b600082601f8301126128595761285861273d565b5b8135612869848260208601612802565b91505092915050565b6000806000806080858703121561288c5761288b612385565b5b600061289a878288016125d2565b94505060206128ab878288016125d2565b93505060406128bc8782880161251d565b925050606085013567ffffffffffffffff8111156128dd576128dc61238a565b5b6128e987828801612844565b91505092959194509250565b60008060006060848603121561290e5761290d612385565b5b600061291c868287016125d2565b935050602061292d8682870161251d565b925050604061293e868287016126e8565b9150509250925092565b6000806040838503121561295f5761295e612385565b5b600061296d858286016125d2565b925050602061297e858286016125d2565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806129cf57607f821691505b6020821081036129e2576129e1612988565b5b50919050565b60006060820190506129fd6000830186612591565b612a0a6020830185612627565b612a176040830184612591565b949350505050565b6000604082019050612a346000830185612591565b612a416020830184612627565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f556e626f78657220616c72656164792073657400000000000000000000000000600082015250565b6000612aad601383612455565b9150612ab882612a77565b602082019050919050565b60006020820190508181036000830152612adc81612aa0565b9050919050565b7f496e76616c696420756e626f7865722061646472657373000000000000000000600082015250565b6000612b19601783612455565b9150612b2482612ae3565b602082019050919050565b60006020820190508181036000830152612b4881612b0c565b9050919050565b600081905092915050565b6000612b658261244a565b612b6f8185612b4f565b9350612b7f818560208601612466565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000815250565b6000612bbd8285612b5a565b9150612bc98284612b5a565b9150612bd482612b8b565b6005820191508190509392505050565b7f496e76616c69642063616c6c6572000000000000000000000000000000000000600082015250565b6000612c1a600e83612455565b9150612c2582612be4565b602082019050919050565b60006020820190508181036000830152612c4981612c0d565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000612c7782612c50565b612c818185612c5b565b9350612c91818560208601612466565b612c9a81612490565b840191505092915050565b6000608082019050612cba6000830187612591565b612cc76020830186612591565b612cd46040830185612627565b8181036060830152612ce68184612c6c565b905095945050505050565b600081519050612d00816123bb565b92915050565b600060208284031215612d1c57612d1b612385565b5b6000612d2a84828501612cf1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d9c826124fc565b9150612da7836124fc565b9250828203905081811115612dbf57612dbe612d62565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212203a3c601b6b55ae2fffa065c34e22d20e43720c4a921a5050b3f5a62f0445d3b764736f6c634300081c0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000f556e626f7865642048504f53313049000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000087548504f533130490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043697066733a2f2f6261667962656962726d6b656c35786f6a76733436637a6c643275746e7262626d7a366e33736a727733716e3672727a6a73356d366c63646a73342f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043697066733a2f2f62616679626569646861777463686165327363736b65376d7679707073323634776272796579666b797235776265746d6d32716464356a336472692f0000000000000000000000000000000000000000000000000000000000