0 txs
54 calls
constructor
No constructor.
functions
azuroBets
viewfunction azuroBets(uint256) view returns (address core, address owner, uint256 freeBetId, uint128 amount, uint128 payout)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
baseURI
viewfunction baseURI() view returns (string)
checkOwner
viewfunction checkOwner(address account) view
expirationTime
viewfunction expirationTime(uint256) view returns (uint64)
freeBets
viewfunction freeBets(uint256) view returns (uint128 amount, uint64 minOdds, uint64 durationTime)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getExpiredUnburned
viewfunction getExpiredUnburned(uint256 start, uint256 count) view returns (uint256[], uint256)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
lastTokenId
viewfunction lastTokenId() view returns (uint256)
lockedReserve
viewfunction lockedReserve() view returns (uint256)
lp
viewfunction lp() view returns (address)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
token
viewfunction token() view returns (address)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
approve
nonpayablefunction approve(address to, uint256 tokenId)
burnExpired
nonpayablefunction burnExpired(uint256[] ids)
initialize
nonpayablefunction initialize(address token_)
mint
nonpayablefunction mint(address to, tuple bet)
mintBatch
nonpayablefunction mintBatch(address[] receivers, tuple[] bets)
onERC1155BatchReceived
nonpayablefunction onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) returns (bytes4)
onERC1155Received
nonpayablefunction onERC1155Received(address, address, uint256, uint256, bytes) returns (bytes4)
redeem
nonpayablefunction redeem(address core, uint256 id, uint256 conditionId, uint128 amount, uint64 outcomeId, uint64 deadline, uint64 minOdds, address affiliate) returns (uint256)
resolvePayout
nonpayablefunction resolvePayout(uint256 azuroBetId)
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 uri)
setLp
nonpayablefunction setLp(address lp_)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawPayout
nonpayablefunction withdrawPayout(uint256 azuroBetId)
withdrawPayoutNative
nonpayablefunction withdrawPayoutNative(uint256 azuroBetId)
withdrawReserve
nonpayablefunction withdrawReserve(uint128 amount)
withdrawReserveNative
nonpayablefunction withdrawReserveNative(uint128 amount)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
BettorWin
event BettorWin(address indexed core, address indexed bettor, uint256 indexed azuroBetId, uint128 amount)
FreeBetMinted
event FreeBetMinted(address indexed receiver, uint256 indexed id, (uint128 amount, uint64 minOdds, uint64 durationTime) bet)
FreeBetMintedBatch
event FreeBetMintedBatch(address[] receivers, uint256[] ids, (uint128 amount, uint64 minOdds, uint64 durationTime)[] bets)
FreeBetRedeemed
event FreeBetRedeemed(address indexed core, address indexed bettor, uint256 indexed id, uint256 azuroBetId, uint128 amount)
FreeBetReissued
event FreeBetReissued(address indexed receiver, uint256 indexed id, (uint128 amount, uint64 minOdds, uint64 durationTime) bet)
Initialized
event Initialized(uint8 version)
LpChanged
event LpChanged(address indexed newLp)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
AlreadyResolved
error AlreadyResolved()
BetExpired
error BetExpired()
DifferentArraysLength
error DifferentArraysLength()
InsufficientAmount
error InsufficientAmount()
InsufficientContractBalance
error InsufficientContractBalance()
NonTransferable
error NonTransferable()
OddsTooSmall
error OddsTooSmall()
OnlyBetOwner
error OnlyBetOwner()
UnknownCore
error UnknownCore()
WrongToken
error WrongToken()
ZeroAmount
error ZeroAmount()
ZeroDuration
error ZeroDuration()
creation bytecode
0x608060405234801561001057600080fd5b50613be3806100206000396000f3fe6080604052600436106101c45760003560e01c806301ffc9a71461024e57806306fdde0314610283578063081812fc146102a5578063095ea7b3146102d257806312456bdf146102f257806323b872dd14610312578063313c06a01461033257806333c08ebc146103535780633f1d64d8146103f657806342842e0e1461041b57806355f804b31461043b5780636346d5d51461045b5780636352211e146104dd57806369c6e9e4146104fd5780636c0360eb1461051d57806370a0823114610532578063719b5fee146105525780637409e4a2146105725780637fce2d45146105c15780638da5cb5b146105ef5780638f34393d1461060457806395c252001461062457806395d89b4114610644578063a22cb46514610659578063b21c793514610679578063b5a0749e14610699578063b88d4fde146106b9578063bc197c81146106d9578063bf64c51a1461071e578063c4d66de81461073e578063c87b56dd1461075e578063e0e3671c1461077e578063e985e9c51461079e578063f23a6e61146107be578063f2fde38b146107ea578063f4c2baa91461080a578063f84ddf0b1461082a578063fc0c546a14610841578063fc8196d61461086257600080fd5b366102495761012f546001600160a01b031633146102475761012f60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561022d57600080fd5b505af1158015610241573d6000803e3d6000fd5b50505050505b005b600080fd5b34801561025a57600080fd5b5061026e610269366004612c92565b610882565b60405190151581526020015b60405180910390f35b34801561028f57600080fd5b506102986108a2565b60405161027a9190612cff565b3480156102b157600080fd5b506102c56102c0366004612d12565b610934565b60405161027a9190612d2b565b3480156102de57600080fd5b506102476102ed366004612d5b565b61095b565b3480156102fe57600080fd5b5061024761030d366004612dc9565b610a75565b34801561031e57600080fd5b5061024761032d366004612e62565b610c92565b34801561033e57600080fd5b5061012d546102c5906001600160a01b031681565b34801561035f57600080fd5b506103b761036e366004612d12565b6101326020526000908152604090208054600182015460028301546003909301546001600160a01b039283169391909216916001600160801b0380821691600160801b90041685565b604080516001600160a01b039687168152959094166020860152928401919091526001600160801b03908116606084015216608082015260a00161027a565b34801561040257600080fd5b5061040d6101305481565b60405190815260200161027a565b34801561042757600080fd5b50610247610436366004612e62565b610cc3565b34801561044757600080fd5b50610247610456366004612e9e565b610cde565b34801561046757600080fd5b506104ae610476366004612d12565b610131602052600090815260409020546001600160801b038116906001600160401b03600160801b8204811691600160c01b90041683565b604080516001600160801b0390941684526001600160401b03928316602085015291169082015260600161027a565b3480156104e957600080fd5b506102c56104f8366004612d12565b610cf5565b34801561050957600080fd5b50610247610518366004612f24565b610d29565b34801561052957600080fd5b50610298610dc5565b34801561053e57600080fd5b5061040d61054d366004612f41565b610e54565b34801561055e57600080fd5b5061040d61056d366004612f71565b610eda565b34801561057e57600080fd5b506105a961058d366004612d12565b610133602052600090815260409020546001600160401b031681565b6040516001600160401b03909116815260200161027a565b3480156105cd57600080fd5b506105e16105dc366004613002565b6112b2565b60405161027a92919061305f565b3480156105fb57600080fd5b506102c56113ae565b34801561061057600080fd5b5061024761061f366004612d12565b6113bd565b34801561063057600080fd5b5061024761063f366004613081565b611453565b34801561065057600080fd5b50610298611572565b34801561066557600080fd5b506102476106743660046130ce565b611581565b34801561068557600080fd5b50610247610694366004612d12565b61158c565b3480156106a557600080fd5b506102476106b4366004613105565b6115cd565b3480156106c557600080fd5b506102476106d43660046131fb565b6116aa565b3480156106e557600080fd5b506107056106f43660046132e1565b63bc197c8160e01b95945050505050565b6040516001600160e01b0319909116815260200161027a565b34801561072a57600080fd5b50610247610739366004612f24565b6116e2565b34801561074a57600080fd5b50610247610759366004612f41565b6117cf565b34801561076a57600080fd5b50610298610779366004612d12565b61197b565b34801561078a57600080fd5b50610247610799366004612f41565b6119e2565b3480156107aa57600080fd5b5061026e6107b936600461338a565b611a57565b3480156107ca57600080fd5b506107056107d93660046133bd565b63f23a6e6160e01b95945050505050565b3480156107f657600080fd5b50610247610805366004612f41565b611a85565b34801561081657600080fd5b50610247610825366004612f41565b611afc565b34801561083657600080fd5b5061040d6101345481565b34801561084d57600080fd5b5061012f546102c5906001600160a01b031681565b34801561086e57600080fd5b5061024761087d366004612d12565b611b50565b600061088d82611b89565b8061089c575061089c82611bd9565b92915050565b6060606580546108b190613421565b80601f01602080910402602001604051908101604052809291908181526020018280546108dd90613421565b801561092a5780601f106108ff5761010080835404028352916020019161092a565b820191906000526020600020905b81548152906001019060200180831161090d57829003601f168201915b5050505050905090565b600061093f82611bfe565b506000908152606960205260409020546001600160a01b031690565b600061096682610cf5565b9050806001600160a01b0316836001600160a01b0316036109d85760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806109f457506109f48133611a57565b610a665760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016109cf565b610a708383611c23565b505050565b61012d54604051636396eb8d60e01b81526312456bdf60e01b916001600160a01b031690636396eb8d90610ab19033903090869060040161345b565b600060405180830381600087803b158015610acb57600080fd5b505af1158015610adf573d6000803e3d6000fd5b508692505050828114610b05576040516307c1c7db60e31b815260040160405180910390fd5b6000816001600160401b03811115610b1f57610b1f613146565b604051908082528060200260200182016040528015610b48578160200160208202803683370190505b50610134549091506000805b84811015610c1457610b658361349e565b925082848281518110610b7a57610b7a6134b7565b602002602001018181525050878782818110610b9857610b986134b7565b610bae9260206060909202019081019150612f24565b610bb890836134cd565b9150610c028a8a83818110610bcf57610bcf6134b7565b9050602002016020810190610be49190612f41565b848a8a85818110610bf757610bf76134b7565b905060600201611c91565b80610c0c8161349e565b915050610b54565b50610c1e81611d6f565b8161013481905550806001600160801b03166101306000828254610c4291906134f4565b90915550506040517fcb463ce3f7e1fdf8a824e5bb819c48d9cf6fed359b9c27ee1a16adba1731e6d290610c7f908b908b9087908c908c90613558565b60405180910390a1505050505050505050565b610c9c3382611e18565b610cb85760405162461bcd60e51b81526004016109cf906135f4565b610a70838383611e77565b610a70838383604051806020016040528060008152506116aa565b610ce7336119e2565b61012e610a708284836136a4565b600080610d0183611e90565b90506001600160a01b03811661089c5760405162461bcd60e51b81526004016109cf9061375d565b61012d54604051636396eb8d60e01b8152631a71ba7960e21b916001600160a01b031690636396eb8d90610d659033903090869060040161345b565b600060405180830381600087803b158015610d7f57600080fd5b505af1158015610d93573d6000803e3d6000fd5b50505050610da082611d6f565b61012f54610dc1906001600160a01b0316336001600160801b038516611eab565b5050565b61012e8054610dd390613421565b80601f0160208091040260200160405190810160405280929190818152602001828054610dff90613421565b8015610e4c5780601f10610e2157610100808354040283529160200191610e4c565b820191906000526020600020905b815481529060010190602001808311610e2f57829003601f168201915b505050505081565b60006001600160a01b038216610ebe5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016109cf565b506001600160a01b031660009081526068602052604090205490565b600033610ee689610cf5565b6001600160a01b031614610f0d5760405163a2719f8360e01b815260040160405180910390fd5b60008881526101316020526040902080546001600160801b0380891691161015610f4a57604051632ca2f52b60e11b815260040160405180910390fd5b60008981526101336020526040902054426001600160401b0390911611610f8457604051637a0ef04360e11b815260040160405180910390fd5b80546001600160401b03808616600160801b909204161115610fb95760405163c08ee4d560e01b815260040160405180910390fd5b866001600160801b03166101306000828254610fd5919061378f565b9091555050805487908290600090610ff79084906001600160801b03166137a2565b82546101009290920a6001600160801b0381810219909316918316021790915561012f5461012d5461103a93506001600160a01b03918216929116908a16611fde565b600061012d60009054906101000a90046001600160a01b03166001600160a01b0316637e9488f68c8a8960405180604001604052808a6001600160a01b031681526020018f8e8d6040516020016110ad939291909283526001600160401b03918216602084015216604082015260600190565b6040516020818303038152906040528152506040518563ffffffff1660e01b81526004016110de94939291906137c2565b6020604051808303816000875af11580156110fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111219190613816565b90506040518060a001604052808c6001600160a01b03168152602001336001600160a01b031681526020018b8152602001896001600160801b0316815260200160006001600160801b0316815250610132600083815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506040820151816002015560608201518160030160006101000a8154816001600160801b0302191690836001600160801b0316021790555060808201518160030160106101000a8154816001600160801b0302191690836001600160801b0316021790555090505089336001600160a01b03168c6001600160a01b03167f015c7586db82a00f7428ac8ce56c4bdf169662809785ade7c4a4a499825a0349848c60405161129c9291909182526001600160801b0316602082015260400190565b60405180910390a49a9950505050505050505050565b6060600080836001600160401b038111156112cf576112cf613146565b6040519080825280602002602001820160405280156112f8578160200160208202803683370190505b50905060008061130886886134f4565b90506000875b8281101561139d5760008181526101316020526040902080549092506001600160801b03161580159061135b575060008181526101336020526040902054426001600160401b0390911611155b1561138b5780858561136c8161349e565b96508151811061137e5761137e6134b7565b6020026020010181815250505b806113958161349e565b91505061130e565b5092945090925050505b9250929050565b60fb546001600160a01b031690565b6000806113c983612108565b90925090506001600160801b03811615610a705761012f54604051632e1a7d4d60e01b81526001600160a01b0390911690632e1a7d4d9061140e90849060040161382f565b600060405180830381600087803b15801561142857600080fd5b505af115801561143c573d6000803e3d6000fd5b50505050610a7082826001600160801b03166121e4565b61012d54604051636396eb8d60e01b8152624ae12960e91b916001600160a01b031690636396eb8d9061148e9033903090869060040161345b565b600060405180830381600087803b1580156114a857600080fd5b505af11580156114bc573d6000803e3d6000fd5b506114d792506114d29150506020840184612f24565b611d6f565b6114e46020830183612f24565b6001600160801b031661013060008282546114ff91906134f4565b925050819055506000610134600081546115189061349e565b9182905550905061152a848285611c91565b80846001600160a01b03167fbdb54dbe328d1c93216a11e5bca768bce7558093b8041010cbcf3d6e9595c3c0856040516115649190613843565b60405180910390a350505050565b6060606680546108b190613421565b610dc13383836122be565b60008061159883612108565b90925090506001600160801b03811615610a705761012f54610a70906001600160a01b0316836001600160801b038416611eab565b600081818080805b84811015611688578787828181106115ef576115ef6134b7565b602090810292909201356000818152610131909352604090922080549296509450506001600160801b031691508115801590611645575060008481526101336020526040902054426001600160401b0390911611155b156116765761165d6001600160801b038316876134f4565b83546001600160801b0319168455955061167684612388565b806116808161349e565b9150506115d5565b5084610130600082825461169c919061378f565b909155505050505050505050565b6116b43383611e18565b6116d05760405162461bcd60e51b81526004016109cf906135f4565b6116dc8484848461240b565b50505050565b61012d54604051636396eb8d60e01b8152635fb2628d60e11b916001600160a01b031690636396eb8d9061171e9033903090869060040161345b565b600060405180830381600087803b15801561173857600080fd5b505af115801561174c573d6000803e3d6000fd5b5050505061175982611d6f565b61012f54604051632e1a7d4d60e01b81526001600160a01b0390911690632e1a7d4d9061178a90859060040161382f565b600060405180830381600087803b1580156117a457600080fd5b505af11580156117b8573d6000803e3d6000fd5b50505050610dc133836001600160801b03166121e4565b600054610100900460ff16158080156117ef5750600054600160ff909116105b8061181057506117fe3061243e565b158015611810575060005460ff166001145b6118735760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016109cf565b6000805460ff191660011790558015611896576000805461ff0019166101001790555b6118df6040518060400160405280600a815260200169161656919c995950995d60b21b81525060405180604001604052806005815260200164161190915560da1b81525061244d565b6118e761247e565b6118ef6124a7565b6001600160a01b03821661191657604051635079ff7560e11b815260040160405180910390fd5b61012f80546001600160a01b0319166001600160a01b0384161790558015610dc1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b606061198682611bfe565b60006119906124de565b905060008151116119b057604051806020016040528060008152506119db565b806119ba846124ee565b6040516020016119cb929190613851565b6040516020818303038152906040525b9392505050565b806001600160a01b03166119f46113ae565b6001600160a01b031614611a545760405162461bcd60e51b815260206004820152602160248201527f4f776e61626c653a206163636f756e74206973206e6f7420746865206f776e656044820152603960f91b60648201526084016109cf565b50565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b611a8e336119e2565b6001600160a01b038116611af35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109cf565b611a5481612580565b611b05336119e2565b61012d80546001600160a01b0319166001600160a01b0383169081179091556040517f5f7748c284ee1ce72903c01c317ef43dd5a82d24aa3376bf246e98f8b3b74da190600090a250565b611b59816125d2565b6000918252610132602052604090912060030180546001600160801b03928316600160801b029216919091179055565b60006001600160e01b031982166380ac58cd60e01b1480611bba57506001600160e01b03198216635b5e139f60e01b145b8061089c57506301ffc9a760e01b6001600160e01b031983161461089c565b60006001600160e01b03198216630271189760e51b148061089c575061089c82611b89565b611c07816128c9565b611a545760405162461bcd60e51b81526004016109cf9061375d565b600081815260696020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611c5882610cf5565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b611c9e6020820182612f24565b6001600160801b0316600003611cc757604051631f2a200560e01b815260040160405180910390fd5b611cd76060820160408301613880565b6001600160401b0316600003611d005760405163346ab43760e11b815260040160405180910390fd5b6000828152610131602052604090208190611d1b828261389d565b50611d2e90506060820160408301613880565b611d389042613918565b60008381526101336020526040902080546001600160401b0319166001600160401b0392909216919091179055610a7083836128e6565b806001600160801b031661013054611d8791906134f4565b61012f546040516370a0823160e01b81526001600160a01b03909116906370a0823190611db8903090600401612d2b565b602060405180830381865afa158015611dd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df99190613816565b1015611a545760405163786e0a9960e01b815260040160405180910390fd5b600080611e2483610cf5565b9050806001600160a01b0316846001600160a01b03161480611e4b5750611e4b8185611a57565b80611e6f5750836001600160a01b0316611e6484610934565b6001600160a01b0316145b949350505050565b604051639cbe235760e01b815260040160405180910390fd5b6000908152606760205260409020546001600160a01b031690565b600080846001600160a01b031663a9059cbb8585604051602401611ed0929190613938565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050604051611f099190613951565b6000604051808303816000865af19150503d8060008114611f46576040519150601f19603f3d011682016040523d82523d6000602084013e611f4b565b606091505b5091509150818015611f75575080511580611f75575080806020019051810190611f75919061396d565b611fd75760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016109cf565b5050505050565b600080846001600160a01b031663095ea7b38585604051602401612003929190613938565b6040516020818303038152906040529060e01b6020820180516001600160e01b03838183161783525050505060405161203c9190613951565b6000604051808303816000865af19150503d8060008114612079576040519150601f19603f3d011682016040523d82523d6000602084013e61207e565b606091505b50915091508180156120a85750805115806120a85750808060200190518101906120a8919061396d565b611fd75760405162461bcd60e51b815260206004820152602b60248201527f5472616e7366657248656c7065723a3a73616665417070726f76653a2061707060448201526a1c9bdd994819985a5b195960aa1b60648201526084016109cf565b600081815261013260205260408120600181015460038201548392916001600160a01b03169083906001600160801b0316810361217257506003820154600160801b90046001600160801b0316801561216d576003830180546001600160801b031690555b61217e565b61217b866125d2565b90505b6001600160801b038116156121d957825460405187916001600160a01b03808616929116907ff6a08a2c19c442e70e5f492507198ac0331f43a55b82727e8756ef645e9d3b0e906121d090869061382f565b60405180910390a45b909590945092505050565b604080516000808252602082019092526001600160a01b03841690839060405161220e9190613951565b60006040518083038185875af1925050503d806000811461224b576040519150601f19603f3d011682016040523d82523d6000602084013e612250565b606091505b5050905080610a705760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016109cf565b816001600160a01b0316836001600160a01b03160361231b5760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b60448201526064016109cf565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600061239382610cf5565b905061239e82610cf5565b600083815260696020908152604080832080546001600160a01b03199081169091556001600160a01b038516808552606884528285208054600019019055878552606790935281842080549091169055519293508492600080516020613b8e833981519152908390a45050565b612416848484611e77565b61242284848484612900565b6116dc5760405162461bcd60e51b81526004016109cf9061398a565b6001600160a01b03163b151590565b600054610100900460ff166124745760405162461bcd60e51b81526004016109cf906139dc565b610dc18282612a08565b600054610100900460ff166124a55760405162461bcd60e51b81526004016109cf906139dc565b565b600054610100900460ff166124ce5760405162461bcd60e51b81526004016109cf906139dc565b6124d661247e565b6124a5612a48565b606061012e80546108b190613421565b606060006124fb83612a78565b60010190506000816001600160401b0381111561251a5761251a613146565b6040519080825280601f01601f191660200182016040528015612544576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461254e57509392505050565b60fb80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008181526101326020526040812060038101546001600160801b031680830361260f576040516336ab81e160e11b815260040160405180910390fd5b600282015460008181526101316020526040808220855461012d5492516325aa820b60e01b815291936001600160a01b039182169390929116906325aa820b9061265f9085908c90600401613938565b602060405180830381865afa15801561267c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a09190613a27565b90506001600160801b038116156127205761012d546040516349f565cd60e01b81526001600160a01b038481166004830152602482018b905260006044830152909116906349f565cd90606401600060405180830381600087803b15801561270757600080fd5b505af115801561271b573d6000803e3d6000fd5b505050505b846001600160801b0316816001600160801b03161461276657600084815261013160205260408120546001600160801b031690036127615761276184612388565b612887565b8254859084906000906127839084906001600160801b03166134cd565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550846001600160801b031661013060008282546127c391906134f4565b909155505082546127e490600160c01b90046001600160401b031642613918565b600085815261013360205260409081902080546001600160401b03939093166001600160401b0319909316929092179091556001870154905185916001600160a01b0316907facf4164fb95a791d309fdf2645b76c34b3a95d05dcb7de4bc63395ed63877a749061287e9087546001600160801b0381168252608081901c6001600160401b0316602083015260c01c604082015260600190565b60405180910390a35b6003860180546001600160801b03191690556001600160801b03858116908216116128b35760006128bd565b6128bd85826137a2565b98975050505050505050565b6000806128d583611e90565b6001600160a01b0316141592915050565b610dc1828260405180602001604052806000815250612b4e565b6000612914846001600160a01b031661243e565b156129fd57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061294b903390899088908890600401613a44565b6020604051808303816000875af1925050508015612986575060408051601f3d908101601f1916820190925261298391810190613a81565b60015b6129e3573d8080156129b4576040519150601f19603f3d011682016040523d82523d6000602084013e6129b9565b606091505b5080516000036129db5760405162461bcd60e51b81526004016109cf9061398a565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611e6f565b506001949350505050565b600054610100900460ff16612a2f5760405162461bcd60e51b81526004016109cf906139dc565b6065612a3b8382613a9e565b506066610a708282613a9e565b600054610100900460ff16612a6f5760405162461bcd60e51b81526004016109cf906139dc565b6124a533612580565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612ab75772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b8310612ae1576904ee2d6d415b85acef8160201b830492506020015b662386f26fc100008310612aff57662386f26fc10000830492506010015b6305f5e1008310612b17576305f5e100830492506008015b6127108310612b2b57612710830492506004015b60648310612b3d576064830492506002015b600a831061089c5760010192915050565b612b588383612b81565b612b656000848484612900565b610a705760405162461bcd60e51b81526004016109cf9061398a565b6001600160a01b038216612bd75760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016109cf565b612be0816128c9565b15612bfd5760405162461bcd60e51b81526004016109cf90613b57565b612c06816128c9565b15612c235760405162461bcd60e51b81526004016109cf90613b57565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b031916841790555183929190600080516020613b8e833981519152908290a45050565b6001600160e01b031981168114611a5457600080fd5b600060208284031215612ca457600080fd5b81356119db81612c7c565b60005b83811015612cca578181015183820152602001612cb2565b50506000910152565b60008151808452612ceb816020860160208601612caf565b601f01601f19169290920160200192915050565b6020815260006119db6020830184612cd3565b600060208284031215612d2457600080fd5b5035919050565b6001600160a01b0391909116815260200190565b80356001600160a01b0381168114612d5657600080fd5b919050565b60008060408385031215612d6e57600080fd5b612d7783612d3f565b946020939093013593505050565b60008083601f840112612d9757600080fd5b5081356001600160401b03811115612dae57600080fd5b6020830191508360208260051b85010111156113a757600080fd5b60008060008060408587031215612ddf57600080fd5b84356001600160401b0380821115612df657600080fd5b612e0288838901612d85565b90965094506020870135915080821115612e1b57600080fd5b818701915087601f830112612e2f57600080fd5b813581811115612e3e57600080fd5b886020606083028501011115612e5357600080fd5b95989497505060200194505050565b600080600060608486031215612e7757600080fd5b612e8084612d3f565b9250612e8e60208501612d3f565b9150604084013590509250925092565b60008060208385031215612eb157600080fd5b82356001600160401b0380821115612ec857600080fd5b818501915085601f830112612edc57600080fd5b813581811115612eeb57600080fd5b866020828501011115612efd57600080fd5b60209290920196919550909350505050565b6001600160801b0381168114611a5457600080fd5b600060208284031215612f3657600080fd5b81356119db81612f0f565b600060208284031215612f5357600080fd5b6119db82612d3f565b6001600160401b0381168114611a5457600080fd5b600080600080600080600080610100898b031215612f8e57600080fd5b612f9789612d3f565b975060208901359650604089013595506060890135612fb581612f0f565b94506080890135612fc581612f5c565b935060a0890135612fd581612f5c565b925060c0890135612fe581612f5c565b9150612ff360e08a01612d3f565b90509295985092959890939650565b6000806040838503121561301557600080fd5b50508035926020909101359150565b600081518084526020808501945080840160005b8381101561305457815187529582019590820190600101613038565b509495945050505050565b6040815260006130726040830185613024565b90508260208301529392505050565b600080828403608081121561309557600080fd5b61309e84612d3f565b92506060601f19820112156130b257600080fd5b506020830190509250929050565b8015158114611a5457600080fd5b600080604083850312156130e157600080fd5b6130ea83612d3f565b915060208301356130fa816130c0565b809150509250929050565b6000806020838503121561311857600080fd5b82356001600160401b0381111561312e57600080fd5b61313a85828601612d85565b90969095509350505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561318457613184613146565b604052919050565b600082601f83011261319d57600080fd5b81356001600160401b038111156131b6576131b6613146565b6131c9601f8201601f191660200161315c565b8181528460208386010111156131de57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806080858703121561321157600080fd5b61321a85612d3f565b935061322860208601612d3f565b92506040850135915060608501356001600160401b0381111561324a57600080fd5b6132568782880161318c565b91505092959194509250565b600082601f83011261327357600080fd5b813560206001600160401b0382111561328e5761328e613146565b8160051b61329d82820161315c565b92835284810182019282810190878511156132b757600080fd5b83870192505b848310156132d6578235825291830191908301906132bd565b979650505050505050565b600080600080600060a086880312156132f957600080fd5b61330286612d3f565b945061331060208701612d3f565b935060408601356001600160401b038082111561332c57600080fd5b61333889838a01613262565b9450606088013591508082111561334e57600080fd5b61335a89838a01613262565b9350608088013591508082111561337057600080fd5b5061337d8882890161318c565b9150509295509295909350565b6000806040838503121561339d57600080fd5b6133a683612d3f565b91506133b460208401612d3f565b90509250929050565b600080600080600060a086880312156133d557600080fd5b6133de86612d3f565b94506133ec60208701612d3f565b9350604086013592506060860135915060808601356001600160401b0381111561341557600080fd5b61337d8882890161318c565b600181811c9082168061343557607f821691505b60208210810361345557634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000600182016134b0576134b0613488565b5060010190565b634e487b7160e01b600052603260045260246000fd5b6001600160801b038181168382160190808211156134ed576134ed613488565b5092915050565b8082018082111561089c5761089c613488565b803561351281612f0f565b6001600160801b03168252602081013561352b81612f5c565b6001600160401b03908116602084015260408201359061354a82612f5c565b808216604085015250505050565b60608082528181018690526000908760808401835b8981101561359b576001600160a01b0361358684612d3f565b1682526020928301929091019060010161356d565b5084810360208601526135ae8189613024565b8581036040870152868152879250602001905060005b868110156135e6576135d68284613507565b91830191908301906001016135c4565b509998505050505050505050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b601f821115610a7057600081815260208120601f850160051c810160208610156136685750805b601f850160051c820191505b8181101561368757828155600101613674565b505050505050565b600019600383901b1c191660019190911b1790565b6001600160401b038311156136bb576136bb613146565b6136cf836136c98354613421565b83613641565b6000601f8411600181146136fd57600085156136eb5750838201355b6136f5868261368f565b845550611fd7565b600083815260209020601f19861690835b8281101561372e578685013582556020948501946001909201910161370e565b508682101561374b5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b602080825260189082015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604082015260600190565b8181038181111561089c5761089c613488565b6001600160801b038281168282160390808211156134ed576134ed613488565b600060018060a01b03808716835260018060801b038616602084015260018060401b038516604084015260806060840152808451166080840152506020830151604060a08401526132d660c0840182612cd3565b60006020828403121561382857600080fd5b5051919050565b6001600160801b0391909116815260200190565b6060810161089c8284613507565b60008351613863818460208801612caf565b835190830190613877818360208801612caf565b01949350505050565b60006020828403121561389257600080fd5b81356119db81612f5c565b81356138a881612f0f565b81546001600160801b031981166001600160801b0392909216918217835560208401356138d481612f5c565b600160801b600160c01b0360809190911b166001600160c01b031991821683178117845560408501359161390783612f5c565b921760c09190911b90911617905550565b6001600160401b038181168382160190808211156134ed576134ed613488565b6001600160a01b03929092168252602082015260400190565b60008251613963818460208701612caf565b9190910192915050565b60006020828403121561397f57600080fd5b81516119db816130c0565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215613a3957600080fd5b81516119db81612f0f565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613a7790830184612cd3565b9695505050505050565b600060208284031215613a9357600080fd5b81516119db81612c7c565b81516001600160401b03811115613ab757613ab7613146565b613acb81613ac58454613421565b84613641565b602080601f831160018114613afa5760008415613ae85750858301515b613af2858261368f565b865550613687565b600085815260208120601f198616915b82811015613b2957888601518255948401946001909101908401613b0a565b5085821015613b475787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252601c908201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b60408201526060019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122057559f253bacda8455f6a2a1bb4713f038f0656f3f90525035ace30528899bca64736f6c63430008100033