14 txs
15 calls
constructor
constructor(address _stakingToken, address _rewardsToken, address _owner)
functions
accRewardPerWeight
viewfunction accRewardPerWeight() view returns (uint256)
getAllPosition
viewfunction getAllPosition(address user) view returns (tuple[])
getPosition
viewfunction getPosition(address user, uint256 pid) view returns (tuple)
lastUpdate
viewfunction lastUpdate() view returns (uint256)
lockDurations
viewfunction lockDurations(uint256) view returns (uint256)
lockMultipliers
viewfunction lockMultipliers(uint256) view returns (uint256)
ONE
viewfunction ONE() view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingAllRewards
viewfunction pendingAllRewards(address user) view returns (uint256 total)
pendingUnlockedRewards
viewfunction pendingUnlockedRewards(address user) view returns (uint256 total)
positions
viewfunction positions(address, uint256) view returns (uint256 stakeTime, uint256 amount, uint256 weight, uint256 lockEnd, uint256 rewardDebt)
rewardRate
viewfunction rewardRate() view returns (uint256)
rewardsRemaining
viewfunction rewardsRemaining() view returns (uint256)
rewardsToken
viewfunction rewardsToken() view returns (address)
stakingToken
viewfunction stakingToken() view returns (address)
totalWeight
viewfunction totalWeight() view returns (uint256)
claim
nonpayablefunction claim()
fund
nonpayablefunction fund(uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
setLockOptions
nonpayablefunction setLockOptions(uint256[] durations, uint256[] multipliers)
setRewardRate
nonpayablefunction setRewardRate(uint256 newRate)
stake
nonpayablefunction stake(uint256 amount, uint8 lockIndex)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(uint256 pid, uint256 amount)
events
Emitted
event Emitted(uint256 amount, uint256 newAccRewardPerWeight, uint256 rewardsRemaining)
Funded
event Funded(address indexed from, uint256 amount)
LockOptionsUpdated
event LockOptionsUpdated(uint256[] durations, uint256[] multipliers)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RewardClaimed
event RewardClaimed(address indexed user, uint256 amount)
RewardRateUpdated
event RewardRateUpdated(uint256 oldRate, uint256 newRate)
Staked
event Staked(address indexed user, uint256 indexed pid, uint256 amount, uint8 lockIndex, uint256 multiplier, uint256 lockEnd)
Withdrawn
event Withdrawn(address indexed user, uint256 indexed pid, uint256 amount)
errors
No errors.
creation bytecode
0x60c06040523480156200001157600080fd5b50604051620038a0380380620038a083398181016040528101906200003791906200040b565b620000576200004b620002d560201b60201c565b620002dd60201b60201c565b60018081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015620000c95750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6200010b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200010290620004c8565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200018481620002dd60201b60201c565b42600581905550600262093a809080600181540180825580915050600190039060005260206000200160009091909190915055600262127500908060018154018082558091505060019003906000526020600020016000909190919091505560026224ea0090806001815401808255809150506001900390600052602060002001600090919091909150556003670de0b6b3a764000090806001815401808255809150506001900390600052602060002001600090919091909150556003600a670de0b6b3a7640000600f6200025b919062000523565b6200026791906200059d565b90806001815401808255809150506001900390600052602060002001600090919091909150556003670de0b6b3a76400006002620002a6919062000523565b9080600181540180825580915050600190039060005260206000200160009091909190915055505050620005d5565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003d382620003a6565b9050919050565b620003e581620003c6565b8114620003f157600080fd5b50565b6000815190506200040581620003da565b92915050565b600080600060608486031215620004275762000426620003a1565b5b60006200043786828701620003f4565b93505060206200044a86828701620003f4565b92505060406200045d86828701620003f4565b9150509250925092565b600082825260208201905092915050565b7f7a65726f20616464720000000000000000000000000000000000000000000000600082015250565b6000620004b060098362000467565b9150620004bd8262000478565b602082019050919050565b60006020820190508181036000830152620004e381620004a1565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200053082620004ea565b91506200053d83620004ea565b92508282026200054d81620004ea565b91508282048414831517620005675762000566620004f4565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620005aa82620004ea565b9150620005b783620004ea565b925082620005ca57620005c96200056e565b5b828204905092915050565b60805160a0516132826200061e60003960008181610a6201528181610d9e01528181611189015261124201526000818161069b01528181610bb20152610e5501526132826000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806396c82e57116100c3578063c2ee3a081161007c578063c2ee3a08146103bb578063ca1d209d146103d9578063d1af0c7d146103f5578063dd6b21be14610413578063e99dbe2514610443578063f2fde38b1461045f57610158565b806396c82e57146102e15780639e447fc6146102ff578063aa6bb09a1461031b578063c046371114610339578063c087297614610357578063c1be66771461038757610158565b8063715018a611610115578063715018a61461022f57806372f702f31461023957806378c196f3146102575780637b0a47ee146102755780638da5cb5b146102935780638e09136f146102b157610158565b806310087fb11461015d57806332298be11461017957806332677ee0146101a95780633adbb5af146101d9578063441a3e70146102095780634e71d92d14610225575b600080fd5b610177600480360381019061017291906120b2565b61047b565b005b610193600480360381019061018e91906120f2565b610793565b6040516101a0919061212e565b60405180910390f35b6101c360048036038101906101be91906121a7565b6107b7565b6040516101d0919061212e565b60405180910390f35b6101f360048036038101906101ee91906121d4565b6108b6565b604051610200919061228b565b60405180910390f35b610223600480360381019061021e91906122a6565b610962565b005b61022d610c54565b005b610237610e3f565b005b610241610e53565b60405161024e9190612345565b60405180910390f35b61025f610e77565b60405161026c919061212e565b60405180910390f35b61027d610e7d565b60405161028a919061212e565b60405180910390f35b61029b610e83565b6040516102a8919061236f565b60405180910390f35b6102cb60048036038101906102c691906121a7565b610eac565b6040516102d8919061212e565b60405180910390f35b6102e9610f98565b6040516102f6919061212e565b60405180910390f35b610319600480360381019061031491906120f2565b610f9e565b005b610323610ff3565b604051610330919061212e565b60405180910390f35b610341610ff9565b60405161034e919061212e565b60405180910390f35b610371600480360381019061036c91906121a7565b610fff565b60405161037e91906124a1565b60405180910390f35b6103a1600480360381019061039c91906121d4565b6110cf565b6040516103b29594939291906124c3565b60405180910390f35b6103c3611122565b6040516103d0919061212e565b60405180910390f35b6103f360048036038101906103ee91906120f2565b61112e565b005b6103fd611240565b60405161040a9190612345565b60405180910390f35b61042d600480360381019061042891906120f2565b611264565b60405161043a919061212e565b60405180910390f35b61045d6004803603810190610458919061257b565b611288565b005b610479600480360381019061047491906121a7565b6114e3565b005b610483611566565b600082116104c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104bd90612659565b60405180910390fd5b6002805490508160ff1610610510576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610507906126c5565b60405180910390fd5b6105186115b5565b600060038260ff1681548110610531576105306126e5565b5b906000526020600020015490506000670de0b6b3a764000082856105559190612743565b61055f91906127b4565b9050600060028460ff168154811061057a576105796126e5565b5b90600052602060002001544261059091906127e5565b90506000670de0b6b3a7640000600654846105ab9190612743565b6105b591906127b4565b9050600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a0016040528042815260200188815260200185815260200184815260200183815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401555050826007600082825461068c91906127e5565b925050819055506106e03330887f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166116c4909392919063ffffffff16565b6001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061072f9190612819565b3373ffffffffffffffffffffffffffffffffffffffff167fec37e074d2760ee9315a4546980478b4963706b90e6185818e9bf2b4e0d8db9a8888888760405161077b949392919061285c565b60405180910390a35050505061078f61174d565b5050565b600281815481106107a357600080fd5b906000526020600020016000915090505481565b6000806107c2611756565b5090506000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008180549050905060005b818110156108ad576000838281548110610831576108306126e5565b5b906000526020600020906005020190508060030154421015610853575061089a565b60008160040154670de0b6b3a76400008784600201546108739190612743565b61087d91906127b4565b6108879190612819565b9050808761089591906127e5565b965050505b80806108a5906128a1565b915050610814565b50505050919050565b6108be611fcc565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061090f5761090e6126e5565b5b90600052602060002090600502016040518060a001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905092915050565b61096a611566565b6109726115b5565b600061097e3384611813565b905080600301544210156109c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109be90612935565b60405180910390fd5b6000821180156109db575080600101548211155b610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a11906129a1565b60405180910390fd5b60008160040154670de0b6b3a76400006006548460020154610a3c9190612743565b610a4691906127b4565b610a509190612819565b90506000811115610af557610aa633827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166119009092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f106f923f993c2149d49b4255ff723acafa1f2d94393f561d3eda32ae348f724182604051610aec919061212e565b60405180910390a25b60008260010154848460020154610b0c9190612743565b610b1691906127b4565b90508060076000828254610b2a9190612819565b9250508190555083836001016000828254610b459190612819565b9250508190555080836002016000828254610b609190612819565b92505081905550670de0b6b3a76400006006548460020154610b829190612743565b610b8c91906127b4565b83600401819055506000836001015403610bab57610baa3386611986565b5b610bf633857f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166119009092919063ffffffff16565b843373ffffffffffffffffffffffffffffffffffffffff167f92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc686604051610c3d919061212e565b60405180910390a3505050610c5061174d565b5050565b610c5c611566565b610c646115b5565b6000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006006549050600082805490509050600080600090505b82811015610d8d576000858281548110610cdc57610cdb6126e5565b5b906000526020600020906005020190508060030154421015610cfe5750610d7a565b60008160040154670de0b6b3a7640000878460020154610d1e9190612743565b610d2891906127b4565b610d329190612819565b90506000811115610d77578084610d4991906127e5565b9350670de0b6b3a7640000868360020154610d649190612743565b610d6e91906127b4565b82600401819055505b50505b8080610d85906128a1565b915050610cbf565b506000811115610e3157610de233827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166119009092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f106f923f993c2149d49b4255ff723acafa1f2d94393f561d3eda32ae348f724182604051610e28919061212e565b60405180910390a25b50505050610e3d61174d565b565b610e47611bed565b610e516000611c6b565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b60085481565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080610eb7611756565b5090506000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008180549050905060005b81811015610f8f576000838281548110610f2657610f256126e5565b5b9060005260206000209060050201905060008160040154670de0b6b3a7640000878460020154610f569190612743565b610f6091906127b4565b610f6a9190612819565b90508087610f7891906127e5565b965050508080610f87906128a1565b915050610f09565b50505050919050565b60075481565b610fa6611bed565b610fae6115b5565b806004819055507fc390a98ace15a7bb6bab611eedfdbb2685043b241a869420043cdfb23ccfee5060045482604051610fe89291906129c1565b60405180910390a150565b60065481565b60055481565b6060600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156110c457838290600052602060002090600502016040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505081526020019060010190611060565b505050509050919050565b600960205281600052604060002081815481106110eb57600080fd5b9060005260206000209060050201600091509150508060000154908060010154908060020154908060030154908060040154905085565b670de0b6b3a764000081565b611136611566565b61113e611bed565b60008111611181576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117890612659565b60405180910390fd5b6111ce3330837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166116c4909392919063ffffffff16565b80600860008282546111e091906127e5565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f5af8184bef8e4b45eb9f6ed7734d04da38ced226495548f46e0c8ff8d7d9a5248260405161122d919061212e565b60405180910390a261123d61174d565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b6003818154811061127457600080fd5b906000526020600020016000915090505481565b611290611bed565b8181905084849050146112d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cf90612a36565b60405180910390fd5b6000848490501161131e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131590612aa2565b60405180910390fd5b6002600061132c9190611ffb565b6003600061133a9190611ffb565b60005b8484905081101561149f57600085858381811061135d5761135c6126e5565b5b90506020020135116113a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139b90612b0e565b60405180910390fd5b67016345785d8a00008383838181106113c0576113bf6126e5565b5b905060200201351015611408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ff90612b7a565b60405180910390fd5b600285858381811061141d5761141c6126e5565b5b905060200201359080600181540180825580915050600190039060005260206000200160009091909190915055600383838381811061145f5761145e6126e5565b5b9050602002013590806001815401808255809150506001900390600052602060002001600090919091909150558080611497906128a1565b91505061133d565b507fee5a41418ab0e1262f53b94fb2212f95c792c9df33c331ed98fa18f3f073cbd0848484846040516114d59493929190612c15565b60405180910390a150505050565b6114eb611bed565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155190612cc2565b60405180910390fd5b61156381611c6b565b50565b6002600154036115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a290612d2e565b60405180910390fd5b6002600181905550565b600042905060055481116115c957506116c2565b6000600554826115d99190612819565b905081600581905550600060045414806115f557506000600754145b156116015750506116c2565b6000600454826116119190612743565b90506008548111156116235760085490505b60008111156116be57806008600082825461163e9190612819565b92505081905550600754670de0b6b3a76400008261165c9190612743565b61166691906127b4565b6006600082825461167791906127e5565b925050819055507f57d37dc0e6f105604a8f5ab9fc05784e12ec1d32425f4c193295aada27b568cd816006546008546040516116b593929190612d4e565b60405180910390a15b5050505b565b611747846323b872dd60e01b8585856040516024016116e593929190612d85565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611d2f565b50505050565b60018081905550565b6000806006549150600854905060004290506005548111611777575061180f565b6000600454148061178a57506000600754145b15611795575061180f565b6000600554826117a59190612819565b90506000600454826117b79190612743565b9050838111156117c5578390505b600081111561180b5780846117da9190612819565b9350600754670de0b6b3a7640000826117f39190612743565b6117fd91906127b4565b8561180891906127e5565b94505b5050505b9091565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508210611899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189090612e08565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106118ea576118e96126e5565b5b9060005260206000209060050201905092915050565b6119818363a9059cbb60e01b848460405160240161191f929190612e28565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611d2f565b505050565b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110611a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0190612e9d565b60405180910390fd5b60006001600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611a5b9190612819565b9050808214611b5857600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110611ab557611ab46126e5565b5b9060005260206000209060050201600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110611b1457611b136126e5565b5b906000526020600020906005020160008201548160000155600182015481600101556002820154816002015560038201548160030155600482015481600401559050505b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480611ba757611ba6612ebd565b5b6001900381819060005260206000209060050201600080820160009055600182016000905560028201600090556003820160009055600482016000905550509055505050565b611bf5611df7565b73ffffffffffffffffffffffffffffffffffffffff16611c13610e83565b73ffffffffffffffffffffffffffffffffffffffff1614611c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6090612f38565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611d91826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611dff9092919063ffffffff16565b9050600081511480611db3575080806020019051810190611db29190612f90565b5b611df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de99061302f565b60405180910390fd5b505050565b600033905090565b6060611e0e8484600085611e17565b90509392505050565b606082471015611e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e53906130c1565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611e859190613152565b60006040518083038185875af1925050503d8060008114611ec2576040519150601f19603f3d011682016040523d82523d6000602084013e611ec7565b606091505b5091509150611ed887838387611ee4565b92505050949350505050565b60608315611f46576000835103611f3e57611efe85611f59565b611f3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f34906131b5565b60405180910390fd5b5b829050611f51565b611f508383611f7c565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611f8f5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc3919061322a565b60405180910390fd5b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b5080546000825590600052602060002090810190612019919061201c565b50565b5b8082111561203557600081600090555060010161201d565b5090565b600080fd5b600080fd5b6000819050919050565b61205681612043565b811461206157600080fd5b50565b6000813590506120738161204d565b92915050565b600060ff82169050919050565b61208f81612079565b811461209a57600080fd5b50565b6000813590506120ac81612086565b92915050565b600080604083850312156120c9576120c8612039565b5b60006120d785828601612064565b92505060206120e88582860161209d565b9150509250929050565b60006020828403121561210857612107612039565b5b600061211684828501612064565b91505092915050565b61212881612043565b82525050565b6000602082019050612143600083018461211f565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061217482612149565b9050919050565b61218481612169565b811461218f57600080fd5b50565b6000813590506121a18161217b565b92915050565b6000602082840312156121bd576121bc612039565b5b60006121cb84828501612192565b91505092915050565b600080604083850312156121eb576121ea612039565b5b60006121f985828601612192565b925050602061220a85828601612064565b9150509250929050565b61221d81612043565b82525050565b60a0820160008201516122396000850182612214565b50602082015161224c6020850182612214565b50604082015161225f6040850182612214565b5060608201516122726060850182612214565b5060808201516122856080850182612214565b50505050565b600060a0820190506122a06000830184612223565b92915050565b600080604083850312156122bd576122bc612039565b5b60006122cb85828601612064565b92505060206122dc85828601612064565b9150509250929050565b6000819050919050565b600061230b61230661230184612149565b6122e6565b612149565b9050919050565b600061231d826122f0565b9050919050565b600061232f82612312565b9050919050565b61233f81612324565b82525050565b600060208201905061235a6000830184612336565b92915050565b61236981612169565b82525050565b60006020820190506123846000830184612360565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b60a0820160008201516123cc6000850182612214565b5060208201516123df6020850182612214565b5060408201516123f26040850182612214565b5060608201516124056060850182612214565b5060808201516124186080850182612214565b50505050565b600061242a83836123b6565b60a08301905092915050565b6000602082019050919050565b600061244e8261238a565b6124588185612395565b9350612463836123a6565b8060005b8381101561249457815161247b888261241e565b975061248683612436565b925050600181019050612467565b5085935050505092915050565b600060208201905081810360008301526124bb8184612443565b905092915050565b600060a0820190506124d8600083018861211f565b6124e5602083018761211f565b6124f2604083018661211f565b6124ff606083018561211f565b61250c608083018461211f565b9695505050505050565b600080fd5b600080fd5b600080fd5b60008083601f84011261253b5761253a612516565b5b8235905067ffffffffffffffff8111156125585761255761251b565b5b60208301915083602082028301111561257457612573612520565b5b9250929050565b6000806000806040858703121561259557612594612039565b5b600085013567ffffffffffffffff8111156125b3576125b261203e565b5b6125bf87828801612525565b9450945050602085013567ffffffffffffffff8111156125e2576125e161203e565b5b6125ee87828801612525565b925092505092959194509250565b600082825260208201905092915050565b7f616d6f756e743d30000000000000000000000000000000000000000000000000600082015250565b60006126436008836125fc565b915061264e8261260d565b602082019050919050565b6000602082019050818103600083015261267281612636565b9050919050565b7f626164206c6f636b496e64657800000000000000000000000000000000000000600082015250565b60006126af600d836125fc565b91506126ba82612679565b602082019050919050565b600060208201905081810360008301526126de816126a2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061274e82612043565b915061275983612043565b925082820261276781612043565b9150828204841483151761277e5761277d612714565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006127bf82612043565b91506127ca83612043565b9250826127da576127d9612785565b5b828204905092915050565b60006127f082612043565b91506127fb83612043565b925082820190508082111561281357612812612714565b5b92915050565b600061282482612043565b915061282f83612043565b925082820390508181111561284757612846612714565b5b92915050565b61285681612079565b82525050565b6000608082019050612871600083018761211f565b61287e602083018661284d565b61288b604083018561211f565b612898606083018461211f565b95945050505050565b60006128ac82612043565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128de576128dd612714565b5b600182019050919050565b7f7374696c6c206c6f636b65640000000000000000000000000000000000000000600082015250565b600061291f600c836125fc565b915061292a826128e9565b602082019050919050565b6000602082019050818103600083015261294e81612912565b9050919050565b7f696e76616c696420616d6f756e74000000000000000000000000000000000000600082015250565b600061298b600e836125fc565b915061299682612955565b602082019050919050565b600060208201905081810360008301526129ba8161297e565b9050919050565b60006040820190506129d6600083018561211f565b6129e3602083018461211f565b9392505050565b7f6c656e206d69736d617463680000000000000000000000000000000000000000600082015250565b6000612a20600c836125fc565b9150612a2b826129ea565b602082019050919050565b60006020820190508181036000830152612a4f81612a13565b9050919050565b7f656d707479000000000000000000000000000000000000000000000000000000600082015250565b6000612a8c6005836125fc565b9150612a9782612a56565b602082019050919050565b60006020820190508181036000830152612abb81612a7f565b9050919050565b7f6475726174696f6e3d3000000000000000000000000000000000000000000000600082015250565b6000612af8600a836125fc565b9150612b0382612ac2565b602082019050919050565b60006020820190508181036000830152612b2781612aeb565b9050919050565b7f746f6f20736d616c6c0000000000000000000000000000000000000000000000600082015250565b6000612b646009836125fc565b9150612b6f82612b2e565b602082019050919050565b60006020820190508181036000830152612b9381612b57565b9050919050565b600082825260208201905092915050565b600080fd5b82818337505050565b6000612bc58385612b9a565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115612bf857612bf7612bab565b5b602083029250612c09838584612bb0565b82840190509392505050565b60006040820190508181036000830152612c30818688612bb9565b90508181036020830152612c45818486612bb9565b905095945050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612cac6026836125fc565b9150612cb782612c50565b604082019050919050565b60006020820190508181036000830152612cdb81612c9f565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000612d18601f836125fc565b9150612d2382612ce2565b602082019050919050565b60006020820190508181036000830152612d4781612d0b565b9050919050565b6000606082019050612d63600083018661211f565b612d70602083018561211f565b612d7d604083018461211f565b949350505050565b6000606082019050612d9a6000830186612360565b612da76020830185612360565b612db4604083018461211f565b949350505050565b7f6261642070696400000000000000000000000000000000000000000000000000600082015250565b6000612df26007836125fc565b9150612dfd82612dbc565b602082019050919050565b60006020820190508181036000830152612e2181612de5565b9050919050565b6000604082019050612e3d6000830185612360565b612e4a602083018461211f565b9392505050565b7f496e76616c696420696e64657800000000000000000000000000000000000000600082015250565b6000612e87600d836125fc565b9150612e9282612e51565b602082019050919050565b60006020820190508181036000830152612eb681612e7a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612f226020836125fc565b9150612f2d82612eec565b602082019050919050565b60006020820190508181036000830152612f5181612f15565b9050919050565b60008115159050919050565b612f6d81612f58565b8114612f7857600080fd5b50565b600081519050612f8a81612f64565b92915050565b600060208284031215612fa657612fa5612039565b5b6000612fb484828501612f7b565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000613019602a836125fc565b915061302482612fbd565b604082019050919050565b600060208201905081810360008301526130488161300c565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006130ab6026836125fc565b91506130b68261304f565b604082019050919050565b600060208201905081810360008301526130da8161309e565b9050919050565b600081519050919050565b600081905092915050565b60005b838110156131155780820151818401526020810190506130fa565b60008484015250505050565b600061312c826130e1565b61313681856130ec565b93506131468185602086016130f7565b80840191505092915050565b600061315e8284613121565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b600061319f601d836125fc565b91506131aa82613169565b602082019050919050565b600060208201905081810360008301526131ce81613192565b9050919050565b600081519050919050565b6000601f19601f8301169050919050565b60006131fc826131d5565b61320681856125fc565b93506132168185602086016130f7565b61321f816131e0565b840191505092915050565b6000602082019050818103600083015261324481846131f1565b90509291505056fea2646970667358221220aa5a5992c72961e0ac696eff18a554fd67c9ce2ff1b0f8f93d0b8f2cde7eaf0c64736f6c63430008110033000000000000000000000000ff8fa3d7309180427a5754fd8c3f75a047fd0c5d000000000000000000000000ff8fa3d7309180427a5754fd8c3f75a047fd0c5d0000000000000000000000003c5d643ac0e478c550e717b783b7f6200a8e25a7