72 txs
302 calls
constructor
constructor(address tokenAddr_, string name_, string symbol_)
functions
balanceOf
viewfunction balanceOf(address addr_, uint256 t_) view returns (uint256)
balanceOf
viewfunction balanceOf(address addr_) view returns (uint256)
balanceOfAt
viewfunction balanceOfAt(address addr_, uint256 block_) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
depositForAllAllowed
viewfunction depositForAllAllowed(address) view returns (bool)
depositForAllowed
viewfunction depositForAllowed(address, address) view returns (bool)
epoch
viewfunction epoch() view returns (uint256)
getLastUserSlope
viewfunction getLastUserSlope(address addr_) view returns (int128)
locked
viewfunction locked(address) view returns (int128 amount, uint256 end)
lockedEnd
viewfunction lockedEnd(address addr_) view returns (uint256)
MAXTIME
viewfunction MAXTIME() view returns (uint256)
MULTIPLIER
viewfunction MULTIPLIER() view returns (uint256)
name
viewfunction name() view returns (string)
pointHistory
viewfunction pointHistory(uint256) view returns (int128 bias, int128 slope, uint256 ts, uint256 blk)
slopeChanges
viewfunction slopeChanges(uint256) view returns (int128)
supply
viewfunction supply() view returns (uint256)
symbol
viewfunction symbol() view returns (string)
token
viewfunction token() view returns (address)
totalSupply
viewfunction totalSupply() view returns (uint256)
totalSupply
viewfunction totalSupply(uint256 t_) view returns (uint256)
totalSupplyAt
viewfunction totalSupplyAt(uint256 block_) view returns (uint256)
userPointEpoch
viewfunction userPointEpoch(address) view returns (uint256)
userPointHistory
viewfunction userPointHistory(address, uint256) view returns (int128 bias, int128 slope, uint256 ts, uint256 blk)
userPointHistoryTs
viewfunction userPointHistoryTs(address addr_, uint256 idx_) view returns (uint256)
WEEK
viewfunction WEEK() view returns (uint256)
checkpoint
nonpayablefunction checkpoint()
createLock
nonpayablefunction createLock(uint256 value_, uint256 unlockTime_)
depositFor
nonpayablefunction depositFor(address addr_, uint256 value_)
increaseAmount
nonpayablefunction increaseAmount(uint256 value_)
increaseUnlockTime
nonpayablefunction increaseUnlockTime(uint256 unlockTime_)
toggleDepositForAllApproval
nonpayablefunction toggleDepositForAllApproval()
toggleDepositForApproval
nonpayablefunction toggleDepositForApproval(address depositor_)
withdraw
nonpayablefunction withdraw()
events
Deposit
event Deposit(address indexed provider, uint256 value, uint256 indexed locktime, uint128 _type, uint256 ts)
Supply
event Supply(uint256 prevSupply, uint256 supply)
Withdraw
event Withdraw(address indexed provider, uint256 value, uint256 ts)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162002fc438038062002fc4833981016040819052620000349162000205565b6001600081815581546001600160a01b0319166001600160a01b038616908117909255805260056020908152437f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746be55427f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bd556040805163313ce56760e01b8152905163313ce567926004808401939192918290030181865afa158015620000df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010591906200028f565b600d805460ff191660ff92909216919091179055600b6200012783826200034a565b50600c6200013682826200034a565b5050505062000416565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200016857600080fd5b81516001600160401b038082111562000185576200018562000140565b604051601f8301601f19908116603f01168101908282118183101715620001b057620001b062000140565b81604052838152602092508683858801011115620001cd57600080fd5b600091505b83821015620001f15785820183015181830184015290820190620001d2565b600093810190920192909252949350505050565b6000806000606084860312156200021b57600080fd5b83516001600160a01b03811681146200023357600080fd5b60208501519093506001600160401b03808211156200025157600080fd5b6200025f8783880162000156565b935060408601519150808211156200027657600080fd5b50620002858682870162000156565b9150509250925092565b600060208284031215620002a257600080fd5b815160ff81168114620002b457600080fd5b9392505050565b600181811c90821680620002d057607f821691505b602082108103620002f157634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034557600081815260208120601f850160051c81016020861015620003205750805b601f850160051c820191505b8181101562000341578281556001016200032c565b5050505b505050565b81516001600160401b0381111562000366576200036662000140565b6200037e81620003778454620002bb565b84620002f7565b602080601f831160018114620003b657600084156200039d5750858301515b600019600386901b1c1916600185901b17855562000341565b600085815260208120601f198616915b82811015620003e757888601518255948401946001909101908401620003c6565b5085821015620004065787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b612b9e80620004266000396000f3fe608060405234801561001057600080fd5b50600436106102095760003560e01c80637c616fe61161012a578063c2c4c5c1116100bd578063ee00ef3a1161008c578063f4359ce511610071578063f4359ce514610681578063f52a36f71461068b578063fc0c546a146106ae57600080fd5b8063ee00ef3a14610603578063f3a6d6081461060e57600080fd5b8063c2c4c5c11461052b578063cbf9fe5f14610533578063d98eaf831461057b578063eac6a667146105bd57600080fd5b806395d89b41116100f957806395d89b41146104ea578063981b24d0146104f2578063b52c05fe14610505578063bd85b0391461051857600080fd5b80637c616fe61461046357806381fc83bb146104765780638ad4c44714610496578063900cf0cf146104e157600080fd5b80632eef5f83116101a25780633ccfd60b116101715780633ccfd60b146103fc5780634deafcae146104045780634ee2cd7e1461043d57806370a082311461045057600080fd5b80632eef5f83146102df5780632f4f21e21461034c578063313ce5671461035f57806334d901a41461037e57600080fd5b806306fdde03116101de57806306fdde031461027f57806315456eba14610294578063154cc69e146102a957806318160ddd146102d757600080fd5b8062e491de1461020e578062fdd58e14610246578063047fc9aa14610267578063059f8b1614610270575b600080fd5b61023161021c3660046127c0565b600a6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6102596102543660046127e2565b6106f3565b60405190815260200161023d565b61025960025481565b610259670de0b6b3a764000081565b6102876107f7565b60405161023d919061280c565b6102a76102a2366004612878565b610885565b005b6102316102b7366004612891565b600960209081526000928352604080842090915290825290205460ff1681565b6102596109f5565b6102a76102ed3660046127c0565b73ffffffffffffffffffffffffffffffffffffffff1660009081526009602090815260408083203384529091529020805460ff8116157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116179055565b6102a761035a3660046127e2565b610a61565b600d5461036c9060ff1681565b60405160ff909116815260200161023d565b6103d461038c3660046127e2565b6006602090815260009283526040808420909152908252902080546001820154600290920154600f82810b93700100000000000000000000000000000000909304900b919084565b60408051600f95860b81529390940b602084015292820152606081019190915260800161023d565b6102a7610cfb565b6102596104123660046127c0565b73ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090206001015490565b61025961044b3660046127e2565b610fb2565b61025961045e3660046127c0565b6112e0565b6102a7610471366004612878565b6113df565b6102596104843660046127c0565b60076020526000908152604090205481565b6103d46104a4366004612878565b600560205260009081526040902080546001820154600290920154600f82810b93700100000000000000000000000000000000909304900b919084565b61025960045481565b61028761158c565b610259610500366004612878565b611599565b6102a76105133660046128c4565b6117af565b610259610526366004612878565b611989565b6102a76119f6565b6105616105413660046127c0565b60036020526000908152604090208054600190910154600f9190910b9082565b60408051600f9390930b835260208301919091520161023d565b6102a7336000908152600a6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00811660ff90911615179055565b6102596105cb3660046127e2565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152600660209081526040808320938352929052206001015490565b610259630784ce0081565b61066e61061c3660046127c0565b73ffffffffffffffffffffffffffffffffffffffff16600090815260076020908152604080832054600683528184209084529091529020547001000000000000000000000000000000009004600f0b90565b604051600f9190910b815260200161023d565b61025962093a8081565b61066e610699366004612878565b600860205260009081526040902054600f0b81565b6001546106ce9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161023d565b73ffffffffffffffffffffffffffffffffffffffff821660009081526007602052604081205480820361072a5760009150506107f1565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260066020908152604080832084845282529182902082516080810184528154600f81810b8352700100000000000000000000000000000000909104900b928101929092526001810154928201839052600201546060820152906107a99085612915565b81602001516107b89190612935565b815182906107c7908390612955565b600f90810b90915282516000910b121590506107e257600081525b51600f0b91506107f19050565b505b92915050565b600b8054610804906129a3565b80601f0160208091040260200160405190810160405280929190818152602001828054610830906129a3565b801561087d5780601f106108525761010080835404028352916020019161087d565b820191906000526020600020905b81548152906001019060200180831161086057829003601f168201915b505050505081565b61088d611a2a565b3360009081526003602090815260409182902082518084019093528054600f0b83526001015490820152816109095760405162461bcd60e51b815260206004820152601360248201527f4e656564206e6f6e2d7a65726f2076616c75650000000000000000000000000060448201526064015b60405180910390fd5b60008160000151600f0b136109605760405162461bcd60e51b815260206004820152601660248201527f4e6f206578697374696e67206c6f636b20666f756e64000000000000000000006044820152606401610900565b428160200151116109d85760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f742061646420746f2065787069726564206c6f636b2e205769746860448201527f64726177000000000000000000000000000000000000000000000000000000006064820152608401610900565b6109e733836000846002611a83565b506109f26001600055565b50565b600454600081815260056020908152604080832081516080810183528154600f81810b8352700100000000000000000000000000000000909104900b93810193909352600181015491830191909152600201546060820152909190610a5a8142611d2b565b9250505090565b610a69611a2a565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600a602052604090205460ff1680610acd575033600090815260096020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff165b610b3f5760405162461bcd60e51b815260206004820152602760248201527f4e6f7420616c6c6f77656420746f206465706f73697420666f7220746869732060448201527f61646472657373000000000000000000000000000000000000000000000000006064820152608401610900565b73ffffffffffffffffffffffffffffffffffffffff821660009081526003602090815260409182902082518084019093528054600f0b8352600101549082015281610bcc5760405162461bcd60e51b815260206004820152601360248201527f4e656564206e6f6e2d7a65726f2076616c7565000000000000000000000000006044820152606401610900565b60008160000151600f0b13610c235760405162461bcd60e51b815260206004820152601660248201527f4e6f206578697374696e67206c6f636b20666f756e64000000000000000000006044820152606401610900565b42816020015111610c9b5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f742061646420746f2065787069726564206c6f636b2e205769746860448201527f64726177000000000000000000000000000000000000000000000000000000006064820152608401610900565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260036020908152604080832081518083019092528054600f0b82526001015491810191909152610cec91859185919081611a83565b50610cf76001600055565b5050565b610d03611a2a565b604080518082018252336000818152600360208181529482208054600f0b85529290915283526001015491810182905290421015610d835760405162461bcd60e51b815260206004820152601660248201527f546865206c6f636b206469646e277420657870697265000000000000000000006044820152606401610900565b8051604080518082018252336000818152600360208181528583208054600f81810b8852868652848452600183018054858a0152848c01878152878d528a51808c01909b528c51830b8b52518a8601908152979096529390925295516fffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090911617909455905190556002549290910b91610e2f83826129f0565b600255610e3d338386611e19565b6001546040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810185905273ffffffffffffffffffffffffffffffffffffffff9091169063a9059cbb906044016020604051808303816000875af1158015610eb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed89190612a03565b610f245760405162461bcd60e51b815260206004820152600f60248201527f5472616e73666572206661696c656400000000000000000000000000000000006044820152606401610900565b6040805184815242602082015233917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568910160405180910390a27f5e2aa66efd74cce82b21852e317e5490d9ecc9e6bb953ae24d90851258cc2f5c81610f8a85826129f0565b6040805192835260208301919091520160405180910390a150505050610fb06001600055565b565b6000438211156110045760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74206c6f6f6b2075702066757475726520626c6f636b00000000006044820152606401610900565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260076020526040812054815b608081101561109957818310156110995773ffffffffffffffffffffffffffffffffffffffff8616600090815260066020908152604080832060028688016001018190048086529190935292200154861061108957809350611090565b6001810392505b5060010161102c565b5073ffffffffffffffffffffffffffffffffffffffff85166000908152600660209081526040808320858452825280832081516080810183528154600f81810b8352700100000000000000000000000000000000909104900b93810193909352600181015491830191909152600201546060820152600454909161111d8783612625565b600081815260056020908152604080832081516080810183528154600f81810b8352700100000000000000000000000000000000909104900b93810193909352600181015491830191909152600201546060820152919250808484101561121657600060058161118e876001612a54565b8152602080820192909252604090810160002081516080810183528154600f81810b8352700100000000000000000000000000000000909104900b938101939093526001810154918301919091526002015460608083018290528601519192506111f891906129f0565b92508360400151816040015161120e91906129f0565b91505061123a565b606083015161122590436129f0565b915082604001514261123791906129f0565b90505b60408301518215611277578284606001518c61125691906129f0565b6112609084612a67565b61126a9190612a7e565b6112749082612a54565b90505b60408701516112869082612915565b87602001516112959190612935565b875188906112a4908390612955565b600f90810b90915288516000910b1290506112ce5750509351600f0b96506107f195505050505050565b600099505050505050505050506107f1565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760205260408120548082036113165750600092915050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260066020908152604080832084845282529182902082516080810184528154600f81810b8352700100000000000000000000000000000000909104900b928101929092526001810154928201839052600201546060820152906113959042612915565b81602001516113a49190612935565b815182906113b3908390612955565b600f90810b90915282516000910b121590506113ce57600081525b51600f0b9392505050565b50919050565b6113e7611a2a565b3360009081526003602090815260409182902082518084019093528054600f0b83526001015490820181905262093a808084040290421061146a5760405162461bcd60e51b815260206004820152600c60248201527f4c6f636b206578706972656400000000000000000000000000000000000000006044820152606401610900565b60008260000151600f0b136114c15760405162461bcd60e51b815260206004820152601160248201527f4e6f7468696e67206973206c6f636b65640000000000000000000000000000006044820152606401610900565b816020015181116115145760405162461bcd60e51b815260206004820152601f60248201527f43616e206f6e6c7920696e637265617365206c6f636b206475726174696f6e006044820152606401610900565b611522630784ce0042612a54565b8111156115715760405162461bcd60e51b815260206004820152601e60248201527f566f74696e67206c6f636b2063616e2062652034207965617273206d617800006044820152606401610900565b61158033600083856003611a83565b50506109f26001600055565b600c8054610804906129a3565b6000438211156115eb5760405162461bcd60e51b815260206004820152601460248201527f496e76616c696420626c6f636b206e756d6265720000000000000000000000006044820152606401610900565b60045460006115fa8483612625565b60008181526005602090815260409182902082516080810184528154600f81810b8352700100000000000000000000000000000000909104900b92810192909252600181015492820192909252600290910154606082018190529192509085101561166a57506000949350505050565b60008383101561173d576000600581611684866001612a54565b8152602080820192909252604090810160002081516080810183528154600f81810b8352700100000000000000000000000000000000909104900b938101939093526001810154918301919091526002015460608083018290528501519192501461173757826060015181606001516116fd91906129f0565b8360400151826040015161171191906129f0565b6060850151611720908a6129f0565b61172a9190612a67565b6117349190612a7e565b91505b5061178c565b4382606001511461178c57606082015161175790436129f0565b604083015161176690426129f0565b606084015161177590896129f0565b61177f9190612a67565b6117899190612a7e565b90505b6117a5828284604001516117a09190612a54565b611d2b565b9695505050505050565b6117b7611a2a565b600062093a806117c78184612a7e565b6117d19190612a67565b3360009081526003602090815260409182902082518084019093528054600f0b835260010154908201529091508361184b5760405162461bcd60e51b815260206004820152601360248201527f4e656564206e6f6e2d7a65726f2076616c7565000000000000000000000000006044820152606401610900565b8051600f0b1561189d5760405162461bcd60e51b815260206004820152601960248201527f5769746864726177206f6c6420746f6b656e73206669727374000000000000006044820152606401610900565b4282116119125760405162461bcd60e51b815260206004820152602660248201527f43616e206f6e6c79206c6f636b20756e74696c2074696d6520696e207468652060448201527f66757475726500000000000000000000000000000000000000000000000000006064820152608401610900565b611920630784ce0042612a54565b82111561196f5760405162461bcd60e51b815260206004820152601e60248201527f566f74696e67206c6f636b2063616e2062652034207965617273206d617800006044820152606401610900565b61197d338584846001611a83565b5050610cf76001600055565b600454600081815260056020908152604080832081516080810183528154600f81810b8352700100000000000000000000000000000000909104900b938101939093526001810154918301919091526002015460608201529091906119ee8185611d2b565b949350505050565b60408051808201909152600080825260208201526040805180820190915260008082526020820152610cf760008383611e19565b600260005403611a7c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610900565b6002600055565b6040805180820182528351600f90810b825260208086018051828501528451808601909552865190920b8452905190830152600254909190611ac58782612a54565b600255611ad9611ad488612681565b61271d565b83518490611ae8908390612ab9565b600f0b9052508515611afc57602083018690525b73ffffffffffffffffffffffffffffffffffffffff88166000908152600360209081526040909120845181547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff90911617815590840151600190910155611b76888385611e19565b8615611c6b576001546040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152306024830152604482018a9052909116906323b872dd906064016020604051808303816000875af1158015611bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1f9190612a03565b611c6b5760405162461bcd60e51b815260206004820152600f60248201527f5472616e73666572206661696c656400000000000000000000000000000000006044820152606401610900565b602080840151604080518a81526fffffffffffffffffffffffffffffffff88169381019390935242908301529073ffffffffffffffffffffffffffffffffffffffff8a16907fe6b4b2f1b9fef6bea3326b5f3efe29731e48b50360a2b8a10bf751c4cd0cd0239060600160405180910390a37f5e2aa66efd74cce82b21852e317e5490d9ecc9e6bb953ae24d90851258cc2f5c81611d098982612a54565b6040805192835260208301919091520160405180910390a15050505050505050565b600080839050600062093a8080836040015181611d4a57611d4a612a25565b0402905060005b60ff811015611df757611d6762093a8083612a54565b9150600085831115611d7b57859250611d8f565b50600082815260086020526040902054600f0b5b6040840151611d9e9084612915565b8460200151611dad9190612935565b84518590611dbc908390612955565b600f0b905250858303611dcf5750611df7565b8084602001818151611de19190612ab9565b600f0b9052505060408301829052600101611d51565b5060008260000151600f0b1215611e0d57600082525b5051600f0b9392505050565b604080516080810182526000808252602082018190529181018290526060810191909152604080516080810182526000808252602082018190529181018290526060810191909152600454600090819073ffffffffffffffffffffffffffffffffffffffff881615611f9f57428760200151118015611e9f575060008760000151600f0b135b15611edf578651630784ce0090600f0b05600f0b602080870191909152870151611eca9042906129f0565b8560200151611ed99190612935565b600f0b85525b428660200151118015611ef9575060008660000151600f0b135b15611f48578551630784ce00906fffffffffffffffffffffffffffffffff1604600f0b602080860191909152860151611f339042906129f0565b8460200151611f429190612935565b600f0b84525b602080880151600090815260088252604090205490870151600f9190910b935015611f9f578660200151866020015103611f8457829150611f9f565b602080870151600090815260089091526040902054600f0b91505b6040805160808101825260008082526020820152429181019190915243606082015281156120235750604080516080810182526000838152600560208181528483208054600f81810b8752700100000000000000000000000000000000909104900b8286015260018101549585019590955291859052905260029091015460608201525b600081604001519050600060405180608001604052808460000151600f0b81526020018460200151600f0b81526020018460400151815260200184606001518152509050600083604001514211156120b257604084015161208490426129f0565b606085015161209390436129f0565b6120a590670de0b6b3a7640000612a67565b6120af9190612a7e565b90505b62093a808084040260005b60ff811015612267576120d362093a8083612a54565b91506000428311156120e7574292506120fb565b50600082815260086020526040902054600f0b5b6121058684612b07565b87602001516121149190612935565b87518890612123908390612955565b600f0b90525060208701805182919061213d908390612ab9565b600f90810b90915288516000910b1215905061215857600087525b60008760200151600f0b121561217057600060208801525b60408088018490528501519295508592670de0b6b3a76400009061219490856129f0565b61219e9086612a67565b6121a89190612a7e565b85606001516121b79190612a54565b60608801526121c588612b30565b97504283036121da5750436060870152612267565b604080516080810182528851600f90810b82526020808b015190910b8183019081528a8401518385019081526060808d015190850190815260008e8152600590945294909220925190516fffffffffffffffffffffffffffffffff9081167001000000000000000000000000000000000291161782555160018201559051600290910155506001016120bd565b50600486905573ffffffffffffffffffffffffffffffffffffffff8d1615612307578960200151896020015161229d9190612955565b856020018181516122ae9190612ab9565b600f0b905250895189516122c29190612955565b855186906122d1908390612ab9565b600f90810b90915260208701516000910b121590506122f257600060208601525b60008560000151600f0b121561230757600085525b6000868152600560209081526040918290208751918801516fffffffffffffffffffffffffffffffff90811670010000000000000000000000000000000002921691909117815590860151600182015560608601516002909101558c73ffffffffffffffffffffffffffffffffffffffff81161561261557428d60200151111561240c5760208b015161239a908a612ab9565b98508c602001518c60200151036123bd5760208a01516123ba908a612955565b98505b60208d810151600090815260089091526040902080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff8b161790555b428c602001511115612488578c602001518c6020015111156124885760208a01516124379089612955565b60208d810151600090815260089091526040902080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff831617905597505b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600101905080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550428b6040018181525050438b60600181815250508a600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff0219169083600f0b6fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a8154816fffffffffffffffffffffffffffffffff0219169083600f0b6fffffffffffffffffffffffffffffffff1602179055506040820151816001015560608201518160020155905050505b5050505050505050505050505050565b60008082815b6080811015612677578183101561267757600282840160010181900460008181526005602052604090209091015487106126675780935061266e565b6001810392505b5060010161262b565b5090949350505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8211156127195760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e206160448201527f6e20696e743235360000000000000000000000000000000000000000000000006064820152608401610900565b5090565b80600f81900b81146127975760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f32382062697473000000000000000000000000000000000000000000000000006064820152608401610900565b919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461279757600080fd5b6000602082840312156127d257600080fd5b6127db8261279c565b9392505050565b600080604083850312156127f557600080fd5b6127fe8361279c565b946020939093013593505050565b600060208083528351808285015260005b818110156128395785810183015185820160400152820161281d565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561288a57600080fd5b5035919050565b600080604083850312156128a457600080fd5b6128ad8361279c565b91506128bb6020840161279c565b90509250929050565b600080604083850312156128d757600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810360008312801583831316838312821617156107ef576107ef6128e6565b600082600f0b82600f0b0280600f0b91508082146107ef576107ef6128e6565b600f82810b9082900b037fffffffffffffffffffffffffffffffff8000000000000000000000000000000081126f7fffffffffffffffffffffffffffffff821317156107f1576107f16128e6565b600181811c908216806129b757607f821691505b6020821081036113d9577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b818103818111156107f1576107f16128e6565b600060208284031215612a1557600080fd5b815180151581146127db57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b808201808211156107f1576107f16128e6565b80820281158282048414176107f1576107f16128e6565b600082612ab4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600f81810b9083900b016f7fffffffffffffffffffffffffffffff81137fffffffffffffffffffffffffffffffff80000000000000000000000000000000821217156107f1576107f16128e6565b6fffffffffffffffffffffffffffffffff8281168282160390808211156107ef576107ef6128e6565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b6157612b616128e6565b506001019056fea2646970667358221220f0702b81d665a7a832edc550c7e5c9d05090dbeaffe5b44c9a260526ac93f16164736f6c6343000813003300000000000000000000000015dac05c93e1c5f31a29547340997ba9f6ec4f87000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000018566f74696e672d657363726f7765642059616d6177616b65000000000000000000000000000000000000000000000000000000000000000000000000000000067665594d574b0000000000000000000000000000000000000000000000000000