0 txs
0 calls
constructor
constructor(address _creator, uint16 redemptionRate, uint16 redemptionMax)
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
checkClaim
viewfunction checkClaim(uint256 _tokenID) view returns (bool)
creator
viewfunction creator() view returns (address)
forge_start
viewfunction forge_start() view returns (uint256)
getAdmins
viewfunction getAdmins() view returns (address[] admins)
how_long_more
viewfunction how_long_more() view returns (uint256 Days, uint256 Hours, uint256 Minutes, uint256 Seconds)
isAdmin
viewfunction isAdmin(address admin) view returns (bool)
mintedTokens
viewfunction mintedTokens() view returns (uint256[])
mintNumber
viewfunction mintNumber(uint256 tokenId) view returns (uint256)
owner
viewfunction owner() view returns (address)
redeemable
viewfunction redeemable(address contract_, uint256 tokenId) view returns (bool)
redemptionMax
viewfunction redemptionMax() view returns (uint16)
redemptionRate
viewfunction redemptionRate() view returns (uint16)
redemptionRemaining
viewfunction redemptionRemaining() view returns (uint16)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenURI
viewfunction tokenURI(address creator, uint256 tokenId) view returns (string)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
approveAdmin
nonpayablefunction approveAdmin(address admin)
approveTransfer
nonpayablefunction approveTransfer(address from, address to, uint256 tokenId) returns (bool)
drain
nonpayablefunction drain(address _token)
forge
nonpayablefunction forge(uint16 _checkToken, uint16 _burnToken)
onERC721Received
nonpayablefunction onERC721Received(address, address from, uint256 tokenId, bytes data) returns (bytes4)
recoverERC721
nonpayablefunction recoverERC721(address contract_, uint256 tokenId)
renounceOwnership
nonpayablefunction renounceOwnership()
retrieve721
nonpayablefunction retrieve721(address _tracker, uint256 _id)
revokeAdmin
nonpayablefunction revokeAdmin(address admin)
setApproveTransfer
nonpayablefunction setApproveTransfer(address creator, bool enabled)
setERC721Recoverable
nonpayablefunction setERC721Recoverable(address contract_, uint256 tokenId, address recoverer)
setup
nonpayablefunction setup()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateApprovedContracts
nonpayablefunction updateApprovedContracts(address[] contracts, bool[] approved)
updateApprovedTokenRanges
nonpayablefunction updateApprovedTokenRanges(address contract_, uint256[] minTokenIds, uint256[] maxTokenIds)
updateApprovedTokens
nonpayablefunction updateApprovedTokens(address contract_, uint256[] tokenIds, bool[] approved)
events
AdminApproved
event AdminApproved(address indexed account, address indexed sender)
AdminRevoked
event AdminRevoked(address indexed account, address indexed sender)
forgeWith
event forgeWith(uint16 _checkToken, uint16 _burnToken)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
UpdateApprovedContracts
event UpdateApprovedContracts(address[] contracts, bool[] approved)
UpdateApprovedTokenRanges
event UpdateApprovedTokenRanges(address contract_, uint256[] minTokenIds, uint256[] maxTokenIds)
UpdateApprovedTokens
event UpdateApprovedTokens(address contract_, uint256[] tokenIds, bool[] approved)
errors
No errors.
creation bytecode
0x60a06040526000601055604051806080016040528060458152602001620066ea60459139601190805190602001906200003a9291906200054b565b50636140d5106012553480156200005057600080fd5b506040516200672f3803806200672f833981810160405281019062000076919062000640565b828084848482828260016000819055506000620000986200037960201b60201c565b905080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200016e837f9088c207000000000000000000000000000000000000000000000000000000006200038160201b6200304c1760201c565b80620001945750620001938363478c853060e01b6200038160201b6200304c1760201c565b5b620001d6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001cd90620007ce565b60405180910390fd5b8161ffff1660808161ffff1660f01b8152505080600860146101000a81548161ffff021916908361ffff16021790555082600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505062000284817f9088c207000000000000000000000000000000000000000000000000000000006200038160201b6200304c1760201c565b80620002aa5750620002a98163478c853060e01b6200038160201b6200304c1760201c565b5b620002ec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002e390620007ce565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505082600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506200097a565b600033905090565b60006200039483620003b760201b60201c565b8015620003af5750620003ae83836200041560201b60201c565b5b905092915050565b6000620003eb827f01ffc9a7000000000000000000000000000000000000000000000000000000006200041560201b60201c565b80156200040e57506200040c8263ffffffff60e01b6200041560201b60201c565b155b9050919050565b6000806301ffc9a760e01b83604051602401620004339190620007b1565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000808573ffffffffffffffffffffffffffffffffffffffff1661753084604051620004bf919062000798565b6000604051808303818686fa925050503d8060008114620004fd576040519150601f19603f3d011682016040523d82523d6000602084013e62000502565b606091505b50915091506020815110156200051f576000935050505062000545565b8180156200053f5750808060200190518101906200053e919062000696565b5b93505050505b92915050565b8280546200055990620008c7565b90600052602060002090601f0160209004810192826200057d5760008555620005c9565b82601f106200059857805160ff1916838001178555620005c9565b82800160010185558215620005c9579182015b82811115620005c8578251825591602001919060010190620005ab565b5b509050620005d89190620005dc565b5090565b5b80821115620005f7576000816000905550600101620005dd565b5090565b6000815190506200060c816200092c565b92915050565b600081519050620006238162000946565b92915050565b6000815190506200063a8162000960565b92915050565b6000806000606084860312156200065657600080fd5b60006200066686828701620005fb565b9350506020620006798682870162000629565b92505060406200068c8682870162000629565b9150509250925092565b600060208284031215620006a957600080fd5b6000620006b98482850162000612565b91505092915050565b620006cd8162000837565b82525050565b6000620006e082620007f0565b620006ec8185620007fb565b9350620006fe81856020860162000891565b80840191505092915050565b60006200071960418362000806565b91507f52656465656d3a204d696e74696e672072657761726420636f6e74726163742060008301527f6d75737420696d706c656d656e74204945524337323143726561746f72436f7260208301527f65000000000000000000000000000000000000000000000000000000000000006040830152606082019050919050565b6000620007a68284620006d3565b915081905092915050565b6000602082019050620007c86000830184620006c2565b92915050565b60006020820190508181036000830152620007e9816200070a565b9050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000620008248262000871565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b83811015620008b157808201518184015260208101905062000894565b83811115620008c1576000848401525b50505050565b60006002820490506001821680620008e057607f821691505b60208210811415620008f757620008f6620008fd565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b620009378162000817565b81146200094357600080fd5b50565b62000951816200082b565b81146200095d57600080fd5b50565b6200096b8162000863565b81146200097757600080fd5b50565b60805160f01c615d51620009996000396000611f140152615d516000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c80636c2ab4ba1161011a578063a5b3abfb116100ad578063c87b56dd1161007c578063c87b56dd146105c8578063e9dc6375146105f8578063ece5313214610628578063f2fde38b14610644578063f79f20b51461066057610206565b8063a5b3abfb14610568578063ac4cc14814610584578063ac52e644146105a2578063ba0bba40146105be57610206565b8063819d4cc6116100e9578063819d4cc6146104e057806382580805146104fc5780638d75fe051461052c5780638da5cb5b1461054a57610206565b80636c2ab4ba1461046e5780636d73e6691461048a57806370a08231146104a6578063715018a6146104d657610206565b80632af8a4131161019d578063484aaefe1161016c578063484aaefe146103ca57806348efee0a146103e6578063540385a3146104025780635873ce771461042057806367627b621461043e57610206565b80632af8a413146103445780632d345670146103605780632f745c591461037c57806331ae450b146103ac57610206565b8063150b7a02116101d9578063150b7a02146102985780631681d158146102c85780631b95a227146102f857806324d7806c1461031457610206565b806301ffc9a71461020b57806302d05d3f1461023b57806304c9fdb01461025957806310e33de314610277575b600080fd5b61022560048036038101906102209190614653565b610690565b60405161023291906152fe565b60405180910390f35b61024361071a565b6040516102509190615147565b60405180910390f35b610261610740565b60405161026e9190615616565b60405180910390f35b61027f610773565b60405161028f9493929190615690565b60405180910390f35b6102b260048036038101906102ad9190614379565b610836565b6040516102bf9190615319565b60405180910390f35b6102e260048036038101906102dd91906146e1565b6108a1565b6040516102ef91906152fe565b60405180910390f35b610312600480360381019061030d91906144f7565b6108cb565b005b61032e600480360381019061032991906142d8565b610a33565b60405161033b91906152fe565b60405180910390f35b61035e60048036038101906103599190614478565b610a8d565b005b61037a600480360381019061037591906142d8565b6110c1565b005b61039660048036038101906103919190614533565b6111c9565b6040516103a39190615675565b60405180910390f35b6103b46112a5565b6040516103c19190615283565b60405180910390f35b6103e460048036038101906103df91906146a5565b6113d3565b005b61040060048036038101906103fb91906143f9565b611af1565b005b61040a611f10565b6040516104179190615616565b60405180910390f35b610428611f38565b6040516104359190615675565b60405180910390f35b61045860048036038101906104539190614533565b611f3e565b60405161046591906152fe565b60405180910390f35b6104886004803603810190610483919061456f565b612276565b005b6104a4600480360381019061049f91906142d8565b61230b565b005b6104c060048036038101906104bb91906142d8565b612412565b6040516104cd9190615675565b60405180910390f35b6104de61245b565b005b6104fa60048036038101906104f59190614533565b612598565b005b6105166004803603810190610511919061432a565b61259c565b60405161052391906152fe565b60405180910390f35b61053461272b565b60405161054191906152dc565b60405180910390f35b610552612783565b60405161055f9190615147565b60405180910390f35b610582600480360381019061057d9190614533565b6127ad565b005b61058c61289c565b6040516105999190615616565b60405180910390f35b6105bc60048036038101906105b791906145be565b6128b4565b005b6105c6612abc565b005b6105e260048036038101906105dd91906146e1565b612ba0565b6040516105ef9190615334565b60405180910390f35b610612600480360381019061060d9190614533565b612c4b565b60405161061f9190615334565b60405180910390f35b610642600480360381019061063d919061467c565b612c5e565b005b61065e600480360381019061065991906142d8565b612e83565b005b61067a600480360381019061067591906146e1565b61302f565b6040516106879190615675565b60405180910390f35b60007fe9dc6375000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610703575061070282613071565b5b80610713575061071282613071565b5b9050919050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860169054906101000a900461ffff16600860149054906101000a900461ffff1661076e91906159a2565b905090565b60008060008060125442106107bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b4906155b6565b60405180910390fd5b6000426012546107cd91906159d6565b905062015180816107de9190615971565b945062015180816107ef9190615b93565b9050610e10816107ff9190615971565b9350610e108161080f9190615b93565b9050603c8161081e9190615971565b9250603c8161082d9190615b93565b91505090919293565b60006002600054141561087e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610875906155d6565b60405180910390fd5b600260008190555063150b7a0260e01b9050600160008190555095945050505050565b6000600f600083815260200190815260200160002060009054906101000a900460ff169050919050565b3373ffffffffffffffffffffffffffffffffffffffff166108ea612783565b73ffffffffffffffffffffffffffffffffffffffff16148061091c575061091b3360036130eb90919063ffffffff16565b5b61095b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095290615576565b60405180910390fd5b610985827f9088c2070000000000000000000000000000000000000000000000000000000061304c565b6109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bb90615456565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663ac0c8cfa826040518263ffffffff1660e01b81526004016109fd91906152fe565b600060405180830381600087803b158015610a1757600080fd5b505af1158015610a2b573d6000803e3d6000fd5b505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16610a54612783565b73ffffffffffffffffffffffffffffffffffffffff161480610a865750610a858260036130eb90919063ffffffff16565b5b9050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610aac612783565b73ffffffffffffffffffffffffffffffffffffffff161480610ade5750610add3360036130eb90919063ffffffff16565b5b610b1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1490615576565b60405180910390fd5b8051825114610b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b58906154f6565b60405180910390fd5b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060005b81811015610ce2576000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610c2c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600001819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610cba577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600101819055508080610cda90615b4a565b915050610bab565b5060005b835181101561107f57828181518110610d28577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151848281518110610d69577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015110610db1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da8906154b6565b60405180910390fd5b81811015610f5857838181518110610df2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610e71577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160000181905550828181518110610ebf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110610f3e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600202016001018190555061106c565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405280868481518110610fdb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152602001858481518110611021577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550505b808061107790615b4a565b915050610ce6565b507fc834fb6349b577e8519e3cb6df7274bdd4957d7388d8cc9b54467d8af9d6537b8484846040516110b393929190615215565b60405180910390a150505050565b6110c961311b565b73ffffffffffffffffffffffffffffffffffffffff166110e7612783565b73ffffffffffffffffffffffffffffffffffffffff161461113d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611134906154d6565b60405180910390fd5b6111518160036130eb90919063ffffffff16565b156111c6573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f7c0c3c84c67c85fcac635147348bfe374c24a1a93d0366d1cfe9d8853cbf89d560405160405180910390a36111c481600361312390919063ffffffff16565b505b50565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821061124c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124390615396565b60405180910390fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60606112b16003613153565b67ffffffffffffffff8111156112f0577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561131e5781602001602082028036833780820191505090505b50905060005b61132e6003613153565b8110156113cf5761134981600361316890919063ffffffff16565b828281518110611382577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080806113c790615b4a565b915050611324565b5090565b601254421015611418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140f90615496565b60405180910390fd5b611448600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261ffff16611f3e565b611487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147e906155f6565b60405180910390fd5b60011515600f60008461ffff16815260200190815260200160002060009054906101000a900460ff161515146114f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e990615556565b60405180910390fd5b6000600f60008461ffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e836040518263ffffffff1660e01b815260040161157d9190615631565b60206040518083038186803b15801561159557600080fd5b505afa9250505080156115c657506040513d601f19601f820116820180604052508101906115c39190614301565b60015b611637573d80600081146115f6576040519150601f19603f3d011682016040523d82523d6000602084013e6115fb565b606091505b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162e90615516565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146116a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169c90615476565b60405180910390fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e826040518263ffffffff1660e01b81526004016117019190615631565b60206040518083038186803b15801561171957600080fd5b505afa92505050801561174a57506040513d601f19601f820116820180604052508101906117479190614301565b60015b6117bb573d806000811461177a576040519150601f19603f3d011682016040523d82523d6000602084013e61177f565b606091505b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b290615536565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611829576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611820906153b6565b60405180910390fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663081812fc826040518263ffffffff1660e01b81526004016118859190615631565b60206040518083038186803b15801561189d57600080fd5b505afa9250505080156118ce57506040513d601f19601f820116820180604052508101906118cb9190614301565b60015b61193f573d80600081146118fe576040519150601f19603f3d011682016040523d82523d6000602084013e611903565b606091505b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193690615536565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146119ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a490615376565b60405180910390fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3361dead846040518463ffffffff1660e01b8152600401611a0f93929190615162565b600060405180830381600087803b158015611a2957600080fd5b505af1925050508015611a3a575060015b611aab573d8060008114611a6a576040519150601f19603f3d011682016040523d82523d6000602084013e611a6f565b606091505b506040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa290615416565b60405180910390fd5b611ab433613182565b7fe72d1c27d4ec28f405df9eaaadb09691f6538ec1db448d59fe0d3214ca7551fd8282604051611ae592919061564c565b60405180910390a15050565b3373ffffffffffffffffffffffffffffffffffffffff16611b10612783565b73ffffffffffffffffffffffffffffffffffffffff161480611b425750611b413360036130eb90919063ffffffff16565b5b611b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7890615576565b60405180910390fd5b8051825114611bc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbc906154f6565b60405180910390fd5b60005b8251811015611ecf57818181518110611c0a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518015611cac5750611caa838281518110611c55577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061329e90919063ffffffff16565b155b15611d4857611d42838281518110611ced577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206132b890919063ffffffff16565b50611ebc565b818181518110611d81577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151158015611e235750611e22838281518110611dcd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061329e90919063ffffffff16565b5b15611ebb57611eb9838281518110611e64577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206132d290919063ffffffff16565b505b5b8080611ec790615b4a565b915050611bc8565b507f0ed1ede59c177063e00a17d07584b15a0eb10205d90702aeff646f55bb33aa89838383604051611f03939291906151d0565b60405180910390a1505050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60125481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f9b5760019050612270565b611fec82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061329e90919063ffffffff16565b15611ffa5760019050612270565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111561226b5760005b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015612269576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061210b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160010154141580156121b35750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020818154811061219d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600001548310155b80156122475750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110612231577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600101548311155b15612256576001915050612270565b808061226190615b4a565b915050612048565b505b600090505b92915050565b3373ffffffffffffffffffffffffffffffffffffffff16612295612783565b73ffffffffffffffffffffffffffffffffffffffff1614806122c757506122c63360036130eb90919063ffffffff16565b5b612306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122fd90615576565b60405180910390fd5b505050565b61231361311b565b73ffffffffffffffffffffffffffffffffffffffff16612331612783565b73ffffffffffffffffffffffffffffffffffffffff1614612387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237e906154d6565b60405180910390fd5b61239b8160036130eb90919063ffffffff16565b61240f573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f7e1a1a08d52e4ba0e21554733d66165fd5151f99460116223d9e3a608eec5cb160405160405180910390a361240d8160036132ec90919063ffffffff16565b505b50565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61246361311b565b73ffffffffffffffffffffffffffffffffffffffff16612481612783565b73ffffffffffffffffffffffffffffffffffffffff16146124d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ce906154d6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461262e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612625906153f6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561269757508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156126a7576126a6848361331c565b5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561271057508373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156127205761271f8383613517565b5b600190509392505050565b6060600980548060200260200160405190810160405280929190818152602001828054801561277957602002820191906000526020600020905b815481526020019060010190808311612765575b5050505050905090565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6127b561311b565b73ffffffffffffffffffffffffffffffffffffffff166127d3612783565b73ffffffffffffffffffffffffffffffffffffffff1614612829576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612820906154d6565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166323b872dd3033846040518463ffffffff1660e01b815260040161286693929190615199565b600060405180830381600087803b15801561288057600080fd5b505af1158015612894573d6000803e3d6000fd5b505050505050565b6000600860149054906101000a900461ffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff166128d3612783565b73ffffffffffffffffffffffffffffffffffffffff16148061290557506129043360036130eb90919063ffffffff16565b5b612944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161293b90615576565b60405180910390fd5b8051825114612988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297f906154f6565b60405180910390fd5b60005b8251811015612a7e578181815181106129cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160056000858481518110612a12577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080612a7690615b4a565b91505061298b565b507fb987f16cb95c27617d184f54a4a9d80cfa894b91e2d679ed76042493954481488282604051612ab09291906152a5565b60405180910390a15050565b612ac461311b565b73ffffffffffffffffffffffffffffffffffffffff16612ae2612783565b73ffffffffffffffffffffffffffffffffffffffff1614612b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2f906154d6565b60405180910390fd5b612b40613624565b60006102c4905060005b60548111612b9c576001600f60008385612b64919061591b565b815260200190815260200160002060006101000a81548160ff0219169083151502179055508080612b9490615b4a565b915050612b4a565b5050565b60606000600a6000848152602001908152602001600020541415612bf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf090615436565b60405180910390fd5b6011612c24601054600a600086815260200190815260200160002054612c1f9190615887565b6136b4565b604051602001612c35929190615123565b6040516020818303038152906040529050919050565b6060612c5682612ba0565b905092915050565b612c6661311b565b73ffffffffffffffffffffffffffffffffffffffff16612c84612783565b73ffffffffffffffffffffffffffffffffffffffff1614612cda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd1906154d6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612d6257612d17612783565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015612d5c573d6000803e3d6000fd5b50612e80565b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb612d86612783565b8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612dbf9190615147565b60206040518083038186803b158015612dd757600080fd5b505afa158015612deb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e0f919061470a565b6040518363ffffffff1660e01b8152600401612e2c92919061525a565b602060405180830381600087803b158015612e4657600080fd5b505af1158015612e5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e7e919061462a565b505b50565b612e8b61311b565b73ffffffffffffffffffffffffffffffffffffffff16612ea9612783565b73ffffffffffffffffffffffffffffffffffffffff1614612eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ef6906154d6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f66906153d6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600a6000838152602001908152602001600020549050919050565b600061305783613861565b8015613069575061306883836138ae565b5b905092915050565b60007f99cdaa22000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806130e457506130e3826139d9565b5b9050919050565b6000613113836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613a53565b905092915050565b600033905090565b600061314b836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613a76565b905092915050565b600061316182600001613bf4565b9050919050565b60006131778360000183613c05565b60001c905092915050565b600860149054906101000a900461ffff1661ffff16600860169054906101000a900461ffff1661ffff16106131ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131e390615596565b60405180910390fd5b6008601681819054906101000a900461ffff168092919061320c90615b1f565b91906101000a81548161ffff021916908361ffff16021790555050600061324382600860169054906101000a900461ffff16613c9f565b90506009819080600181540180825580915050600190039060005260206000200160009091909190915055600860169054906101000a900461ffff1661ffff16600a6000838152602001908152602001600020819055505050565b60006132b0836000018360001b613a53565b905092915050565b60006132ca836000018360001b613d56565b905092915050565b60006132e4836000018360001b613a76565b905092915050565b6000613314836000018373ffffffffffffffffffffffffffffffffffffffff1660001b613d56565b905092915050565b60006001600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461336a91906159d6565b90506000600d600084815260200190815260200160002054905081811461344f576000600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208190555081600d600083815260200190815260200160002081905550505b600d600084815260200190815260200160002060009055600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020600090556001600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461350a91906159d6565b9250508190555050505050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000208190555080600d6000848152602001908152602001600020819055506001600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613618919061591b565b92505081905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ac0c8cfa60016040518263ffffffff1660e01b815260040161368091906152fe565b600060405180830381600087803b15801561369a57600080fd5b505af11580156136ae573d6000803e3d6000fd5b50505050565b606060008214156136fc576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061385c565b600082905060005b6000821461372e57808061371790615b4a565b915050600a826137279190615971565b9150613704565b60008167ffffffffffffffff811115613770577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156137a25781602001600182028036833780820191505090505b5090505b60008514613855576001826137bb91906159d6565b9150600a856137ca9190615b93565b60306137d6919061591b565b60f81b818381518110613812577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561384e9190615971565b94506137a6565b8093505050505b919050565b600061388d827f01ffc9a7000000000000000000000000000000000000000000000000000000006138ae565b80156138a757506138a58263ffffffff60e01b6138ae565b155b9050919050565b6000806301ffc9a760e01b836040516024016138ca9190615319565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000808573ffffffffffffffffffffffffffffffffffffffff1661753084604051613954919061510c565b6000604051808303818686fa925050503d8060008114613990576040519150601f19603f3d011682016040523d82523d6000602084013e613995565b606091505b50915091506020815110156139b057600093505050506139d3565b8180156139cd5750808060200190518101906139cc919061462a565b5b93505050505b92915050565b60007fedb7f87c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480613a4c5750613a4b82613dc6565b5b9050919050565b600080836001016000848152602001908152602001600020541415905092915050565b60008083600101600084815260200190815260200160002054905060008114613be8576000600182613aa891906159d6565b9050600060018660000180549050613ac091906159d6565b90506000866000018281548110613b00577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080876000018481548110613b4a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200181905550838760010160008381526020019081526020016000208190555086600001805480613bac577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050613bee565b60009150505b92915050565b600081600001805490509050919050565b600081836000018054905011613c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613c4790615356565b60405180910390fd5b826000018281548110613c8c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632928ca58846040518263ffffffff1660e01b8152600401613cfc9190615147565b602060405180830381600087803b158015613d1657600080fd5b505af1158015613d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d4e919061470a565b905092915050565b6000613d628383613a53565b613dbb578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050613dc0565b600090505b92915050565b60007f866c67eb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480613e395750613e3882613e50565b5b80613e495750613e4882613eca565b5b9050919050565b60007fa927d73f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480613ec35750613ec282613f2b565b5b9050919050565b6000637005caad60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480613f245750613f2382613e50565b5b9050919050565b60007f553e757e000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480613f9e5750613f9d82613fa5565b5b9050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600061402261401d84615706565b6156d5565b9050808382526020820190508285602086028201111561404157600080fd5b60005b8581101561407157816140578882614153565b845260208401935060208301925050600181019050614044565b5050509392505050565b600061408e61408984615732565b6156d5565b905080838252602082019050828560208602820111156140ad57600080fd5b60005b858110156140dd57816140c388826141fb565b8452602084019350602083019250506001810190506140b0565b5050509392505050565b60006140fa6140f58461575e565b6156d5565b9050808382526020820190508285602086028201111561411957600080fd5b60005b85811015614149578161412f88826142ae565b84526020840193506020830192505060018101905061411c565b5050509392505050565b60008135905061416281615c91565b92915050565b60008151905061417781615c91565b92915050565b600082601f83011261418e57600080fd5b813561419e84826020860161400f565b91505092915050565b600082601f8301126141b857600080fd5b81356141c884826020860161407b565b91505092915050565b600082601f8301126141e257600080fd5b81356141f28482602086016140e7565b91505092915050565b60008135905061420a81615ca8565b92915050565b60008151905061421f81615ca8565b92915050565b60008135905061423481615cbf565b92915050565b60008083601f84011261424c57600080fd5b8235905067ffffffffffffffff81111561426557600080fd5b60208301915083600182028301111561427d57600080fd5b9250929050565b60008135905061429381615cd6565b92915050565b6000813590506142a881615ced565b92915050565b6000813590506142bd81615d04565b92915050565b6000815190506142d281615d04565b92915050565b6000602082840312156142ea57600080fd5b60006142f884828501614153565b91505092915050565b60006020828403121561431357600080fd5b600061432184828501614168565b91505092915050565b60008060006060848603121561433f57600080fd5b600061434d86828701614153565b935050602061435e86828701614153565b925050604061436f868287016142ae565b9150509250925092565b60008060008060006080868803121561439157600080fd5b600061439f88828901614153565b95505060206143b088828901614153565b94505060406143c1888289016142ae565b935050606086013567ffffffffffffffff8111156143de57600080fd5b6143ea8882890161423a565b92509250509295509295909350565b60008060006060848603121561440e57600080fd5b600061441c86828701614153565b935050602084013567ffffffffffffffff81111561443957600080fd5b614445868287016141d1565b925050604084013567ffffffffffffffff81111561446257600080fd5b61446e868287016141a7565b9150509250925092565b60008060006060848603121561448d57600080fd5b600061449b86828701614153565b935050602084013567ffffffffffffffff8111156144b857600080fd5b6144c4868287016141d1565b925050604084013567ffffffffffffffff8111156144e157600080fd5b6144ed868287016141d1565b9150509250925092565b6000806040838503121561450a57600080fd5b600061451885828601614153565b9250506020614529858286016141fb565b9150509250929050565b6000806040838503121561454657600080fd5b600061455485828601614153565b9250506020614565858286016142ae565b9150509250929050565b60008060006060848603121561458457600080fd5b600061459286828701614153565b93505060206145a3868287016142ae565b92505060406145b486828701614153565b9150509250925092565b600080604083850312156145d157600080fd5b600083013567ffffffffffffffff8111156145eb57600080fd5b6145f78582860161417d565b925050602083013567ffffffffffffffff81111561461457600080fd5b614620858286016141a7565b9150509250929050565b60006020828403121561463c57600080fd5b600061464a84828501614210565b91505092915050565b60006020828403121561466557600080fd5b600061467384828501614225565b91505092915050565b60006020828403121561468e57600080fd5b600061469c84828501614284565b91505092915050565b600080604083850312156146b857600080fd5b60006146c685828601614299565b92505060206146d785828601614299565b9150509250929050565b6000602082840312156146f357600080fd5b6000614701848285016142ae565b91505092915050565b60006020828403121561471c57600080fd5b600061472a848285016142c3565b91505092915050565b600061473f838361477b565b60208301905092915050565b600061475783836148b3565b60208301905092915050565b600061476f83836150ee565b60208301905092915050565b61478481615a0a565b82525050565b61479381615a0a565b82525050565b60006147a4826157cf565b6147ae818561582d565b93506147b98361578a565b8060005b838110156147ea5781516147d18882614733565b97506147dc83615806565b9250506001810190506147bd565b5085935050505092915050565b6000614802826157da565b61480c818561583e565b93506148178361579a565b8060005b8381101561484857815161482f888261474b565b975061483a83615813565b92505060018101905061481b565b5085935050505092915050565b6000614860826157e5565b61486a818561584f565b9350614875836157aa565b8060005b838110156148a657815161488d8882614763565b975061489883615820565b925050600181019050614879565b5085935050505092915050565b6148bc81615a1c565b82525050565b6148cb81615a1c565b82525050565b6148da81615a28565b82525050565b60006148eb826157f0565b6148f58185615860565b9350614905818560208601615aba565b80840191505092915050565b600061491c826157fb565b614926818561586b565b9350614936818560208601615aba565b61493f81615c80565b840191505092915050565b6000614955826157fb565b61495f818561587c565b935061496f818560208601615aba565b80840191505092915050565b6000815461498881615aed565b614992818661587c565b945060018216600081146149ad57600181146149be576149f1565b60ff198316865281860193506149f1565b6149c7856157ba565b60005b838110156149e9578154818901526001820191506020810190506149ca565b838801955050505b50505092915050565b6000614a0760228361586b565b91507f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60008301527f64730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614a6d60378361586b565b91507f4275726e52656465656d3a20436f6e7472616374206d7573742062652067697660008301527f656e20617070726f76616c20746f206275726e204e46540000000000000000006020830152604082019050919050565b6000614ad3602b8361586b565b91507f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008301527f74206f6620626f756e64730000000000000000000000000000000000000000006020830152604082019050919050565b6000614b3960208361586b565b91507f4275726e52656465656d3a2043616c6c6572206d757374206f776e204e4654736000830152602082019050919050565b6000614b7960268361586b565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614bdf600e8361586b565b91507f496e76616c69642063616c6c65720000000000000000000000000000000000006000830152602082019050919050565b6000614c1f60188361586b565b91507f4275726e52656465656d3a204275726e206661696c75726500000000000000006000830152602082019050919050565b6000614c5f600d8361586b565b91507f496e76616c696420746f6b656e000000000000000000000000000000000000006000830152602082019050919050565b6000614c9f60298361586b565b91507f63726561746f72206d75737420696d706c656d656e742049455243373231437260008301527f6561746f72436f726500000000000000000000000000000000000000000000006020830152604082019050919050565b6000614d0560268361586b565b91507f636865636b546f6b656e52656465656d3a2043616c6c6572206d757374206f7760008301527f6e204e46547300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614d6b60128361586b565b91507f666f726765206e6f7420737461727465642e00000000000000000000000000006000830152602082019050919050565b6000614dab60218361586b565b91507f52656465656d3a206d696e206d757374206265206c657373207468616e206d6160008301527f78000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614e1160208361586b565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000614e5160208361586b565b91507f52656465656d3a20496e76616c696420696e70757420706172616d65746572736000830152602082019050919050565b6000614e9160248361586b565b91507f636865636b546f6b656e52656465656d3a2042616420746f6b656e20636f6e7460008301527f72616374000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614ef7601e8361586b565b91507f4275726e52656465656d3a2042616420746f6b656e20636f6e747261637400006000830152602082019050919050565b6000614f3760068361586b565b91507f466f7267656400000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614f7760248361586b565b91507f41646d696e436f6e74726f6c3a204d757374206265206f776e6572206f72206160008301527f646d696e000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614fdd60208361586b565b91507f52656465656d3a204e6f20726564656d7074696f6e732072656d61696e696e676000830152602082019050919050565b600061501d60078361586b565b91507f53746172746564000000000000000000000000000000000000000000000000006000830152602082019050919050565b600061505d601f8361586b565b91507f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006000830152602082019050919050565b600061509d60178361586b565b91507f4275726e52656465656d3a20496e76616c6964204e46540000000000000000006000830152602082019050919050565b6150d981615a70565b82525050565b6150e881615aa8565b82525050565b6150f781615a9e565b82525050565b61510681615a9e565b82525050565b600061511882846148e0565b915081905092915050565b600061512f828561497b565b915061513b828461494a565b91508190509392505050565b600060208201905061515c600083018461478a565b92915050565b6000606082019050615177600083018661478a565b615184602083018561478a565b61519160408301846150df565b949350505050565b60006060820190506151ae600083018661478a565b6151bb602083018561478a565b6151c860408301846150fd565b949350505050565b60006060820190506151e5600083018661478a565b81810360208301526151f78185614855565b9050818103604083015261520b81846147f7565b9050949350505050565b600060608201905061522a600083018661478a565b818103602083015261523c8185614855565b905081810360408301526152508184614855565b9050949350505050565b600060408201905061526f600083018561478a565b61527c60208301846150fd565b9392505050565b6000602082019050818103600083015261529d8184614799565b905092915050565b600060408201905081810360008301526152bf8185614799565b905081810360208301526152d381846147f7565b90509392505050565b600060208201905081810360008301526152f68184614855565b905092915050565b600060208201905061531360008301846148c2565b92915050565b600060208201905061532e60008301846148d1565b92915050565b6000602082019050818103600083015261534e8184614911565b905092915050565b6000602082019050818103600083015261536f816149fa565b9050919050565b6000602082019050818103600083015261538f81614a60565b9050919050565b600060208201905081810360008301526153af81614ac6565b9050919050565b600060208201905081810360008301526153cf81614b2c565b9050919050565b600060208201905081810360008301526153ef81614b6c565b9050919050565b6000602082019050818103600083015261540f81614bd2565b9050919050565b6000602082019050818103600083015261542f81614c12565b9050919050565b6000602082019050818103600083015261544f81614c52565b9050919050565b6000602082019050818103600083015261546f81614c92565b9050919050565b6000602082019050818103600083015261548f81614cf8565b9050919050565b600060208201905081810360008301526154af81614d5e565b9050919050565b600060208201905081810360008301526154cf81614d9e565b9050919050565b600060208201905081810360008301526154ef81614e04565b9050919050565b6000602082019050818103600083015261550f81614e44565b9050919050565b6000602082019050818103600083015261552f81614e84565b9050919050565b6000602082019050818103600083015261554f81614eea565b9050919050565b6000602082019050818103600083015261556f81614f2a565b9050919050565b6000602082019050818103600083015261558f81614f6a565b9050919050565b600060208201905081810360008301526155af81614fd0565b9050919050565b600060208201905081810360008301526155cf81615010565b9050919050565b600060208201905081810360008301526155ef81615050565b9050919050565b6000602082019050818103600083015261560f81615090565b9050919050565b600060208201905061562b60008301846150d0565b92915050565b600060208201905061564660008301846150df565b92915050565b600060408201905061566160008301856150d0565b61566e60208301846150d0565b9392505050565b600060208201905061568a60008301846150fd565b92915050565b60006080820190506156a560008301876150fd565b6156b260208301866150fd565b6156bf60408301856150fd565b6156cc60608301846150fd565b95945050505050565b6000604051905081810181811067ffffffffffffffff821117156156fc576156fb615c51565b5b8060405250919050565b600067ffffffffffffffff82111561572157615720615c51565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561574d5761574c615c51565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561577957615778615c51565b5b602082029050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600061589282615a66565b915061589d83615a66565b9250817f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038313600083121516156158d8576158d7615bc4565b5b817f80000000000000000000000000000000000000000000000000000000000000000383126000831216156159105761590f615bc4565b5b828201905092915050565b600061592682615a9e565b915061593183615a9e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561596657615965615bc4565b5b828201905092915050565b600061597c82615a9e565b915061598783615a9e565b92508261599757615996615bf3565b5b828204905092915050565b60006159ad82615a70565b91506159b883615a70565b9250828210156159cb576159ca615bc4565b5b828203905092915050565b60006159e182615a9e565b91506159ec83615a9e565b9250828210156159ff576159fe615bc4565b5b828203905092915050565b6000615a1582615a7e565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000615a5f82615a0a565b9050919050565b6000819050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000615ab382615a70565b9050919050565b60005b83811015615ad8578082015181840152602081019050615abd565b83811115615ae7576000848401525b50505050565b60006002820490506001821680615b0557607f821691505b60208210811415615b1957615b18615c22565b5b50919050565b6000615b2a82615a70565b915061ffff821415615b3f57615b3e615bc4565b5b600182019050919050565b6000615b5582615a9e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415615b8857615b87615bc4565b5b600182019050919050565b6000615b9e82615a9e565b9150615ba983615a9e565b925082615bb957615bb8615bf3565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b615c9a81615a0a565b8114615ca557600080fd5b50565b615cb181615a1c565b8114615cbc57600080fd5b50565b615cc881615a28565b8114615cd357600080fd5b50565b615cdf81615a54565b8114615cea57600080fd5b50565b615cf681615a70565b8114615d0157600080fd5b50565b615d0d81615a9e565b8114615d1857600080fd5b5056fea264697066735822122048e53047ec19f144b82fc0f1bb0fe4825f5e9c2c964d0b2d17da6a748fe88c2964736f6c6343000800003368747470733a2f2f636c69656e742d6d657461646174612e65746865722e63617264732f6170692f616f6b692f4272696467654f76657254726f75626c656457617465722f00000000000000000000000001ba93514e5eb642ec63e95ef7787b0edd403add00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000053