0 txs
100 calls
constructor
constructor()
functions
autobuyAmounts
viewfunction autobuyAmounts(address) view returns (uint256)
autobuyUsers
viewfunction autobuyUsers(uint256) view returns (address)
cancellationFeePercent
viewfunction cancellationFeePercent() view returns (uint256)
cancellationNote
viewfunction cancellationNote() view returns (string)
cancellationTime
viewfunction cancellationTime() view returns (uint256)
config
viewfunction config() view returns (address tokenAddress, uint256 tokenDecimals, uint256 tokenRatePerEth, uint256 minEthLimit, uint256 maxEthLimit, uint256 hardCap, uint256 softCap, uint256 startTime, uint256 endTime, bool isWhitelisted, bool buyType, address useWithToken)
description
viewfunction description() view returns (string)
fundReceiver
viewfunction fundReceiver() view returns (address)
getAutobuyUsersLength
viewfunction getAutobuyUsersLength() view returns (uint256)
getSaleInfo
viewfunction getSaleInfo() view returns (tuple)
getTokensPerEth
viewfunction getTokensPerEth(uint256 amount) view returns (uint256)
getUserInfo
viewfunction getUserInfo(address user) view returns (tuple)
isAutobuyEnabled
viewfunction isAutobuyEnabled() view returns (bool)
isCancellable
viewfunction isCancellable() view returns (bool)
isRefundable
viewfunction isRefundable() view returns (bool)
isWithoutToken
viewfunction isWithoutToken() view returns (bool)
isWithoutTokenBalance
viewfunction isWithoutTokenBalance() view returns (uint256)
keeper
viewfunction keeper() view returns (address)
keeperGasFee
viewfunction keeperGasFee() view returns (uint256)
launchpadType
viewfunction launchpadType() view returns (bool)
liquidity
viewfunction liquidity() view returns (bool isAutoAdd, uint256 liquidityPercent, uint256 tokenRatePerEthPancake, uint256 unlockOn, address uniswapV2Pair)
logo
viewfunction logo() view returns (string)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
PROXY
viewfunction PROXY() view returns (address)
social
viewfunction social(uint256) view returns (string)
state
viewfunction state() view returns (uint256 earnedCap, uint256 totalAutobuy, uint256 soldTokens, uint256 participants, bool isPresaleOpen, bool isClaimable, bool isSuccess, bool isApprovalRequired, bool isCancelled)
tokenName
viewfunction tokenName() view returns (string)
tokenSymbol
viewfunction tokenSymbol() view returns (string)
uniswapV2Router
viewfunction uniswapV2Router() view returns (address)
userFee
viewfunction userFee() view returns (uint256)
userInfo
viewfunction userInfo(address) view returns (uint256 balanceOf, uint256 actualBalance, uint256 lastClaimed, uint256 initialClaim)
usersInvestments
viewfunction usersInvestments(address) view returns (uint256)
vesting
viewfunction vesting() view returns (bool isVested, uint256 vestingInterval, uint256 vestingPercent)
whitelistedAddresses
viewfunction whitelistedAddresses(address, address) view returns (uint256)
_initialize
nonpayablefunction _initialize(address fundReceiver_, address proxy_, address[] _addresses, uint256[] _values, bool[] _isSet, string[] _details)
addMultipleWhitelistedAddresses
nonpayablefunction addMultipleWhitelistedAddresses(address[] _addresses, uint256[] _allocation)
addWhitelistedAddress
nonpayablefunction addWhitelistedAddress(address addr, uint256 allocation)
approvePresale
nonpayablefunction approvePresale()
cancelPresale
nonpayablefunction cancelPresale(string reason)
claimAutobuyTokens
nonpayablefunction claimAutobuyTokens()
claimTokens
nonpayablefunction claimTokens()
contribute
payablefunction contribute(uint256 buyAmount) payable
executeBulkAutobuy
nonpayablefunction executeBulkAutobuy(uint256 batchSize)
finalizeSale
nonpayablefunction finalizeSale()
getLPTokens
nonpayablefunction getLPTokens()
registerForAutobuy
payablefunction registerForAutobuy(uint256 amount) payable
removeWhitelistedAddress
nonpayablefunction removeWhitelistedAddress(address _address)
renounceOwnership
nonpayablefunction renounceOwnership()
setAutobuyEnabled
nonpayablefunction setAutobuyEnabled(bool enabled)
setCancellable
nonpayablefunction setCancellable(bool cancellable)
setWhitelist
nonpayablefunction setWhitelist(bool _value)
startPresale
nonpayablefunction startPresale(uint256 numberOfDays)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateKeeper
nonpayablefunction updateKeeper(address newKeeper)
withdrawFunds
nonpayablefunction withdrawFunds()
events
AutobuyExecuted
event AutobuyExecuted(address indexed user, uint256 amount, uint256 tokensReceived)
AutobuyRegistered
event AutobuyRegistered(address indexed user, uint256 amount, uint256 keeperFeePaid)
CancellationRefund
event CancellationRefund(address indexed user, uint256 amount, uint256 fee)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
PresaleCancelled
event PresaleCancelled(string reason, uint256 time)
PresaleFinalized
event PresaleFinalized(bool success, uint256 totalRaised)
PresaleStarted
event PresaleStarted(uint256 startTime, uint256 endTime)
TokensClaimed
event TokensClaimed(address indexed claimer, uint256 amount)
TokensPurchased
event TokensPurchased(address indexed buyer, uint256 amount, uint256 tokensReceived)
Unpaused
event Unpaused(address account)
errors
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x6080604052655af3107a40006024556101f4602555602f805461ff0019166101001790553480156200003057600080fd5b5033806200005857604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b62000063816200006e565b5060018055620000be565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61524080620000ce6000396000f3fe60806040526004361061036f5760003560e01c806379502c55116101c6578063b35205ae116100f7578063efa0186211610095578063fb4aa0a11161006f578063fb4aa0a114610ba1578063fb7f21eb14610bc1578063fc51303a14610bd6578063fdfe9b1514610bf057600080fd5b8063efa0186214610b41578063f2fde38b14610b61578063f958a65714610b8157600080fd5b8063c1cbbca7116100d1578063c1cbbca714610ae3578063c24f988b14610af6578063d9a2028814610b0c578063db83694c14610b1f57600080fd5b8063b35205ae14610a06578063b7a6e49f14610a26578063c19d93fb14610a4657600080fd5b80639779021711610164578063a1db72b51161013e578063a1db72b514610990578063a24c4ef0146109b0578063a8c92d48146109c6578063aced1661146109e657600080fd5b8063977902171461093b5780639bc71e051461095b578063a132aad11461097057600080fd5b80638da5cb5b116101a05780638da5cb5b146108a35780638db3b7d9146108c1578063931ee06f146108e157806393e74ba41461090e57600080fd5b806379502c551461078e5780637b61c3201461085657806386f9f8eb1461086b57600080fd5b80634e5bd4d0116102a05780635cc92cb41161023e5780636c02a931116102185780636c02a9311461072f578063715018a6146107445780637284e41614610759578063784cef9b1461076e57600080fd5b80635cc92cb4146106a45780635f621216146106c65780636386c1c7146106dc57600080fd5b806356f0889c1161027a57806356f0889c1461063d578063573a57fc1461065d57806358a687ec146106775780635c975abb1461068c57600080fd5b80634e5bd4d0146105e7578063530cd5ab146105fd578063536baf0f1461061d57600080fd5b80632c1fecfe1161030d57806344c63eec116102e757806344c63eec1461055f5780634500054f1461059e57806346599bb0146105bd57806348c54b9d146105d257600080fd5b80632c1fecfe146104fc57806339686ff71461051b57806342a1bbd21461053b57600080fd5b80631959a002116103495780631959a002146103ff5780631a686502146104615780631d807c51146104c757806324600fc3146104e757600080fd5b80631224abfb1461037b5780631694505e14610392578063187d95a8146103cf57600080fd5b3661037657005b600080fd5b34801561038757600080fd5b50610390610c05565b005b34801561039e57600080fd5b50601d546103b2906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103db57600080fd5b50602f546103ef9062010000900460ff1681565b60405190151581526020016103c6565b34801561040b57600080fd5b5061044161041a3660046144dd565b60286020526000908152604090208054600182015460028301546003909301549192909184565b6040805194855260208501939093529183015260608201526080016103c6565b34801561046d57600080fd5b506015546016546017546018546019546104949460ff16939291906001600160a01b031685565b60408051951515865260208601949094529284019190915260608301526001600160a01b0316608082015260a0016103c6565b3480156104d357600080fd5b506103906104e23660046147b2565b610d5d565b3480156104f357600080fd5b50610390610ef1565b34801561050857600080fd5b50602f546103ef90610100900460ff1681565b34801561052757600080fd5b506103b261053636600461487f565b611054565b34801561054757600080fd5b5061055160235481565b6040519081526020016103c6565b34801561056b57600080fd5b506012546013546014546105819260ff16919083565b6040805193151584526020840192909252908201526060016103c6565b3480156105aa57600080fd5b50602b546103ef90610100900460ff1681565b3480156105c957600080fd5b50602e54610551565b3480156105de57600080fd5b5061039061107e565b3480156105f357600080fd5b50610551602d5481565b34801561060957600080fd5b506103906106183660046144dd565b6111ae565b34801561062957600080fd5b506103906106383660046148e4565b6111e4565b34801561064957600080fd5b5061055161065836600461487f565b6112c8565b34801561066957600080fd5b50602f546103ef9060ff1681565b34801561068357600080fd5b50610390611301565b34801561069857600080fd5b5060025460ff166103ef565b3480156106b057600080fd5b506106b961189d565b6040516103c691906149a0565b3480156106d257600080fd5b5061055160245481565b3480156106e857600080fd5b506106fc6106f73660046144dd565b61192b565b6040516103c691908151815260208083015190820152604080830151908201526060918201519181019190915260800190565b34801561073b57600080fd5b506106b96119a4565b34801561075057600080fd5b506103906119b1565b34801561076557600080fd5b506106b96119c3565b34801561077a57600080fd5b5061039061078936600461487f565b6119d0565b34801561079a57600080fd5b50600354600454600554600654600754600854600954600a54600b54600c546107ea996001600160a01b0390811699989796959493929160ff80821692610100830490911691620100009004168c565b604080516001600160a01b039d8e168152602081019c909c528b019990995260608a0197909752608089019590955260a088019390935260c087019190915260e086015261010085015215156101208401521515610140830152909116610160820152610180016103c6565b34801561086257600080fd5b506106b9611bcf565b34801561087757600080fd5b506105516108863660046149b3565b602960209081526000928352604080842090915290825290205481565b3480156108af57600080fd5b506000546001600160a01b03166103b2565b3480156108cd57600080fd5b506103906108dc3660046149ec565b611bdc565b3480156108ed57600080fd5b506105516108fc3660046144dd565b602a6020526000908152604090205481565b34801561091a57600080fd5b506105516109293660046144dd565b60276020526000908152604090205481565b34801561094757600080fd5b506103906109563660046144dd565b611c13565b34801561096757600080fd5b50610390611c3d565b34801561097c57600080fd5b5061039061098b36600461487f565b611d0a565b34801561099c57600080fd5b506103906109ab366004614a18565b611deb565b3480156109bc57600080fd5b5061055160265481565b3480156109d257600080fd5b50601b546103b2906001600160a01b031681565b3480156109f257600080fd5b50601a546103b2906001600160a01b031681565b348015610a1257600080fd5b506106b9610a2136600461487f565b611e0d565b348015610a3257600080fd5b50610390610a41366004614a33565b611e38565b348015610a5257600080fd5b50600d54600e54600f54601054601154610a97949392919060ff80821691610100810482169162010000820481169163010000008104821691600160201b9091041689565b60408051998a5260208a01989098529688019590955260608701939093529015156080860152151560a0850152151560c0840152151560e08301521515610100820152610120016103c6565b610390610af136600461487f565b611fa6565b348015610b0257600080fd5b5061055160255481565b610390610b1a36600461487f565b6120ec565b348015610b2b57600080fd5b50610b346124b7565b6040516103c69190614ac2565b348015610b4d57600080fd5b50610390610b5c366004614a18565b612bac565b348015610b6d57600080fd5b50610390610b7c3660046144dd565b612bc7565b348015610b8d57600080fd5b50610390610b9c366004614a18565b612c02565b348015610bad57600080fd5b50601c546103b2906001600160a01b031681565b348015610bcd57600080fd5b506106b9612c1d565b348015610be257600080fd5b50602b546103ef9060ff1681565b348015610bfc57600080fd5b50610390612c2a565b610c0d612d83565b610c15612db0565b610c3a5760405162461bcd60e51b8152600401610c3190614da5565b60405180910390fd5b601154610100900460ff16610c865760405162461bcd60e51b815260206004820152601260248201527114d85b19481b9bdd08199a5b985b1a5e995960721b6044820152606401610c31565b6018544211610cc35760405162461bcd60e51b81526020600482015260096024820152681314081b1bd8dad95960ba1b6044820152606401610c31565b6019546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610d0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d309190614dd3565b9050610d5a610d476000546001600160a01b031690565b6019546001600160a01b03169083612de0565b50565b602f546301000000900460ff1615610dad5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606401610c31565b602f805463ff000000191663010000001790558351610de69085906002908110610dd957610dd9614dec565b6020026020010151612e44565b610df284848484612e94565b601b80546001600160a01b0319166001600160a01b038716179055835184906004908110610e2257610e22614dec565b6020908102919091010151601a80546001600160a01b03199081166001600160a01b0393841617909155601c8054909116918816919091179055835160009085906001908110610e7457610e74614dec565b60200260200101516001600160a01b031614610ee95783600181518110610e9d57610e9d614dec565b6020908102919091010151601d80546001600160a01b0319166001600160a01b0390921691909117905560155460ff168015610edc5750602f5460ff16155b15610ee957610ee96136c0565b505050505050565b610ef9612d83565b601154610100900460ff168015610f18575060115462010000900460ff165b610f595760405162461bcd60e51b815260206004820152601260248201527114d85b19481b9bdd08199a5b985b1a5e995960721b6044820152606401610c31565b600c54610100900460ff1615610fab574715610fa957600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015610d5a573d6000803e3d6000fd5b565b600c546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a0823190602401602060405180830381865afa158015610ffa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101e9190614dd3565b90508015610d5a57610d5a61103b6000546001600160a01b031690565b600c546201000090046001600160a01b03169083612de0565b602e818154811061106457600080fd5b6000918252602090912001546001600160a01b0316905081565b6110866139ce565b61108e612db0565b6110aa5760405162461bcd60e51b8152600401610c3190614da5565b601154600160201b900460ff16156110c9576110c46139f8565b6111a5565b601154610100900460ff166111175760405162461bcd60e51b815260206004820152601460248201527310db185a5b5a5b99c81b9bdd08195b98589b195960621b6044820152606401610c31565b60115462010000900460ff161561119c57602f5462010000900460ff166111935733600090815260276020526040812054611151906112c8565b33600090815260286020526040812080549293508392909190611175908490614e18565b90915550503360009081526028602052604090208054600190910155505b6110c433613bb1565b6111a533613dac565b610fa960018055565b6111b6612d83565b6003546001600160a01b03908116600090815260296020908152604080832094909316825292909252812055565b6111ec612d83565b8281146112345760405162461bcd60e51b8152602060048201526016602482015275082e4e4c2f2e640d8cadccee8d040dad2e6dac2e8c6d60531b6044820152606401610c31565b60005b838110156112c15782828281811061125157611251614dec565b6003546001600160a01b031660009081526029602090815260408220920293909301359290915087878581811061128a5761128a614dec565b905060200201602081019061129f91906144dd565b6001600160a01b03168152602081019190915260400160002055600101611237565b5050505050565b6004546000906112d9906012614e2b565b6112e490600a614f22565b6005546112f19084614f2e565b6112fb9190614f45565b92915050565b611309612d83565b611311612db0565b61132d5760405162461bcd60e51b8152600401610c3190614da5565b601154600160201b900460ff16156113875760405162461bcd60e51b815260206004820152601960248201527f43616e6e6f742066696e616c697a652063616e63656c6c6564000000000000006044820152606401610c31565b6003546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156113d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f49190614dd3565b600954600d549192501115806114125750602f54610100900460ff16155b1561180e576011805462ff0000191662010000908117909155602f540460ff1661145657600d546008546114469190613e2c565b6005819055601755506000611476565b6000611466600d600001546112c8565b90506114728183614e2b565b9150505b60006064600d6000015460235461148d9190614f2e565b6114979190614f45565b905060235460020361153c57601754601654600d54600092916064916114bd9190614f2e565b6114c79190614f45565b6114d19190614f2e565b905060006064826023546114e59190614f2e565b6114ef9190614f45565b90506114fb8183614e2b565b601c5460035491935061151b916001600160a01b03908116911683612de0565b602f5462010000900460ff1615611539576115368285614e2b565b93505b50505b80600d60000160008282546115519190614e2b565b9091555050600c54610100900460ff16156115a657601c546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156115a0573d6000803e3d6000fd5b506115c9565b601c54600c546115c9916001600160a01b03620100009092048216911683612de0565b60155460ff1680156115de5750602f5460ff16155b1561180c57601654600d546000916064916115f99190614f2e565b6116039190614f45565b6017549091506000906116169083614f2e565b600454909150611627906012614e2b565b61163290600a614f22565b61163c9082614f45565b602f5490915062010000900460ff161561165d5761165a8185614e2b565b93505b601d5460035461167a916001600160a01b03918216911683613e41565b600c54610100900460ff161561172757601d5460035460405163f305d71960e01b81526001600160a01b0391821660048201526024810184905260006044820181905260648201523060848201524260a482015291169063f305d71990849060c40160606040518083038185885af11580156116fa573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061171f9190614f67565b5050506117f9565b601d54600c5461174a916001600160a01b03620100009092048216911684613e41565b601d54600354600c5460405162e8e33760e81b81526001600160a01b0392831660048201526201000090910482166024820152604481018490526064810185905260006084820181905260a48201523060c48201524260e482015291169063e8e3370090610104016060604051808303816000875af11580156117d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f59190614f67565b5050505b6018546118069042614e18565b60185550505b505b801561183c5761183c6118296000546001600160a01b031690565b6003546001600160a01b03169083612de0565b6011805461ff0019166101001790819055600d546040517fb9894dff9c897682aa61225d64c946b146c56ab1e40a411cde5db9f30fe0174792611892926201000090910460ff1615158252602082015260400190565b60405180910390a150565b602c80546118aa90614f95565b80601f01602080910402602001604051908101604052809291908181526020018280546118d690614f95565b80156119235780601f106118f857610100808354040283529160200191611923565b820191906000526020600020905b81548152906001019060200180831161190657829003601f168201915b505050505081565b6119566040518060800160405280600081526020016000815260200160008152602001600081525090565b506001600160a01b0316600090815260286020908152604091829020825160808101845281548152600182015492810192909252600281015492820192909252600390910154606082015290565b601e80546118aa90614f95565b6119b9612d83565b610fa96000612e44565b602080546118aa90614f95565b601a546001600160a01b03163314611a185760405162461bcd60e51b815260206004820152600b60248201526a27b7363c9035b2b2b832b960a91b6044820152606401610c31565b611a20613ed7565b611a615760405162461bcd60e51b815260206004820152601260248201527150726573616c65206e6f742061637469766560701b6044820152606401610c31565b600081118015611a72575060328111155b611ab35760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642062617463682073697a6560701b6044820152606401610c31565b6000805b602e5481108015611ac757508282105b15611bc2576000602e8281548110611ae157611ae1614dec565b60009182526020808320909101546001600160a01b0316808352602a909152604082205490925090819003611b17575050611bb0565b80611b228382613f2d565b15611bac576000611b32826112c8565b9050611b3f848383613fe7565b6001600160a01b0384166000908152602a602052604081205585611b6281614fcf565b60408051858152602081018590529198506001600160a01b03871692507f460b4c0bdac8782b84d8f5c097f5cc9f187ea478f9a37d66cd38391485562c0f910160405180910390a2505b5050505b80611bba81614fcf565b915050611ab7565b50611bcb614136565b5050565b601f80546118aa90614f95565b611be4612d83565b6003546001600160a01b0390811660009081526029602090815260408083209590931682529390935290912055565b611c1b612d83565b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b601a546001600160a01b03163314611c855760405162461bcd60e51b815260206004820152600b60248201526a27b7363c9035b2b2b832b960a91b6044820152606401610c31565b6011546301000000900460ff16611cd15760405162461bcd60e51b815260206004820152601060248201526f105b1c9958591e48185c1c1c9bdd995960821b6044820152606401610c31565b601154600160201b900460ff1615611cfb5760405162461bcd60e51b8152600401610c3190614fe8565b6011805463ff00000019169055565b611d12612d83565b6011546301000000900460ff1615611d5b5760405162461bcd60e51b815260206004820152600c60248201526b139bdd08185c1c1c9bdd995960a21b6044820152606401610c31565b601154600160201b900460ff1615611d855760405162461bcd60e51b8152600401610c3190614fe8565b42600a55611d968162015180614f2e565b611da09042614e18565b600b8190556011805460ff19166001179055600a546040517f884f0ecd854b5bcb742f0156e594094458bddc3f2cc8c9e4048a7cedfa6f01cc92611892928252602082015260400190565b611df3612d83565b602b80549115156101000261ff0019909216919091179055565b60228181548110611e1d57600080fd5b9060005260206000200160009150905080546118aa90614f95565b611e40612d83565b602b54610100900460ff168015611e615750601154600160201b900460ff16155b8015611e755750601154610100900460ff16155b611eb15760405162461bcd60e51b815260206004820152600d60248201526c10d85b9b9bdd0818d85b98d95b609a1b6044820152606401610c31565b6011805464ff000000001916600160201b179055602c611ed1828261505b565b5042602d556011805461ffff19166101001790556003546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611f2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f529190614dd3565b9050611f696118296000546001600160a01b031690565b7f7f596900e14e066cfa5a47d644a1918481127d0ac2761a143669f76ff98f060c8242604051611f9a92919061511b565b60405180910390a15050565b611fae6139ce565b611fb6613ed7565b611ff75760405162461bcd60e51b815260206004820152601260248201527150726573616c65206e6f742061637469766560701b6044820152606401610c31565b600c54600090610100900460ff1661200f5781612011565b345b9050600081116120545760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606401610c31565b600c548190610100900460ff1661208357600c54612083906201000090046001600160a01b031633308661424a565b61208d3382614283565b6000612098826112c8565b90506120a5338383613fe7565b604080518381526020810183905233917f8fafebcaf9d154343dad25669bfa277f4fbacd7ac6b0c4fed522580e040a0f33910160405180910390a2505050610d5a60018055565b602b5460ff166121315760405162461bcd60e51b815260206004820152601060248201526f105d5d1bd89d5e48191a5cd8589b195960821b6044820152606401610c31565b601154600160201b900460ff161561215b5760405162461bcd60e51b8152600401610c3190614fe8565b600754336000908152602a6020526040902054612179908390614e18565b111580156121a35750600654336000908152602a60205260409020546121a0908390614e18565b10155b6121e55760405162461bcd60e51b8152602060048201526013602482015272416d6f756e74206f7574206f662072616e676560681b6044820152606401610c31565b6024546121f29082614e18565b3410156122345760405162461bcd60e51b815260206004820152601060248201526f092dce6eaccccd2c6d2cadce8408aa8960831b6044820152606401610c31565b61223c613ed7565b156122825760405162461bcd60e51b815260206004820152601660248201527550726573616c6520616c72656164792061637469766560501b6044820152606401610c31565b602f5462010000900460ff16156122e657600854600e546122a4908390614e18565b11156122e65760405162461bcd60e51b815260206004820152601160248201527012185c990818d85c08195e18d959591959607a1b6044820152606401610c31565b600c5460ff1615612358576003546001600160a01b031660009081526029602090815260408083203384529091529020548111156123585760405162461bcd60e51b815260206004820152600f60248201526e139bdd081dda1a5d195b1a5cdd1959608a1b6044820152606401610c31565b601a546024546040516001600160a01b039092169181156108fc0291906000818181858888f19350505050158015612394573d6000803e3d6000fd5b50336000908152602a6020526040812080548392906123b4908490614e18565b9091555050600e80548291906000906123ce908490614e18565b9091555050602e80546001810182556000919091527f37fa166cbdbfbb1561ccd9ea985ec0218b5e68502e230525f544285b2bdf3d7e0180546001600160a01b031916331790556024546124229082614e18565b3411156124705760245433906108fc9061243c8434614e2b565b6124469190614e2b565b6040518115909202916000818181858888f1935050505015801561246e573d6000803e3d6000fd5b505b60245460405133917f91c1d39ec07cb5e5901089fac70140281682147ab5654101cba7cffae3c20ab3916124ac91858252602082015260400190565b60405180910390a250565b612606604051806104a0016040528060608152602001606081526020016000815260200160006001600160a01b0316815260200160608152602001606081526020016000815260200160008152602001600081526020016000815260200160001515815260200160001515815260200160001515815260200160008152602001600081526020016060815260200160008152602001600081526020016000151581526020016000151581526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000815260200160001515815260200160001515815260200160006001600160a01b0316815260200160001515815260200160006001600160a01b0316815260200160008152602001600015158152602001600015158152602001600015158152602001600015158152602001606081525090565b604051806104a00160405280601e805461261f90614f95565b80601f016020809104026020016040519081016040528092919081815260200182805461264b90614f95565b80156126985780601f1061266d57610100808354040283529160200191612698565b820191906000526020600020905b81548152906001019060200180831161267b57829003601f168201915b50505050508152602001601f80546126af90614f95565b80601f01602080910402602001604051908101604052809291908181526020018280546126db90614f95565b80156127285780601f106126fd57610100808354040283529160200191612728565b820191906000526020600020905b81548152906001019060200180831161270b57829003601f168201915b505050505081526020016003600101548152602001600360000160009054906101000a90046001600160a01b03166001600160a01b031681526020016022805480602002602001604051908101604052809291908181526020016000905b828210156128325783829060005260206000200180546127a590614f95565b80601f01602080910402602001604051908101604052809291908181526020018280546127d190614f95565b801561281e5780601f106127f35761010080835404028352916020019161281e565b820191906000526020600020905b81548152906001019060200180831161280157829003601f168201915b505050505081526020019060010190612786565b5050505081526020016020805461284890614f95565b80601f016020809104026020016040519081016040528092919081815260200182805461287490614f95565b80156128c15780601f10612896576101008083540402835291602001916128c1565b820191906000526020600020905b8154815290600101906020018083116128a457829003601f168201915b50505091835250506005546020820152601754604082015260085460608201526009546080820152600c5460ff808216151560a0840152602f548116151560c08401526101009182900416151560e0830152600d5490820152601054610120820152602180546101409092019161293790614f95565b80601f016020809104026020016040519081016040528092919081815260200182805461296390614f95565b80156129b05780601f10612985576101008083540402835291602001916129b0565b820191906000526020600020905b81548152906001019060200180831161299357829003601f168201915b5050509183525050600a546020820152600b54604082015260125460ff90811615156060830152601554161515608082015260135460a082015260145460c082015260065460e082015260075461010082015261012001612a196000546001600160a01b031690565b6001600160a01b031681526018546020820152601154610100900460ff1615156040820152600a546060909101904210801590612a585750600b544211155b8015612a685750600854600d5411155b8015612a7e57506011546301000000900460ff16155b8015612a945750601154600160201b900460ff16155b15158152306020820152602f5460ff6201000091829004811615156040840152600c54919091046001600160a01b031660608301526016546080830152601154630100000081048216151560a0840152602b54808316151560c0850152610100908190048316151560e0850152600160201b909104909116151590820152602c805461012090920191612b2690614f95565b80601f0160208091040260200160405190810160405280929190818152602001828054612b5290614f95565b8015612b9f5780601f10612b7457610100808354040283529160200191612b9f565b820191906000526020600020905b815481529060010190602001808311612b8257829003601f168201915b5050505050815250905090565b612bb4612d83565b602b805460ff1916911515919091179055565b612bcf612d83565b6001600160a01b038116612bf957604051631e4fbdf760e01b815260006004820152602401610c31565b610d5a81612e44565b612c0a612d83565b600c805460ff1916911515919091179055565b602180546118aa90614f95565b612c326139ce565b612c3a612db0565b612c565760405162461bcd60e51b8152600401610c3190614da5565b601154610100900460ff16612ca45760405162461bcd60e51b815260206004820152601460248201527310db185a5b5a5b99c81b9bdd08195b98589b195960621b6044820152606401610c31565b336000908152602a6020526040902054612cf05760405162461bcd60e51b815260206004820152600d60248201526c139bc8199d5b991cc81b19599d609a1b6044820152606401610c31565b600c54610100900460ff1615612d3d57336000818152602a602052604080822054905181156108fc0292818181858888f19350505050158015612d37573d6000803e3d6000fd5b50612d6a565b336000818152602a6020526040902054600c54612d6a92620100009091046001600160a01b031691612de0565b336000908152602a6020526040812055610fa960018055565b6000546001600160a01b03163314610fa95760405163118cdaa760e01b8152336004820152602401610c31565b600b54600090421180612dc75750600854600d5410155b80612ddb5750601154600160201b900460ff165b905090565b6040516001600160a01b03838116602483015260448201839052612e3f91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506143f8565b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60405180610180016040528085600081518110612eb357612eb3614dec565b60200260200101516001600160a01b031681526020016012815260200184600281518110612ee357612ee3614dec565b6020026020010151815260200184600081518110612f0357612f03614dec565b6020026020010151815260200184600181518110612f2357612f23614dec565b6020026020010151815260200184600481518110612f4357612f43614dec565b6020026020010151815260200184600381518110612f6357612f63614dec565b6020026020010151815260200184600881518110612f8357612f83614dec565b6020026020010151815260200184600981518110612fa357612fa3614dec565b6020026020010151815260200183600381518110612fc357612fc3614dec565b60200260200101511515815260200183600481518110612fe557612fe5614dec565b6020026020010151151581526020018560038151811061300757613007614dec565b6020908102919091018101516001600160a01b039081169092528251600380546001600160a01b0319169184169190911790558281015160045560408084015160055560608085015160065560808086015160075560a08087015160085560c08088015160095560e080890151600a819055610100808b0151600b55610120808c0151600c80546101408f0151610160909f015161ffff1990911692151561ff001916929092179d151584029d909d1762010000600160b01b0319166201000091909c16029a909a17909a55865198890187526000808a529789018890528887018890528886018890524210159388018490529187018690528601859052600190860181905294909501839052600d839055600e839055600f83905560109290925560118054630100000063ffffffff1990911663ffffff0019909616959095179490941764ff0000000019169093558251908101909252835182918591811061317357613173614dec565b60200260200101511515815260200184600b8151811061319557613195614dec565b6020026020010151815260200184600a815181106131b5576131b5614dec565b60209081029190910181015190915281516012805460ff1916911515919091179055810151601355604090810151601455805160a0810190915282518190849060009061320457613204614dec565b6020026020010151151581526020018460078151811061322657613226614dec565b602002602001015181526020018460058151811061324657613246614dec565b602002602001015181526020018460068151811061326657613266614dec565b60200260200101516201518061327c9190614f2e565b8152600060209182015281516015805460ff19169115159190911790558101516016556040810151601755606081015160185560800151601980546001600160a01b0319166001600160a01b039092169190911790558151829060029081106132e7576132e7614dec565b6020026020010151602f60006101000a81548160ff0219169083151502179055508160068151811061331b5761331b614dec565b6020026020010151602f60026101000a81548160ff0219169083151502179055508160078151811061334f5761334f614dec565b6020026020010151602f60016101000a81548160ff021916908315150217905550600882511161338057600061339c565b8160088151811061339357613393614dec565b60200260200101515b602b805460ff191691151591909117905582518390600c9081106133c2576133c2614dec565b6020908102919091010151602355602b805461ff001916610100179055602f5460ff161580156133fc57506003546001600160a01b031615155b15613578576003546040805163313ce56760e01b815290516001600160a01b039092169163313ce567916004808201926020929091908290030181865afa15801561344b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061346f919061513d565b60ff166004908155600354604080516306fdde0360e01b815290516001600160a01b03909216926306fdde039282820192600092908290030181865afa1580156134bd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134e59190810190615160565b601e906134f2908261505b565b50600354604080516395d89b4160e01b815290516001600160a01b03909216916395d89b41916004808201926000929091908290030181865afa15801561353d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135659190810190615160565b601f90613572908261505b565b50613603565b8060058151811061358b5761358b614dec565b6020026020010151601e90816135a1919061505b565b50806006815181106135b5576135b5614dec565b6020026020010151601f90816135cb919061505b565b506004546135da906012614e2b565b6135e590600a614f22565b6005546008546135f59190614f2e565b6135ff9190614f45565b6026555b8060008151811061361657613616614dec565b60200260200101516020908161362c919061505b565b5060015b600b81111580156136415750815181105b1561369657602282828151811061365a5761365a614dec565b60209081029190910181015182546001810184556000938452919092200190613683908261505b565b508061368e81614fcf565b915050613630565b50806004815181106136aa576136aa614dec565b6020026020010151602190816112c1919061505b565b601d546040805163c45a015560e01b815290516000926001600160a01b03169163c45a01559160048083019260209291908290030181865afa15801561370a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372e91906151d7565b600354601d54604080516315ab88c960e31b815290516001600160a01b039485169463e6a4390594811693169163ad5c46489160048083019260209291908290030181865afa158015613785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137a991906151d7565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156137f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061381891906151d7565b90506001600160a01b0381166139ae57601d60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561387b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061389f91906151d7565b600354601d54604080516315ab88c960e31b815290516001600160a01b039485169463c9c6539694811693169163ad5c46489160048083019260209291908290030181865afa1580156138f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061391a91906151d7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015613967573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061398b91906151d7565b601980546001600160a01b0319166001600160a01b039290921691909117905550565b601980546001600160a01b0383166001600160a01b031990911617905550565b6002600154036139f157604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b33600090815260276020526040902054613a445760405162461bcd60e51b815260206004820152600d60248201526c139bc81a5b9d995cdd1b595b9d609a1b6044820152606401610c31565b3360009081526027602052604081205460255490919061271090613a689084614f2e565b613a729190614f45565b90506000613a808284614e2b565b3360009081526027602090815260408083208390556028909152812081815560010155600c54909150610100900460ff1615613b2b578115613af857601c546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015613af6573d6000803e3d6000fd5b505b604051339082156108fc029083906000818181858888f19350505050158015613b25573d6000803e3d6000fd5b50613b71565b8115613b5457601c54600c54613b54916001600160a01b03620100009092048216911684612de0565b600c54613b71906201000090046001600160a01b03163383612de0565b604080518281526020810184905233917f8a11f9ec56ce324a2a5886ffa8e00889c5c4ef67958faa12487b75ed332b95cc910160405180910390a2505050565b60125460ff1615613d7d576013546001600160a01b038216600090815260286020526040902060020154613be59190614e18565b4211613c335760405162461bcd60e51b815260206004820152601c60248201527f56657374696e6720696e74657276616c206e6f742072656163686564000000006044820152606401610c31565b6014546001600160a01b038216600090815260286020526040812060010154909161271091613c629190614f2e565b613c6c9190614f45565b6001600160a01b038316600090815260286020526040902054909150811115613caa57506001600160a01b0381166000908152602860205260409020545b600354613cc1906001600160a01b03168383612de0565b6001600160a01b03821660009081526028602052604081208054839290613ce9908490614e2b565b90915550506001600160a01b0382166000908152602860205260408120426002820155600301549003613d36576001600160a01b0382166000908152602860205260409020426003909101555b816001600160a01b03167f896e034966eaaf1adc54acc0f257056febbd300c9e47182cf761982cf1f5e43082604051613d7191815260200190565b60405180910390a25050565b6001600160a01b03808216600090815260286020526040812080549190556003549091613d3691168383612de0565b6001600160a01b03811660009081526027602052604081208054919055600c54610100900460ff1615613e0f576040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015612e3f573d6000803e3d6000fd5b600c54611bcb906201000090046001600160a01b03168383612de0565b600080613e398484614f45565b949350505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052613e928482614469565b613ed1576040516001600160a01b03848116602483015260006044830152613ec791869182169063095ea7b390606401612e0d565b613ed184826143f8565b50505050565b600a546000904210801590613eee5750600b544211155b8015613efe5750600854600d5411155b8015613f1457506011546301000000900460ff16155b8015612ddb575050601154600160201b900460ff161590565b6007546001600160a01b038316600090815260276020526040812054909190613f57908490614e18565b1115613f65575060006112fb565b602f5462010000900460ff168015613f8b5750600854600d54613f89908490614e18565b115b15613f98575060006112fb565b600c5460ff168015613fd157506003546001600160a01b0390811660009081526029602090815260408083209387168352929052205482115b15613fde575060006112fb565b50600192915050565b6001600160a01b038316600090815260276020526040812054900361401c576010805490600061401683614fcf565b91905055505b600c5460ff1615614067576003546001600160a01b03908116600090815260296020908152604080832093871683529290529081208054849290614061908490614e2b565b90915550505b602f5460ff16806140805750602f5462010000900460ff165b156140ea576001600160a01b038316600090815260286020526040812080548392906140ad908490614e18565b90915550506001600160a01b03831660009081526028602052604081208054600190910155600f80548392906140e4908490614e18565b90915550505b6001600160a01b03831660009081526027602052604081208054849290614112908490614e18565b9091555050600d805483919060009061412c908490614e18565b9091555050505050565b6000805b602e54811015614206576000602a6000602e848154811061415d5761415d614dec565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411156141fe57602e818154811061419b5761419b614dec565b600091825260209091200154602e80546001600160a01b0390921691849081106141c7576141c7614dec565b600091825260209091200180546001600160a01b0319166001600160a01b0392909216919091179055816141fa81614fcf565b9250505b60010161413a565b505b602e54811015610d5a57602e805480614223576142236151f4565b600082815260209020810160001990810180546001600160a01b0319169055019055614208565b6040516001600160a01b038481166024830152838116604483015260648201839052613ed19186918216906323b872dd90608401612e0d565b6007546001600160a01b0383166000908152602760205260409020546142aa908390614e18565b111580156142dd57506006546001600160a01b0383166000908152602760205260409020546142da908390614e18565b10155b61431f5760405162461bcd60e51b8152602060048201526013602482015272416d6f756e74206f7574206f662072616e676560681b6044820152606401610c31565b602f5462010000900460ff161561438357600854600d54614341908390614e18565b11156143835760405162461bcd60e51b815260206004820152601160248201527012185c990818d85c08195e18d959591959607a1b6044820152606401610c31565b600c5460ff1615611bcb576003546001600160a01b03908116600090815260296020908152604080832093861683529290522054811115611bcb5760405162461bcd60e51b815260206004820152600f60248201526e139bdd081dda1a5d195b1a5cdd1959608a1b6044820152606401610c31565b600080602060008451602086016000885af18061441b576040513d6000823e3d81fd5b50506000513d91508115614433578060011415614440565b6001600160a01b0384163b155b15613ed157604051635274afe760e01b81526001600160a01b0385166004820152602401610c31565b6000806000806020600086516020880160008a5af192503d915060005190508280156144ae5750811561449f57806001146144ae565b6000866001600160a01b03163b115b9695505050505050565b6001600160a01b0381168114610d5a57600080fd5b80356144d8816144b8565b919050565b6000602082840312156144ef57600080fd5b81356144fa816144b8565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561454057614540614501565b604052919050565b600067ffffffffffffffff82111561456257614562614501565b5060051b60200190565b600082601f83011261457d57600080fd5b8135602061459261458d83614548565b614517565b8083825260208201915060208460051b8701019350868411156145b457600080fd5b602086015b848110156145d95780356145cc816144b8565b83529183019183016145b9565b509695505050505050565b600082601f8301126145f557600080fd5b8135602061460561458d83614548565b8083825260208201915060208460051b87010193508684111561462757600080fd5b602086015b848110156145d9578035835291830191830161462c565b803580151581146144d857600080fd5b600082601f83011261466457600080fd5b8135602061467461458d83614548565b8083825260208201915060208460051b87010193508684111561469657600080fd5b602086015b848110156145d9576146ac81614643565b835291830191830161469b565b600067ffffffffffffffff8211156146d3576146d3614501565b50601f01601f191660200190565b600082601f8301126146f257600080fd5b813561470061458d826146b9565b81815284602083860101111561471557600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261474357600080fd5b8135602061475361458d83614548565b82815260059290921b8401810191818101908684111561477257600080fd5b8286015b848110156145d957803567ffffffffffffffff8111156147965760008081fd5b6147a48986838b01016146e1565b845250918301918301614776565b60008060008060008060c087890312156147cb57600080fd5b6147d4876144cd565b95506147e2602088016144cd565b9450604087013567ffffffffffffffff808211156147ff57600080fd5b61480b8a838b0161456c565b9550606089013591508082111561482157600080fd5b61482d8a838b016145e4565b9450608089013591508082111561484357600080fd5b61484f8a838b01614653565b935060a089013591508082111561486557600080fd5b5061487289828a01614732565b9150509295509295509295565b60006020828403121561489157600080fd5b5035919050565b60008083601f8401126148aa57600080fd5b50813567ffffffffffffffff8111156148c257600080fd5b6020830191508360208260051b85010111156148dd57600080fd5b9250929050565b600080600080604085870312156148fa57600080fd5b843567ffffffffffffffff8082111561491257600080fd5b61491e88838901614898565b9096509450602087013591508082111561493757600080fd5b5061494487828801614898565b95989497509550505050565b60005b8381101561496b578181015183820152602001614953565b50506000910152565b6000815180845261498c816020860160208601614950565b601f01601f19169290920160200192915050565b6020815260006144fa6020830184614974565b600080604083850312156149c657600080fd5b82356149d1816144b8565b915060208301356149e1816144b8565b809150509250929050565b600080604083850312156149ff57600080fd5b8235614a0a816144b8565b946020939093013593505050565b600060208284031215614a2a57600080fd5b6144fa82614643565b600060208284031215614a4557600080fd5b813567ffffffffffffffff811115614a5c57600080fd5b613e39848285016146e1565b60008282518085526020808601955060208260051b8401016020860160005b84811015614ab557601f19868403018952614aa3838351614974565b98840198925090830190600101614a87565b5090979650505050505050565b60208152600082516104a0806020850152614ae16104c0850183614974565b91506020850151601f1980868503016040870152614aff8483614974565b93506040870151606087015260608701519150614b2760808701836001600160a01b03169052565b60808701519150808685030160a0870152614b428483614a68565b935060a08701519150808685030160c0870152614b5f8483614974565b60c088015160e0888101919091528801516101008089019190915288015161012080890191909152880151610140808901919091528801519094509150610160614bac8188018415159052565b8701519150610180614bc18782018415159052565b87015191506101a0614bd68782018415159052565b8701516101c0878101919091528701516101e080880191909152870151868503820161020080890191909152909250614c0f8584614974565b9088015161022088810191909152880151610240808901919091528801519094509150610260614c428188018415159052565b8701519150610280614c578782018415159052565b8701516102a0878101919091528701516102c0808801919091528701516102e080880191909152870151610300808801919091528701519150610320614ca7818801846001600160a01b03169052565b870151610340878101919091528701519150610360614cc98188018415159052565b8701519150610380614cde8782018415159052565b87015191506103a0614cfa878201846001600160a01b03169052565b87015191506103c0614d0f8782018415159052565b87015191506103e0614d2b878201846001600160a01b03169052565b870151610400878101919091528701519150610420614d4d8188018415159052565b8701519150610440614d628782018415159052565b8701519150610460614d778782018415159052565b8701519150610480614d8c8782018415159052565b8701518685039091018387015290506144ae8382614974565b60208082526014908201527350726573616c65207374696c6c2061637469766560601b604082015260600190565b600060208284031215614de557600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156112fb576112fb614e02565b818103818111156112fb576112fb614e02565b600181815b80851115614e79578160001904821115614e5f57614e5f614e02565b80851615614e6c57918102915b93841c9390800290614e43565b509250929050565b600082614e90575060016112fb565b81614e9d575060006112fb565b8160018114614eb35760028114614ebd57614ed9565b60019150506112fb565b60ff841115614ece57614ece614e02565b50506001821b6112fb565b5060208310610133831016604e8410600b8410161715614efc575081810a6112fb565b614f068383614e3e565b8060001904821115614f1a57614f1a614e02565b029392505050565b60006144fa8383614e81565b80820281158282048414176112fb576112fb614e02565b600082614f6257634e487b7160e01b600052601260045260246000fd5b500490565b600080600060608486031215614f7c57600080fd5b8351925060208401519150604084015190509250925092565b600181811c90821680614fa957607f821691505b602082108103614fc957634e487b7160e01b600052602260045260246000fd5b50919050565b600060018201614fe157614fe1614e02565b5060010190565b602080825260119082015270141c995cd85b194818d85b98d95b1b1959607a1b604082015260600190565b601f821115612e3f576000816000526020600020601f850160051c8101602086101561503c5750805b601f850160051c820191505b81811015610ee957828155600101615048565b815167ffffffffffffffff81111561507557615075614501565b615089816150838454614f95565b84615013565b602080601f8311600181146150be57600084156150a65750858301515b600019600386901b1c1916600185901b178555610ee9565b600085815260208120601f198616915b828110156150ed578886015182559484019460019091019084016150ce565b508582101561510b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600061512e6040830185614974565b90508260208301529392505050565b60006020828403121561514f57600080fd5b815160ff811681146144fa57600080fd5b60006020828403121561517257600080fd5b815167ffffffffffffffff81111561518957600080fd5b8201601f8101841361519a57600080fd5b80516151a861458d826146b9565b8181528560208385010111156151bd57600080fd5b6151ce826020830160208601614950565b95945050505050565b6000602082840312156151e957600080fd5b81516144fa816144b8565b634e487b7160e01b600052603160045260246000fdfea264697066735822122069b5a2c071139ddea62af6c3b8fb42227156f1a5794c45d8232f036aed42fe3c64736f6c63430008160033