0 txs
0 calls
constructor
constructor()
functions
admin
viewfunction admin() view returns (address)
aggregatorInterface
viewfunction aggregatorInterface() view returns (address)
baseDecimals
viewfunction baseDecimals() view returns (uint256)
checkPoint
viewfunction checkPoint() view returns (uint256)
claimStart
viewfunction claimStart() view returns (uint256)
currentStep
viewfunction currentStep() view returns (uint256)
directTotalTokensSold
viewfunction directTotalTokensSold() view returns (uint256)
directUsdPrice
viewfunction directUsdPrice() view returns (uint256)
dynamicSaleState
viewfunction dynamicSaleState() view returns (bool)
dynamicTimeFlag
viewfunction dynamicTimeFlag() view returns (bool)
endTime
viewfunction endTime() view returns (uint256)
ethBuyHelper
viewfunction ethBuyHelper(uint256 amount) view returns (uint256)
fetchPrice
viewfunction fetchPrice(uint256 amountOut) view returns (uint256)
getLatestPrice
viewfunction getLatestPrice() view returns (uint256)
hasClaimed
viewfunction hasClaimed(address) view returns (bool)
isBlacklisted
viewfunction isBlacklisted(address) view returns (bool)
isWhitelisted
viewfunction isWhitelisted(address) view returns (bool)
maxTokensToBuy
viewfunction maxTokensToBuy() view returns (uint256)
maxTokensToSell
viewfunction maxTokensToSell() view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
paymentWallet
viewfunction paymentWallet() view returns (address)
percent
viewfunction percent() view returns (uint256)
prevCheckpoints
viewfunction prevCheckpoints(uint256) view returns (uint256)
remainingTokensTracker
viewfunction remainingTokensTracker(uint256) view returns (uint256)
roundDetails
viewfunction roundDetails(uint256 _no) view returns (uint256[])
rounds
viewfunction rounds(uint256, uint256) view returns (uint256)
router
viewfunction router() view returns (address)
saleToken
viewfunction saleToken() view returns (address)
stakeingWhitelistStatus
viewfunction stakeingWhitelistStatus() view returns (bool)
stakingManagerInterface
viewfunction stakingManagerInterface() view returns (address)
startTime
viewfunction startTime() view returns (uint256)
timeConstant
viewfunction timeConstant() view returns (uint256)
totalBoughtAndStaked
viewfunction totalBoughtAndStaked() view returns (uint256)
totalTokensSold
viewfunction totalTokensSold() view returns (uint256)
usdRaised
viewfunction usdRaised() view returns (uint256)
USDTInterface
viewfunction USDTInterface() view returns (address)
userDeposits
viewfunction userDeposits(address) view returns (uint256)
wertWhitelisted
viewfunction wertWhitelisted(address) view returns (bool)
whitelistClaimOnly
viewfunction whitelistClaimOnly() view returns (bool)
blacklistUsers
nonpayablefunction blacklistUsers(address[] _usersToBlacklist)
buyWithEth
payablefunction buyWithEth(uint256 amount) payable returns (bool)
buyWithEthDynamic
payablefunction buyWithEthDynamic(uint256 amount) payable returns (bool)
buyWithEthWert
payablefunction buyWithEthWert(address user, uint256 amount) payable returns (bool)
buyWithEthWertDynamic
payablefunction buyWithEthWertDynamic(address user, uint256 amount) payable returns (bool)
buyWithUSDT
nonpayablefunction buyWithUSDT(uint256 amount) returns (bool)
buyWithUSDTDynamic
nonpayablefunction buyWithUSDTDynamic(uint256 amount) returns (bool)
changePaymentWallet
nonpayablefunction changePaymentWallet(address _newPaymentWallet)
claim
nonpayablefunction claim() returns (bool)
claimAndStake
nonpayablefunction claimAndStake() returns (bool)
pause
nonpayablefunction pause()
removeFromBlacklist
nonpayablefunction removeFromBlacklist(address[] _userToRemoveFromBlacklist)
removeFromWhitelist
nonpayablefunction removeFromWhitelist(address[] _userToRemoveFromWhitelist)
removeFromWhitelistForWERT
nonpayablefunction removeFromWhitelistForWERT(address[] _addressesToRemoveFromWhitelist)
renounceOwnership
nonpayablefunction renounceOwnership()
setClaimWhitelistStatus
nonpayablefunction setClaimWhitelistStatus(bool _status)
setDynamicSaleState
nonpayablefunction setDynamicSaleState(bool state, address _router)
setMaxTokensToSell
nonpayablefunction setMaxTokensToSell(uint256 _maxTokensToSell)
setPercent
nonpayablefunction setPercent(uint256 _percent)
setStakingManager
nonpayablefunction setStakingManager(address _stakingManagerAddress)
setTokenPrice
nonpayablefunction setTokenPrice(uint256 price)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
updateFromBSC
nonpayablefunction updateFromBSC(address[] _users, uint256[] _userDeposits)
whitelistUsers
nonpayablefunction whitelistUsers(address[] _usersToWhitelist)
whitelistUsersForWERT
nonpayablefunction whitelistUsersForWERT(address[] _addressesToWhitelist)
events
ClaimStartUpdated
event ClaimStartUpdated(uint256 prevValue, uint256 newValue, uint256 timestamp)
Initialized
event Initialized(uint8 version)
MaxTokensUpdated
event MaxTokensUpdated(uint256 prevValue, uint256 newValue, uint256 timestamp)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
SaleTimeSet
event SaleTimeSet(uint256 _start, uint256 _end, uint256 timestamp)
SaleTimeUpdated
event SaleTimeUpdated(bytes32 indexed key, uint256 prevValue, uint256 newValue, uint256 timestamp)
TokensAdded
event TokensAdded(address indexed token, uint256 noOfTokens, uint256 timestamp)
TokensBought
event TokensBought(address indexed user, uint256 indexed tokensBought, address indexed purchaseToken, uint256 amountPaid, uint256 usdEq, uint256 timestamp)
TokensBoughtAndStaked
event TokensBoughtAndStaked(address indexed user, uint256 indexed tokensBought, address indexed purchaseToken, uint256 amountPaid, uint256 usdEq, uint256 timestamp)
TokensClaimed
event TokensClaimed(address indexed user, uint256 amount, uint256 timestamp)
TokensClaimedAndStaked
event TokensClaimedAndStaked(address indexed user, uint256 amount, uint256 timestamp)
Unpaused
event Unpaused(address account)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060008060019054906101000a900460ff16159050808015620000445750600160008054906101000a900460ff1660ff16105b8062000080575062000061306200016360201b62003c9c1760201c565b1580156200007f5750600160008054906101000a900460ff1660ff16145b5b620000c2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000b9906200020d565b60405180910390fd5b60016000806101000a81548160ff021916908360ff160217905550801562000100576001600060016101000a81548160ff0219169083151502179055505b80156200015c5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498600160405162000153919062000289565b60405180910390a15b50620002a6565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000620001f5602e8362000186565b9150620002028262000197565b604082019050919050565b600060208201905081810360008301526200022881620001e6565b9050919050565b6000819050919050565b600060ff82169050919050565b6000819050919050565b6000620002716200026b62000265846200022f565b62000246565b62000239565b9050919050565b620002838162000250565b82525050565b6000602082019050620002a0600083018462000278565b92915050565b615a9680620002b66000396000f3fe6080604052600436106103d95760003560e01c80638456cb59116101fd578063dad80e8611610118578063f04d688f116100ab578063f851a4401161007a578063f851a44014610eac578063f887ea4014610ed7578063fb9a4acd14610f02578063fe4cf22e14610f2b578063fe575a8714610f5b576103d9565b8063f04d688f14610e04578063f2fde38b14610e2f578063f446374314610e58578063f597573f14610e81576103d9565b8063e985e367116100e7578063e985e36714610d55578063eadd94ec14610d80578063eb9d4ef714610dab578063edec5f2714610ddb576103d9565b8063dad80e8614610c85578063e19648db14610cb0578063e32204dd14610ced578063e6da921314610d18576103d9565b8063ba166a3911610190578063cad005561161015f578063cad0055614610bdd578063cb1a4fc014610c06578063cff805ab14610c31578063d76abb9d14610c5c576103d9565b8063ba166a3914610b0f578063bb3d676a14610b4c578063c23326f314610b75578063c49cc64514610bb2576103d9565b80639cfa0f7c116101cc5780639cfa0f7c14610a4e578063a7c6016014610a79578063b0068efb14610ab6578063b00bba6a14610ae6576103d9565b80638456cb59146109b857806389daf799146109cf5780638da5cb5b146109f85780638e15f47314610a23576103d9565b80634e00ed50116102f857806363b201171161028b5780637154b8b51161025a5780637154b8b5146108cc57806373b2e80e146108f55780637649b9571461093257806378e97925146109625780637f6fb2531461098d576103d9565b806363b20117146108365780636a61e5fc1461086157806370ba11131461088a578063715018a6146108b5576103d9565b80635a03d679116102c75780635a03d679146107785780635bc34f71146107a35780635c975abb146107ce5780635df4f353146107f9576103d9565b80634e00ed50146106ce5780634e71d92d146106f957806353d9920714610724578063548db1741461074f576103d9565b806329a5a0b6116103705780633af32abf1161033f5780633af32abf146106245780633dd31df2146106615780633f4ba83a1461068c57806343568eae146106a3576103d9565b806329a5a0b6146105665780633197cbb6146105a357806333f76178146105ce57806338646608146105f9576103d9565b80631c3b7df9116103ac5780631c3b7df9146104ac5780631ddc6091146104e95780631fa2bc921461051257806328de18591461053d576103d9565b806303b9c5ad146103de5780630ba36dcd146104075780631199193d146104445780631559f7821461046f575b600080fd5b3480156103ea57600080fd5b506104056004803603810190610400919061412a565b610f98565b005b34801561041357600080fd5b5061042e600480360381019061042991906141d5565b611045565b60405161043b919061421b565b60405180910390f35b34801561045057600080fd5b5061045961105d565b604051610466919061421b565b60405180910390f35b34801561047b57600080fd5b5061049660048036038101906104919190614262565b611063565b6040516104a3919061421b565b60405180910390f35b3480156104b857600080fd5b506104d360048036038101906104ce9190614262565b611292565b6040516104e091906142aa565b60405180910390f35b3480156104f557600080fd5b50610510600480360381019061050b91906142f1565b611675565b005b34801561051e57600080fd5b5061052761169a565b60405161053491906142aa565b60405180910390f35b34801561054957600080fd5b50610564600480360381019061055f919061431e565b6116ad565b005b34801561057257600080fd5b5061058d60048036038101906105889190614262565b611714565b60405161059a919061421b565b60405180910390f35b3480156105af57600080fd5b506105b8611755565b6040516105c5919061421b565b60405180910390f35b3480156105da57600080fd5b506105e361175b565b6040516105f0919061421b565b60405180910390f35b34801561060557600080fd5b5061060e611761565b60405161061b91906143bd565b60405180910390f35b34801561063057600080fd5b5061064b600480360381019061064691906141d5565b611787565b60405161065891906142aa565b60405180910390f35b34801561066d57600080fd5b506106766117a7565b60405161068391906142aa565b60405180910390f35b34801561069857600080fd5b506106a16117ba565b005b3480156106af57600080fd5b506106b86117cc565b6040516106c5919061421b565b60405180910390f35b3480156106da57600080fd5b506106e36117d2565b6040516106f0919061421b565b60405180910390f35b34801561070557600080fd5b5061070e6117d8565b60405161071b91906142aa565b60405180910390f35b34801561073057600080fd5b50610739611d1b565b60405161074691906142aa565b60405180910390f35b34801561075b57600080fd5b506107766004803603810190610771919061412a565b611d2e565b005b34801561078457600080fd5b5061078d611ddb565b60405161079a919061421b565b60405180910390f35b3480156107af57600080fd5b506107b8611de1565b6040516107c5919061421b565b60405180910390f35b3480156107da57600080fd5b506107e3611de7565b6040516107f091906142aa565b60405180910390f35b34801561080557600080fd5b50610820600480360381019061081b91906141d5565b611dfe565b60405161082d91906142aa565b60405180910390f35b34801561084257600080fd5b5061084b611e1e565b604051610858919061421b565b60405180910390f35b34801561086d57600080fd5b5061088860048036038101906108839190614262565b611e24565b005b34801561089657600080fd5b5061089f611e36565b6040516108ac919061421b565b60405180910390f35b3480156108c157600080fd5b506108ca611e3c565b005b3480156108d857600080fd5b506108f360048036038101906108ee9190614262565b611e50565b005b34801561090157600080fd5b5061091c600480360381019061091791906141d5565b611e62565b60405161092991906142aa565b60405180910390f35b61094c60048036038101906109479190614262565b611e82565b60405161095991906142aa565b60405180910390f35b34801561096e57600080fd5b50610977612190565b604051610984919061421b565b60405180910390f35b34801561099957600080fd5b506109a2612196565b6040516109af919061421b565b60405180910390f35b3480156109c457600080fd5b506109cd61219c565b005b3480156109db57600080fd5b506109f660048036038101906109f1919061412a565b6121ae565b005b348015610a0457600080fd5b50610a0d61225b565b604051610a1a91906143e7565b60405180910390f35b348015610a2f57600080fd5b50610a38612285565b604051610a45919061421b565b60405180910390f35b348015610a5a57600080fd5b50610a63612348565b604051610a70919061421b565b60405180910390f35b348015610a8557600080fd5b50610aa06004803603810190610a9b9190614262565b61234e565b604051610aad91906142aa565b60405180910390f35b610ad06004803603810190610acb9190614402565b612793565b604051610add91906142aa565b60405180910390f35b348015610af257600080fd5b50610b0d6004803603810190610b0891906141d5565b612abb565b005b348015610b1b57600080fd5b50610b366004803603810190610b319190614262565b612c47565b604051610b439190614500565b60405180910390f35b348015610b5857600080fd5b50610b736004803603810190610b6e919061412a565b612cb4565b005b348015610b8157600080fd5b50610b9c6004803603810190610b979190614262565b612d61565b604051610ba9919061421b565b60405180910390f35b348015610bbe57600080fd5b50610bc7612d85565b604051610bd49190614543565b60405180910390f35b348015610be957600080fd5b50610c046004803603810190610bff91906141d5565b612dab565b005b348015610c1257600080fd5b50610c1b612e67565b604051610c2891906142aa565b60405180910390f35b348015610c3d57600080fd5b50610c4661320d565b604051610c53919061421b565b60405180910390f35b348015610c6857600080fd5b50610c836004803603810190610c7e9190614262565b613213565b005b348015610c9157600080fd5b50610c9a613225565b604051610ca791906142aa565b60405180910390f35b348015610cbc57600080fd5b50610cd76004803603810190610cd29190614262565b613238565b604051610ce4919061421b565b60405180910390f35b348015610cf957600080fd5b50610d0261325c565b604051610d0f91906143e7565b60405180910390f35b348015610d2457600080fd5b50610d3f6004803603810190610d3a919061455e565b613282565b604051610d4c919061421b565b60405180910390f35b348015610d6157600080fd5b50610d6a6132b6565b604051610d7791906143e7565b60405180910390f35b348015610d8c57600080fd5b50610d956132dc565b604051610da2919061421b565b60405180910390f35b610dc56004803603810190610dc09190614402565b6132e2565b604051610dd291906142aa565b60405180910390f35b348015610de757600080fd5b50610e026004803603810190610dfd919061412a565b61366f565b005b348015610e1057600080fd5b50610e1961371c565b604051610e26919061421b565b60405180910390f35b348015610e3b57600080fd5b50610e566004803603810190610e5191906141d5565b613722565b005b348015610e6457600080fd5b50610e7f6004803603810190610e7a919061412a565b6137a6565b005b348015610e8d57600080fd5b50610e96613853565b604051610ea391906145bf565b60405180910390f35b348015610eb857600080fd5b50610ec1613879565b604051610ece91906143e7565b60405180910390f35b348015610ee357600080fd5b50610eec61389f565b604051610ef991906145fb565b60405180910390f35b348015610f0e57600080fd5b50610f296004803603810190610f24919061466c565b6138c5565b005b610f456004803603810190610f409190614262565b6139d3565b604051610f5291906142aa565b60405180910390f35b348015610f6757600080fd5b50610f826004803603810190610f7d91906141d5565b613c7c565b604051610f8f91906142aa565b60405180910390f35b610fa0613cbf565b60005b8282905081101561104057600160e06000858585818110610fc757610fc66146ed565b5b9050602002016020810190610fdc91906141d5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806110389061474b565b915050610fa3565b505050565b60dc6020528060005260406000206000915090505481565b60e45481565b600080600267ffffffffffffffff81111561108157611080614794565b5b6040519080825280602002602001820160405280156110af5781602001602082028036833780820191505090505b50905073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816000815181106110db576110da6146ed565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073b62e45c3df611dce236a6ddc7a493d79f9dfadef8160018151811061113e5761113d6146ed565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600060e960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631f00ca7485846040518363ffffffff1660e01b81526004016111d7929190614881565b60006040518083038186803b1580156111ef57600080fd5b505afa158015611203573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061122c91906149e6565b9050606460e75482600081518110611247576112466146ed565b5b60200260200101516112599190614a2f565b6112639190614ab8565b81600081518110611277576112766146ed565b5b60200260200101516112899190614ae9565b92505050919050565b600061129c613d3d565b60e660009054906101000a900460ff166112eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e290614b9c565b60405180910390fd5b60e45460e8546112fb9190614bbc565b82111561133d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133490614c62565b60405180910390fd5b8160e4600082825461134f9190614ae9565b92505081905550600061136e60ce54846113699190614a2f565b611063565b9050600060ce5461137d612285565b836113889190614a2f565b6113929190614ab8565b9050600064e8d4a51000826113a79190614ab8565b9050600060da60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113ec613d87565b60d960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460405160240161142293929190614c82565b6040516020818303038152906040527f23b872dd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516114ac9190614d33565b6000604051808303816000865af19150503d80600081146114e9576040519150601f19603f3d011682016040523d82523d6000602084013e6114ee565b606091505b5050905080611532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152990614d96565b60405180910390fd5b60e260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391c61966611578613d87565b60ce54896115869190614a2f565b6040518363ffffffff1660e01b81526004016115a3929190614db6565b600060405180830381600087803b1580156115bd57600080fd5b505af11580156115d1573d6000803e3d6000fd5b5050505060da60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1686611617613d87565b73ffffffffffffffffffffffffffffffffffffffff167f4d8aead3491b7eba4b5c7a65fc17e493b9e63f9e433522fc5f6a85a168fc9d3685874260405161166093929190614ddf565b60405180910390a46001945050505050919050565b61167d613cbf565b8060d960156101000a81548160ff02191690831515021790555050565b60d960149054906101000a900460ff1681565b6116b5613cbf565b8160e660006101000a81548160ff0219169083151502179055508060e960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008060e554836117259190614a2f565b90506000611731612285565b60ce548361173f9190614a2f565b6117499190614ab8565b90508092505050919050565b60cb5481565b60ce5481565b60e260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60df6020528060005260406000206000915054906101000a900460ff1681565b60e660009054906101000a900460ff1681565b6117c2613cbf565b6117ca613d8f565b565b60d85481565b60e55481565b60006117e2613d3d565b600073ffffffffffffffffffffffffffffffffffffffff1660cd60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186b90614e62565b60405180910390fd5b60de6000611880613d87565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ff90614ece565b60405180910390fd5b60d960159054906101000a900460ff16156119b15760df6000611929613d87565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166119b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a790614f3a565b60405180910390fd5b5b60cc544210156119f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ed90614fa6565b60405180910390fd5b60dd6000611a02613d87565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8190615012565b60405180910390fd5b600160dd6000611a98613d87565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600060dc6000611af7613d87565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111611b77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6e9061507e565b60405180910390fd5b60dc6000611b83613d87565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009055600060cd60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb611c09613d87565b846040518363ffffffff1660e01b8152600401611c27929190614db6565b602060405180830381600087803b158015611c4157600080fd5b505af1158015611c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7991906150b3565b905080611cbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb29061512c565b60405180910390fd5b611cc3613d87565b73ffffffffffffffffffffffffffffffffffffffff167f9923b4306c6c030f2bdfbf156517d5983b87e15b96176da122cd4f2effa4ba7b8342604051611d0a92919061514c565b60405180910390a260019250505090565b60d960159054906101000a900460ff1681565b611d36613cbf565b60005b82829050811015611dd657600060df6000858585818110611d5d57611d5c6146ed565b5b9050602002016020810190611d7291906141d5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611dce9061474b565b915050611d39565b505050565b60e85481565b60d05481565b6000609760009054906101000a900460ff16905090565b60e06020528060005260406000206000915054906101000a900460ff1681565b60c95481565b611e2c613cbf565b8060e58190555050565b60e75481565b611e44613cbf565b611e4e6000613df2565b565b611e58613cbf565b8060e78190555050565b60dd6020528060005260406000206000915054906101000a900460ff1681565b6000611e8c613d3d565b611e94613eb8565b60e660009054906101000a900460ff16611ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eda90614b9c565b60405180910390fd5b60e45460e854611ef39190614bbc565b821115611f35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2c90614c62565b60405180910390fd5b8160e46000828254611f479190614ae9565b925050819055506000611f6660ce5484611f619190614a2f565b611063565b905080341015611fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa2906151c1565b60405180910390fd5b60008134611fb99190614bbc565b9050611fe760d960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613f08565b600081111561200257612001611ffb613d87565b82613f08565b5b600060cd60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61204a613d87565b60ce54886120589190614a2f565b6040518363ffffffff1660e01b8152600401612075929190614db6565b602060405180830381600087803b15801561208f57600080fd5b505af11580156120a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c791906150b3565b905080612109576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121009061512c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168561212a613d87565b73ffffffffffffffffffffffffffffffffffffffff167f4d8aead3491b7eba4b5c7a65fc17e493b9e63f9e433522fc5f6a85a168fc9d36866000426040516121749392919061521c565b60405180910390a46001935050505061218b613ffc565b919050565b60ca5481565b60e35481565b6121a4613cbf565b6121ac614005565b565b6121b6613cbf565b60005b8282905081101561225657600060de60008585858181106121dd576121dc6146ed565b5b90506020020160208101906121f291906141d5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061224e9061474b565b9150506121b9565b505050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060db60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156122f057600080fd5b505afa158015612304573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232891906152cb565b5050509150506402540be4008161233f9190615346565b90508091505090565b60cf5481565b6000612358613d3d565b60e660009054906101000a900460ff166123a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239e90614b9c565b60405180910390fd5b60e45460e8546123b79190614bbc565b8211156123f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f090614c62565b60405180910390fd5b8160e4600082825461240b9190614ae9565b92505081905550600061242a60ce54846124259190614a2f565b611063565b9050600060ce54612439612285565b836124449190614a2f565b61244e9190614ab8565b9050600064e8d4a51000826124639190614ab8565b9050600060da60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166124a8613d87565b60d960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040516024016124de93929190614c82565b6040516020818303038152906040527f23b872dd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516125689190614d33565b6000604051808303816000865af19150503d80600081146125a5576040519150601f19603f3d011682016040523d82523d6000602084013e6125aa565b606091505b50509050806125ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e590614d96565b60405180910390fd5b60cd60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb612634613d87565b60ce54896126429190614a2f565b6040518363ffffffff1660e01b815260040161265f929190614db6565b602060405180830381600087803b15801561267957600080fd5b505af115801561268d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b191906150b3565b9050806126f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ea9061512c565b60405180910390fd5b60da60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1686612735613d87565b73ffffffffffffffffffffffffffffffffffffffff167f4d8aead3491b7eba4b5c7a65fc17e493b9e63f9e433522fc5f6a85a168fc9d3685874260405161277e93929190614ddf565b60405180910390a46001945050505050919050565b600061279d613d3d565b6127a5613eb8565b60e060006127b1613d87565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282f906154a9565b60405180910390fd5b60e660009054906101000a900460ff16612887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287e90614b9c565b60405180910390fd5b60e45460e8546128979190614bbc565b8211156128d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128d090614c62565b60405180910390fd5b8160e460008282546128eb9190614ae9565b92505081905550600061290a60ce54846129059190614a2f565b611063565b90508034101561294f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612946906151c1565b60405180910390fd5b6000813461295d9190614bbc565b905061298b60d960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613f08565b600081111561299f5761299e8582613f08565b5b60e260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391c619668660ce54876129ec9190614a2f565b6040518363ffffffff1660e01b8152600401612a09929190614db6565b600060405180830381600087803b158015612a2357600080fd5b505af1158015612a37573d6000803e3d6000fd5b50505050600073ffffffffffffffffffffffffffffffffffffffff16848673ffffffffffffffffffffffffffffffffffffffff167f4d8aead3491b7eba4b5c7a65fc17e493b9e63f9e433522fc5f6a85a168fc9d3685600042604051612a9f9392919061521c565b60405180910390a4600192505050612ab5613ffc565b92915050565b612ac3613cbf565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2a9061553b565b60405180910390fd5b8060e260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060cd60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401612bf1929190614db6565b602060405180830381600087803b158015612c0b57600080fd5b505af1158015612c1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c4391906150b3565b5050565b606060d18260038110612c5d57612c5c6146ed565b5b01805480602002602001604051908101604052809291908181526020018280548015612ca857602002820191906000526020600020905b815481526020019060010190808311612c94575b50505050509050919050565b612cbc613cbf565b60005b82829050811015612d5c57600160de6000858585818110612ce357612ce26146ed565b5b9050602002016020810190612cf891906141d5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080612d549061474b565b915050612cbf565b505050565b60d78181548110612d7157600080fd5b906000526020600020016000915090505481565b60db60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612db3613cbf565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612e23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1a906155a7565b60405180910390fd5b8060d960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000612e71613d3d565b600073ffffffffffffffffffffffffffffffffffffffff1660cd60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612f03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612efa90614e62565b60405180910390fd5b60de6000612f0f613d87565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f8e90614ece565b60405180910390fd5b60e260149054906101000a900460ff16156130405760df6000612fb8613d87565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661303f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161303690615613565b60405180910390fd5b5b600060dc600061304e613d87565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081116130ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130c59061567f565b60405180910390fd5b60e260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391c61966613114613d87565b836040518363ffffffff1660e01b8152600401613132929190614db6565b600060405180830381600087803b15801561314c57600080fd5b505af1158015613160573d6000803e3d6000fd5b5050505060dc6000613170613d87565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090556131b6613d87565b73ffffffffffffffffffffffffffffffffffffffff167ffa4ec67f9254455933eb145bae864b26f29dd0a7bbb76eb11e4d6b8b9b184c2b82426040516131fd92919061514c565b60405180910390a2600191505090565b60d45481565b61321b613cbf565b8060e88190555050565b60e260149054906101000a900460ff1681565b60d6818154811061324857600080fd5b906000526020600020016000915090505481565b60d960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60d1826003811061329257600080fd5b0181815481106132a157600080fd5b90600052602060002001600091509150505481565b60cd60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60d55481565b60006132ec613d3d565b6132f4613eb8565b60e06000613300613d87565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16613387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161337e906154a9565b60405180910390fd5b60e660009054906101000a900460ff166133d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133cd90614b9c565b60405180910390fd5b60e45460e8546133e69190614bbc565b821115613428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161341f90614c62565b60405180910390fd5b8160e4600082825461343a9190614ae9565b92505081905550600061345960ce54846134549190614a2f565b611063565b90508034101561349e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613495906151c1565b60405180910390fd5b600081346134ac9190614bbc565b90506134da60d960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613f08565b60008111156134ee576134ed8582613f08565b5b600060cd60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8760ce548861353d9190614a2f565b6040518363ffffffff1660e01b815260040161355a929190614db6565b602060405180830381600087803b15801561357457600080fd5b505af1158015613588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ac91906150b3565b9050806135ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135e59061512c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16858773ffffffffffffffffffffffffffffffffffffffff167f4d8aead3491b7eba4b5c7a65fc17e493b9e63f9e433522fc5f6a85a168fc9d36866000426040516136529392919061521c565b60405180910390a460019350505050613669613ffc565b92915050565b613677613cbf565b60005b8282905081101561371757600160df600085858581811061369e5761369d6146ed565b5b90506020020160208101906136b391906141d5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061370f9061474b565b91505061367a565b505050565b60cc5481565b61372a613cbf565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561379a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161379190615711565b60405180910390fd5b6137a381613df2565b50565b6137ae613cbf565b60005b8282905081101561384e57600060e060008585858181106137d5576137d46146ed565b5b90506020020160208101906137ea91906141d5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806138469061474b565b9150506137b1565b505050565b60da60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60e160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60e960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6138cd613cbf565b818190508484905014613915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161390c9061577d565b60405180910390fd5b60005b848490508110156139cc57828282818110613936576139356146ed565b5b9050602002013560dc6000878785818110613954576139536146ed565b5b905060200201602081019061396991906141d5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546139b29190614ae9565b9250508190555080806139c49061474b565b915050613918565b5050505050565b60006139dd613d3d565b6139e5613eb8565b60e660009054906101000a900460ff16613a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a2b90614b9c565b60405180910390fd5b60e45460e854613a449190614bbc565b821115613a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a7d90614c62565b60405180910390fd5b8160e46000828254613a989190614ae9565b925050819055506000613ab760ce5484613ab29190614a2f565b611063565b905080341015613afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613af3906151c1565b60405180910390fd5b60008134613b0a9190614bbc565b9050613b3860d960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613f08565b6000811115613b5357613b52613b4c613d87565b82613f08565b5b60e260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391c61966613b99613d87565b60ce5487613ba79190614a2f565b6040518363ffffffff1660e01b8152600401613bc4929190614db6565b600060405180830381600087803b158015613bde57600080fd5b505af1158015613bf2573d6000803e3d6000fd5b50505050600073ffffffffffffffffffffffffffffffffffffffff1684613c17613d87565b73ffffffffffffffffffffffffffffffffffffffff167f4d8aead3491b7eba4b5c7a65fc17e493b9e63f9e433522fc5f6a85a168fc9d3685600042604051613c619392919061521c565b60405180910390a4600192505050613c77613ffc565b919050565b60de6020528060005260406000206000915054906101000a900460ff1681565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b613cc7613d87565b73ffffffffffffffffffffffffffffffffffffffff16613ce561225b565b73ffffffffffffffffffffffffffffffffffffffff1614613d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613d32906157e9565b60405180910390fd5b565b613d45611de7565b15613d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613d7c90615855565b60405180910390fd5b565b600033905090565b613d97614068565b6000609760006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa613ddb613d87565b604051613de891906143e7565b60405180910390a1565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60026001541415613efe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ef5906158c1565b60405180910390fd5b6002600181905550565b80471015613f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613f429061592d565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051613f7190615973565b60006040518083038185875af1925050503d8060008114613fae576040519150601f19603f3d011682016040523d82523d6000602084013e613fb3565b606091505b5050905080613ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613fee906159d4565b60405180910390fd5b505050565b60018081905550565b61400d613d3d565b6001609760006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258614051613d87565b60405161405e91906143e7565b60405180910390a1565b614070611de7565b6140af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016140a690615a40565b60405180910390fd5b565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b60008083601f8401126140ea576140e96140c5565b5b8235905067ffffffffffffffff811115614107576141066140ca565b5b602083019150836020820283011115614123576141226140cf565b5b9250929050565b60008060208385031215614141576141406140bb565b5b600083013567ffffffffffffffff81111561415f5761415e6140c0565b5b61416b858286016140d4565b92509250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006141a282614177565b9050919050565b6141b281614197565b81146141bd57600080fd5b50565b6000813590506141cf816141a9565b92915050565b6000602082840312156141eb576141ea6140bb565b5b60006141f9848285016141c0565b91505092915050565b6000819050919050565b61421581614202565b82525050565b6000602082019050614230600083018461420c565b92915050565b61423f81614202565b811461424a57600080fd5b50565b60008135905061425c81614236565b92915050565b600060208284031215614278576142776140bb565b5b60006142868482850161424d565b91505092915050565b60008115159050919050565b6142a48161428f565b82525050565b60006020820190506142bf600083018461429b565b92915050565b6142ce8161428f565b81146142d957600080fd5b50565b6000813590506142eb816142c5565b92915050565b600060208284031215614307576143066140bb565b5b6000614315848285016142dc565b91505092915050565b60008060408385031215614335576143346140bb565b5b6000614343858286016142dc565b9250506020614354858286016141c0565b9150509250929050565b6000819050919050565b600061438361437e61437984614177565b61435e565b614177565b9050919050565b600061439582614368565b9050919050565b60006143a78261438a565b9050919050565b6143b78161439c565b82525050565b60006020820190506143d260008301846143ae565b92915050565b6143e181614197565b82525050565b60006020820190506143fc60008301846143d8565b92915050565b60008060408385031215614419576144186140bb565b5b6000614427858286016141c0565b92505060206144388582860161424d565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61447781614202565b82525050565b6000614489838361446e565b60208301905092915050565b6000602082019050919050565b60006144ad82614442565b6144b7818561444d565b93506144c28361445e565b8060005b838110156144f35781516144da888261447d565b97506144e583614495565b9250506001810190506144c6565b5085935050505092915050565b6000602082019050818103600083015261451a81846144a2565b905092915050565b600061452d8261438a565b9050919050565b61453d81614522565b82525050565b60006020820190506145586000830184614534565b92915050565b60008060408385031215614575576145746140bb565b5b60006145838582860161424d565b92505060206145948582860161424d565b9150509250929050565b60006145a98261438a565b9050919050565b6145b98161459e565b82525050565b60006020820190506145d460008301846145b0565b92915050565b60006145e58261438a565b9050919050565b6145f5816145da565b82525050565b600060208201905061461060008301846145ec565b92915050565b60008083601f84011261462c5761462b6140c5565b5b8235905067ffffffffffffffff811115614649576146486140ca565b5b602083019150836020820283011115614665576146646140cf565b5b9250929050565b60008060008060408587031215614686576146856140bb565b5b600085013567ffffffffffffffff8111156146a4576146a36140c0565b5b6146b0878288016140d4565b9450945050602085013567ffffffffffffffff8111156146d3576146d26140c0565b5b6146df87828801614616565b925092505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061475682614202565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156147895761478861471c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6147f881614197565b82525050565b600061480a83836147ef565b60208301905092915050565b6000602082019050919050565b600061482e826147c3565b61483881856147ce565b9350614843836147df565b8060005b8381101561487457815161485b88826147fe565b975061486683614816565b925050600181019050614847565b5085935050505092915050565b6000604082019050614896600083018561420c565b81810360208301526148a88184614823565b90509392505050565b6000601f19601f8301169050919050565b6148cb826148b1565b810181811067ffffffffffffffff821117156148ea576148e9614794565b5b80604052505050565b60006148fd6140b1565b905061490982826148c2565b919050565b600067ffffffffffffffff82111561492957614928614794565b5b602082029050602081019050919050565b60008151905061494981614236565b92915050565b600061496261495d8461490e565b6148f3565b90508083825260208201905060208402830185811115614985576149846140cf565b5b835b818110156149ae578061499a888261493a565b845260208401935050602081019050614987565b5050509392505050565b600082601f8301126149cd576149cc6140c5565b5b81516149dd84826020860161494f565b91505092915050565b6000602082840312156149fc576149fb6140bb565b5b600082015167ffffffffffffffff811115614a1a57614a196140c0565b5b614a26848285016149b8565b91505092915050565b6000614a3a82614202565b9150614a4583614202565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614a7e57614a7d61471c565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614ac382614202565b9150614ace83614202565b925082614ade57614add614a89565b5b828204905092915050565b6000614af482614202565b9150614aff83614202565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614b3457614b3361471c565b5b828201905092915050565b600082825260208201905092915050565b7f64796e616d69632073616c65206e6f7420616374697665000000000000000000600082015250565b6000614b86601783614b3f565b9150614b9182614b50565b602082019050919050565b60006020820190508181036000830152614bb581614b79565b9050919050565b6000614bc782614202565b9150614bd283614202565b925082821015614be557614be461471c565b5b828203905092915050565b7f616d6f756e742065786365656473206d617820746f6b656e7320746f2062652060008201527f736f6c6400000000000000000000000000000000000000000000000000000000602082015250565b6000614c4c602483614b3f565b9150614c5782614bf0565b604082019050919050565b60006020820190508181036000830152614c7b81614c3f565b9050919050565b6000606082019050614c9760008301866143d8565b614ca460208301856143d8565b614cb1604083018461420c565b949350505050565b600081519050919050565b600081905092915050565b60005b83811015614ced578082015181840152602081019050614cd2565b83811115614cfc576000848401525b50505050565b6000614d0d82614cb9565b614d178185614cc4565b9350614d27818560208601614ccf565b80840191505092915050565b6000614d3f8284614d02565b915081905092915050565b7f546f6b656e207061796d656e74206661696c6564000000000000000000000000600082015250565b6000614d80601483614b3f565b9150614d8b82614d4a565b602082019050919050565b60006020820190508181036000830152614daf81614d73565b9050919050565b6000604082019050614dcb60008301856143d8565b614dd8602083018461420c565b9392505050565b6000606082019050614df4600083018661420c565b614e01602083018561420c565b614e0e604083018461420c565b949350505050565b7f53616c6520746f6b656e206e6f74206164646564000000000000000000000000600082015250565b6000614e4c601483614b3f565b9150614e5782614e16565b602082019050919050565b60006020820190508181036000830152614e7b81614e3f565b9050919050565b7f54686973204164647265737320697320426c61636b6c69737465640000000000600082015250565b6000614eb8601b83614b3f565b9150614ec382614e82565b602082019050919050565b60006020820190508181036000830152614ee781614eab565b9050919050565b7f55736572206e6f742077686974656c697374656420666f7220636c61696d0000600082015250565b6000614f24601e83614b3f565b9150614f2f82614eee565b602082019050919050565b60006020820190508181036000830152614f5381614f17565b9050919050565b7f436c61696d20686173206e6f7420737461727465642079657400000000000000600082015250565b6000614f90601983614b3f565b9150614f9b82614f5a565b602082019050919050565b60006020820190508181036000830152614fbf81614f83565b9050919050565b7f416c726561647920636c61696d65640000000000000000000000000000000000600082015250565b6000614ffc600f83614b3f565b915061500782614fc6565b602082019050919050565b6000602082019050818103600083015261502b81614fef565b9050919050565b7f4e6f7468696e6720746f20636c61696d00000000000000000000000000000000600082015250565b6000615068601083614b3f565b915061507382615032565b602082019050919050565b600060208201905081810360008301526150978161505b565b9050919050565b6000815190506150ad816142c5565b92915050565b6000602082840312156150c9576150c86140bb565b5b60006150d78482850161509e565b91505092915050565b7f546f6b656e207472616e73666572206661696c65640000000000000000000000600082015250565b6000615116601583614b3f565b9150615121826150e0565b602082019050919050565b6000602082019050818103600083015261514581615109565b9050919050565b6000604082019050615161600083018561420c565b61516e602083018461420c565b9392505050565b7f4c657373207061796d656e740000000000000000000000000000000000000000600082015250565b60006151ab600c83614b3f565b91506151b682615175565b602082019050919050565b600060208201905081810360008301526151da8161519e565b9050919050565b6000819050919050565b60006152066152016151fc846151e1565b61435e565b614202565b9050919050565b615216816151eb565b82525050565b6000606082019050615231600083018661420c565b61523e602083018561520d565b61524b604083018461420c565b949350505050565b600069ffffffffffffffffffff82169050919050565b61527281615253565b811461527d57600080fd5b50565b60008151905061528f81615269565b92915050565b6000819050919050565b6152a881615295565b81146152b357600080fd5b50565b6000815190506152c58161529f565b92915050565b600080600080600060a086880312156152e7576152e66140bb565b5b60006152f588828901615280565b9550506020615306888289016152b6565b94505060406153178882890161493a565b93505060606153288882890161493a565b925050608061533988828901615280565b9150509295509295909350565b600061535182615295565b915061535c83615295565b9250827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211600084136000841316161561539b5761539a61471c565b5b817f800000000000000000000000000000000000000000000000000000000000000005831260008412600084131616156153d8576153d761471c565b5b827f800000000000000000000000000000000000000000000000000000000000000005821260008413600084121616156154155761541461471c565b5b827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff05821260008412600084121616156154525761545161471c565b5b828202905092915050565b7f43616c6c6572206e6f742077686974656c697374656420666f72207765727400600082015250565b6000615493601f83614b3f565b915061549e8261545d565b602082019050919050565b600060208201905081810360008301526154c281615486565b9050919050565b7f7374616b696e67206d616e616765722063616e6e6f7420626520696e6174696160008201527f6c697a65642077697468207a65726f2061646472657373000000000000000000602082015250565b6000615525603783614b3f565b9150615530826154c9565b604082019050919050565b6000602082019050818103600083015261555481615518565b9050919050565b7f616464726573732063616e6e6f74206265207a65726f00000000000000000000600082015250565b6000615591601683614b3f565b915061559c8261555b565b602082019050919050565b600060208201905081810360008301526155c081615584565b9050919050565b7f55736572206e6f742077686974656c697374656420666f72207374616b650000600082015250565b60006155fd601e83614b3f565b9150615608826155c7565b602082019050919050565b6000602082019050818103600083015261562c816155f0565b9050919050565b7f4e6f7468696e6720746f207374616b6500000000000000000000000000000000600082015250565b6000615669601083614b3f565b915061567482615633565b602082019050919050565b600060208201905081810360008301526156988161565c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006156fb602683614b3f565b91506157068261569f565b604082019050919050565b6000602082019050818103600083015261572a816156ee565b9050919050565b7f4c656e677468206d69736d617463680000000000000000000000000000000000600082015250565b6000615767600f83614b3f565b915061577282615731565b602082019050919050565b600060208201905081810360008301526157968161575a565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006157d3602083614b3f565b91506157de8261579d565b602082019050919050565b60006020820190508181036000830152615802816157c6565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061583f601083614b3f565b915061584a82615809565b602082019050919050565b6000602082019050818103600083015261586e81615832565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b60006158ab601f83614b3f565b91506158b682615875565b602082019050919050565b600060208201905081810360008301526158da8161589e565b9050919050565b7f4c6f772062616c616e6365000000000000000000000000000000000000000000600082015250565b6000615917600b83614b3f565b9150615922826158e1565b602082019050919050565b600060208201905081810360008301526159468161590a565b9050919050565b50565b600061595d600083614cc4565b91506159688261594d565b600082019050919050565b600061597e82615950565b9150819050919050565b7f455448205061796d656e74206661696c65640000000000000000000000000000600082015250565b60006159be601283614b3f565b91506159c982615988565b602082019050919050565b600060208201905081810360008301526159ed816159b1565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000615a2a601483614b3f565b9150615a35826159f4565b602082019050919050565b60006020820190508181036000830152615a5981615a1d565b905091905056fea2646970667358221220e258f65cda6163cd69ae657c3ce1034a712b1a2b808d08c7990f188ecf5ba9ac64736f6c63430008090033