7 txs
8 calls
constructor
constructor()
functions
_isExcludedMaxTransactionAmount
viewfunction _isExcludedMaxTransactionAmount(address) view returns (bool)
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
automatedMarketMakerPairs
viewfunction automatedMarketMakerPairs(address) view returns (bool)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
buyBackWallet
viewfunction buyBackWallet() view returns (address)
buyBuyBackFee
viewfunction buyBuyBackFee() view returns (uint256)
buyDevFee
viewfunction buyDevFee() view returns (uint256)
buyLiquidityFee
viewfunction buyLiquidityFee() view returns (uint256)
buyMarketingFee
viewfunction buyMarketingFee() view returns (uint256)
buyTotalFees
viewfunction buyTotalFees() view returns (uint256)
deadAddress
viewfunction deadAddress() view returns (address)
decimals
viewfunction decimals() view returns (uint8)
devWallet
viewfunction devWallet() view returns (address)
isBlacklisted
viewfunction isBlacklisted(address account) view returns (bool)
isExcludedFromFees
viewfunction isExcludedFromFees(address account) view returns (bool)
limitsInEffect
viewfunction limitsInEffect() view returns (bool)
marketingWallet
viewfunction marketingWallet() view returns (address)
maxTransactionAmount
viewfunction maxTransactionAmount() view returns (uint256)
maxWallet
viewfunction maxWallet() view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
rescueSwap
viewfunction rescueSwap() view returns (bool)
sellBuyBackFee
viewfunction sellBuyBackFee() view returns (uint256)
sellDevFee
viewfunction sellDevFee() view returns (uint256)
sellLiquidityFee
viewfunction sellLiquidityFee() view returns (uint256)
sellMarketingFee
viewfunction sellMarketingFee() view returns (uint256)
sellTotalFees
viewfunction sellTotalFees() view returns (uint256)
swapEnabled
viewfunction swapEnabled() view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokensForBuyBack
viewfunction tokensForBuyBack() view returns (uint256)
tokensForDev
viewfunction tokensForDev() view returns (uint256)
tokensForLiquidity
viewfunction tokensForLiquidity() view returns (uint256)
tokensForMarketing
viewfunction tokensForMarketing() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
tradingActive
viewfunction tradingActive() view returns (bool)
tradingActiveBlock
viewfunction tradingActiveBlock() view returns (uint256)
uniswapV2Pair
viewfunction uniswapV2Pair() view returns (address)
uniswapV2Router
viewfunction uniswapV2Router() view returns (address)
airdropToWallets
nonpayablefunction airdropToWallets(address[] airdropWallets, uint256[] amounts) returns (bool)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
blacklistAccounts
nonpayablefunction blacklistAccounts(address[] accounts, bool isBlacklistedAccount)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
enableTrading
nonpayablefunction enableTrading()
excludeFromFees
nonpayablefunction excludeFromFees(address account, bool excluded)
excludeFromMaxTransaction
nonpayablefunction excludeFromMaxTransaction(address updAds, bool isEx)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
manualSwapBack
nonpayablefunction manualSwapBack()
removeLimits
nonpayablefunction removeLimits() returns (bool)
renounceOwnership
nonpayablefunction renounceOwnership()
resetTaxAmount
nonpayablefunction resetTaxAmount()
setAutomatedMarketMakerPair
nonpayablefunction setAutomatedMarketMakerPair(address pair, bool value)
transfer
nonpayablefunction transfer(address recipient, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address sender, address recipient, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateBuyBackWallet
nonpayablefunction updateBuyBackWallet(address newWallet)
updateBuyFees
nonpayablefunction updateBuyFees(uint256 _marketingFee, uint256 _liquidityFee, uint256 _devFee, uint256 _buyBackFee)
updateDevWallet
nonpayablefunction updateDevWallet(address newWallet)
updateMarketingWallet
nonpayablefunction updateMarketingWallet(address newMarketingWallet)
updateMaxAmount
nonpayablefunction updateMaxAmount(uint256 newNum)
updateMaxWallet
nonpayablefunction updateMaxWallet(uint256 newNum)
updateRescueSwap
nonpayablefunction updateRescueSwap(bool enabled)
updateSellFees
nonpayablefunction updateSellFees(uint256 _marketingFee, uint256 _liquidityFee, uint256 _devFee, uint256 _buyBackFee)
updateSwapEnabled
nonpayablefunction updateSwapEnabled(bool enabled)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
BuyBackTriggered
event BuyBackTriggered(uint256 amount)
buyBackWalletUpdated
event buyBackWalletUpdated(address indexed newWallet, address indexed oldWallet)
BuyFeesUpdated
event BuyFeesUpdated(uint256 marketingFee, uint256 liquidityFee, uint256 devFee, uint256 buyBackFee)
devWalletUpdated
event devWalletUpdated(address indexed newWallet, address indexed oldWallet)
ExcludeFromFees
event ExcludeFromFees(address indexed account, bool isExcluded)
marketingWalletUpdated
event marketingWalletUpdated(address indexed newWallet, address indexed oldWallet)
OwnerForcedSwapBack
event OwnerForcedSwapBack(uint256 timestamp)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SellFeesUpdated
event SellFeesUpdated(uint256 marketingFee, uint256 liquidityFee, uint256 devFee, uint256 buyBackFee)
SetAutomatedMarketMakerPair
event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value)
SwapAndLiquify
event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
UpdateUniswapV2Router
event UpdateUniswapV2Router(address indexed newAddress, address indexed oldAddress)
errors
No errors.
creation bytecode
0x60c0604052600b805464ffffffff001916610100179055348015610021575f5ffd5b50604080518082018252600880825267436c61726954656160c01b60208084018290528451808601909552918452908301529060036100608382611a10565b50600461006d8282611a10565b5050505f61007f6104d060201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250905f905f51602061520b5f395f51905f52908290a350600b805460ff1916601290811790915533905f906100d890600a611bc1565b6100e690633b9aca00611bcf565b905060646100f5826002611bcf565b6100ff9190611be6565b600955606461010f826002611bcf565b6101199190611be6565b600a556014600e8190555f600f81905560108190556011819055908190610141908290611c05565b61014b9190611c05565b6101559190611c05565b600d55601460138190555f8082556015819055601681905590819061017b908290611c05565b6101859190611c05565b61018f9190611c05565b601255600680546001600160a01b0384166001600160a01b03199182168117909255600780548216831790556008805490911690911790555f466038036101eb57507310ed43c718714eb63d5aa57b78b54704e256024e6102d1565b466121050361020f5750734752ba5dbc23f44d87826276bf6fd6b1c372ad246102d1565b4661a86a0361023357507360ae616a2155ee3d9a68541ba4544862310933d46102d1565b46608903610256575073a5e0829caced8ffdd4de3c43696c57f7d7a678ff6102d1565b4660fa03610279575073f491e7b69e4244ad4002bc14e878a34207e38c296102d1565b4662aa36a70361029e575073c532a74256d3db42d0bf7a0400fefdbad76940086102d1565b46600114806102ad5750466004145b156102cd5750734752ba5dbc23f44d87826276bf6fd6b1c372ad246102d1565b5f5ffd5b806102dd8160016104d4565b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610325573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103499190611c18565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610394573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b89190611c18565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610402573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104269190611c18565b6001600160a01b031660a081905261043f9060016104d4565b60a05161044d90600161054a565b61045884600161059d565b61046330600161059d565b61047061dead600161059d565b61047b8460016104d4565b6104863060016104d4565b61049361dead60016104d4565b61049d3084610642565b6104be303360646104af87605a611bcf565b6104b99190611be6565b61070b565b6104c784610f83565b50505050611d35565b3390565b6005546001600160a01b031633146105205760405162461bcd60e51b815260206004820181905260248201525f5160206151eb5f395f51905f5260448201526064015b60405180910390fd5b6001600160a01b03919091165f908152601d60205260409020805460ff1916911515919091179055565b6001600160a01b0382165f818152601e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b031633146105e45760405162461bcd60e51b815260206004820181905260248201525f5160206151eb5f395f51905f526044820152606401610517565b6001600160a01b0382165f818152601c6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b0382166106985760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610517565b6002546106a59082611077565b6002556001600160a01b0382165f908152602081905260409020546106ca9082611077565b6001600160a01b0383165f81815260208181526040808320949094559251848152919290915f51602061522b5f395f51905f52910160405180910390a35050565b6001600160a01b03831661075c5760405162461bcd60e51b815260206004820152602560248201525f5160206151cb5f395f51905f52604482015264647265737360d81b6064820152608401610517565b6001600160a01b0382166107ab5760405162461bcd60e51b815260206004820152602360248201525f5160206151855f395f51905f5260448201526265737360e81b6064820152608401610517565b6001600160a01b0382165f908152601b602052604090205460ff161580156107eb57506001600160a01b0383165f908152601b602052604090205460ff16155b6108515760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b6064820152608401610517565b600b5462010000900460ff166108ea576001600160a01b0383165f908152601c602052604090205460ff168061089e57506001600160a01b0382165f908152601c602052604090205460ff165b6108ea5760405162461bcd60e51b815260206004820152601660248201527f54726164696e67206973206e6f74206163746976652e000000000000000000006044820152606401610517565b805f03610901576108fc83835f6110de565b505050565b600b54610100900460ff1615610c18576005546001600160a01b0384811691161480159061093d57506005546001600160a01b03838116911614155b801561095157506001600160a01b03821615155b801561096857506001600160a01b03821661dead14155b80156109ae57506001600160a01b0383165f908152601c602052604090205460ff16806109ac57506001600160a01b0382165f908152601c602052604090205460ff165b155b80156109c45750600554600160a01b900460ff16155b15610c18576001600160a01b0383165f908152601e602052604090205460ff168015610a0857506001600160a01b0382165f908152601d602052604090205460ff16155b15610af357600954811115610a855760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527f6d61785472616e73616374696f6e416d6f756e742e00000000000000000000006064820152608401610517565b600a546001600160a01b0383165f90815260208190526040902054610aaa9083611c05565b1115610aee5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610517565b610c18565b6001600160a01b0382165f908152601e602052604090205460ff168015610b3257506001600160a01b0383165f908152601d602052604090205460ff16155b15610baf57600954811115610aee5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201527f206d61785472616e73616374696f6e416d6f756e742e000000000000000000006064820152608401610517565b600a546001600160a01b0383165f90815260208190526040902054610bd49083611c05565b1115610c185760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610517565b305f9081526020819052604090205480158015908190610c415750600b546301000000900460ff165b8015610c575750600554600160a01b900460ff16155b8015610c7b57506001600160a01b0385165f908152601e602052604090205460ff16155b8015610c9f57506001600160a01b0385165f908152601c602052604090205460ff16155b8015610cc357506001600160a01b0384165f908152601c602052604090205460ff16155b15610cf1576005805460ff60a01b1916600160a01b179055610ce361122e565b6005805460ff60a01b191690555b6005546001600160a01b0386165f908152601c602052604090205460ff600160a01b909204821615911680610d3d57506001600160a01b0385165f908152601c602052604090205460ff165b15610d4557505f5b5f8115610f6f576001600160a01b0386165f908152601e602052604090205460ff1615610e545760125415610e4f57601254610d8f90606490610d899088906114f0565b9061156e565b905060125460145482610da29190611bcf565b610dac9190611be6565b60185f828254610dbc9190611c05565b9091555050601254601554610dd19083611bcf565b610ddb9190611be6565b60195f828254610deb9190611c05565b9091555050601254601354610e009083611bcf565b610e0a9190611be6565b60175f828254610e1a9190611c05565b9091555050601254601654610e2f9083611bcf565b610e399190611be6565b601a5f828254610e499190611c05565b90915550505b610f51565b6001600160a01b0387165f908152601e602052604090205460ff1615610f5157600d5415610f5157600d54610e9190606490610d899088906114f0565b9050600d54600f5482610ea49190611bcf565b610eae9190611be6565b60185f828254610ebe9190611c05565b9091555050600d54601054610ed39083611bcf565b610edd9190611be6565b60195f828254610eed9190611c05565b9091555050600d54600e54610f029083611bcf565b610f0c9190611be6565b60175f828254610f1c9190611c05565b9091555050600d54601154610f319083611bcf565b610f3b9190611be6565b601a5f828254610f4b9190611c05565b90915550505b8015610f6257610f628730836110de565b610f6c8186611c3e565b94505b610f7a8787876110de565b50505050505050565b6005546001600160a01b03163314610fca5760405162461bcd60e51b815260206004820181905260248201525f5160206151eb5f395f51905f526044820152606401610517565b6001600160a01b03811661102f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610517565b6005546040516001600160a01b038084169216905f51602061520b5f395f51905f52905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b5f806110838385611c05565b9050838110156110d55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610517565b90505b92915050565b6001600160a01b03831661112f5760405162461bcd60e51b815260206004820152602560248201525f5160206151cb5f395f51905f52604482015264647265737360d81b6064820152608401610517565b6001600160a01b03821661117e5760405162461bcd60e51b815260206004820152602360248201525f5160206151855f395f51905f5260448201526265737360e81b6064820152608401610517565b6111ba816040518060600160405280602681526020016151a5602691396001600160a01b0386165f9081526020819052604090205491906115b5565b6001600160a01b038085165f9081526020819052604080822093909355908416815220546111e89082611077565b6001600160a01b038381165f818152602081815260409182902094909455518481529092918616915f51602061522b5f395f51905f5291015b60405180910390a3505050565b305f90815260208190526040902054600b54640100000000900460ff161561127157801561126e5760065461126e9030906001600160a01b0316836110de565b50565b5f601a546019546017546018546112889190611c05565b6112929190611c05565b61129c9190611c05565b90505f8215806112aa575081155b156112b457505050565b5f600283601854866112c69190611bcf565b6112d09190611be6565b6112da9190611be6565b90505f6112e785836115ed565b9050476112f382611634565b5f6112fe47836115ed565b90505f61131a87610d89601754856114f060201b90919060201c565b90505f61133688610d89601954866114f060201b90919060201c565b90505f61135289610d89601a54876114f060201b90919060201c565b90505f81836113618688611c3e565b61136b9190611c3e565b6113759190611c3e565b5f601881905560178190556019819055601a8190556007546040519293506001600160a01b031691859181818185875af1925050503d805f81146113d4576040519150601f19603f3d011682016040523d82523d5f602084013e6113d9565b606091505b5050600854604051919a506001600160a01b03169083905f81818185875af1925050503d805f8114611426576040519150601f19603f3d011682016040523d82523d5f602084013e61142b565b606091505b5090995050871580159061143e57505f81115b156114915761144d888261178f565b601854604080518981526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6006546040516001600160a01b039091169047905f81818185875af1925050503d805f81146114db576040519150601f19603f3d011682016040523d82523d5f602084013e6114e0565b606091505b5050505050505050505050505050565b5f825f036114ff57505f6110d8565b5f61150a8385611bcf565b9050826115178583611be6565b146110d55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610517565b5f6110d583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061183960201b60201c565b5f81848411156115d85760405162461bcd60e51b81526004016105179190611c51565b505f6115e48486611c3e565b95945050505050565b5f6110d583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115b560201b60201c565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061166757611667611c86565b60200260200101906001600160a01b031690816001600160a01b0316815250506080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e99190611c18565b816001815181106116fc576116fc611c86565b60200260200101906001600160a01b031690816001600160a01b03168152505061172f306080518461186560201b60201c565b6080516001600160a01b031663791ac947835f8430426040518663ffffffff1660e01b8152600401611765959493929190611c9a565b5f604051808303815f87803b15801561177c575f5ffd5b505af19250505080156108fc57505b5050565b6117a2306080518461186560201b60201c565b60805160405163f305d71960e01b8152306004820152602481018490525f60448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af19350505050801561182c575060408051601f3d908101601f1916820190925261182991810190611d0a565b60015b1561178b575b5050505050565b5f81836118595760405162461bcd60e51b81526004016105179190611c51565b505f6115e48486611be6565b6001600160a01b0383166118c75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610517565b6001600160a01b0382166119285760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610517565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101611221565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806119a857607f821691505b6020821081036119c657634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156108fc57805f5260205f20601f840160051c810160208510156119f15750805b601f840160051c820191505b81811015611832575f81556001016119fd565b81516001600160401b03811115611a2957611a29611980565b611a3d81611a378454611994565b846119cc565b6020601f821160018114611a6f575f8315611a585750848201515b5f19600385901b1c1916600184901b178455611832565b5f84815260208120601f198516915b82811015611a9e5787850151825560209485019460019092019101611a7e565b5084821015611abb57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b6001815b6001841115611b1957808504811115611afd57611afd611aca565b6001841615611b0b57908102905b60019390931c928002611ae2565b935093915050565b5f82611b2f575060016110d8565b81611b3b57505f6110d8565b8160018114611b515760028114611b5b57611b77565b60019150506110d8565b60ff841115611b6c57611b6c611aca565b50506001821b6110d8565b5060208310610133831016604e8410600b8410161715611b9a575081810a6110d8565b611ba65f198484611ade565b805f1904821115611bb957611bb9611aca565b029392505050565b5f6110d560ff841683611b21565b80820281158282048414176110d8576110d8611aca565b5f82611c0057634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156110d8576110d8611aca565b5f60208284031215611c28575f5ffd5b81516001600160a01b03811681146110d5575f5ffd5b818103818111156110d8576110d8611aca565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b81811015611cea5783516001600160a01b0316835260209384019390920191600101611cc3565b50506001600160a01b039590951660608401525050608001529392505050565b5f5f5f60608486031215611d1c575f5ffd5b5050815160208301516040909301519094929350919050565b60805160a051613405611d805f395f818161067301526115da01525f81816104b101528181612a0101528181612ab801528181612af401528181612b680152612bc401526134055ff3fe6080604052600436106103ab575f3560e01c80637571336a116101e9578063a457c2d711610108578063dd62ed3e1161009d578063f2fde38b1161006d578063f2fde38b14610acb578063f637434214610aea578063f8b45b0514610aff578063fe575a8714610b14575f5ffd5b8063dd62ed3e14610a3e578063e7ad9fcd14610a82578063ee40166e14610aa1578063f11a24d314610ab6575f5ffd5b8063bbc0c742116100d8578063bbc0c742146109d6578063c0246668146109f5578063c8c8ebe414610a14578063d85ba06314610a29575f5ffd5b8063a457c2d71461094b578063a9059cbb1461096a578063aacebbe314610989578063b62496f5146109a8575f5ffd5b8063924de9b71161017e5780639c3b4fdc1161014e5780639c3b4fdc146108ed5780639ccf6e21146109025780639fccce3214610921578063a0d82dc514610936575f5ffd5b8063924de9b71461087c578063955b225b1461089b57806395d89b41146108ba5780639a7a23d6146108ce575f5ffd5b80638a8c523c116101b95780638a8c523c146108175780638da5cb5b1461082b5780638ea5220f146108485780639213691314610867575f5ffd5b80637571336a146107b057806375f0a874146107cf5780637bce5a04146107ee5780637dd72e8d14610803575f5ffd5b80632307b441116102d55780634c24c51d1161026a5780636ddd17131161023a5780636ddd17131461073457806370a0823114610754578063715018a614610788578063751039fc1461079c575f5ffd5b80634c24c51d146106b35780634fbee193146106d457806366eb37851461070b5780636a486a8e1461071f575f5ffd5b8063313ce567116102a5578063313ce56714610622578063395093511461064357806349bd5a5e146106625780634a62bb6514610695575f5ffd5b80632307b441146105b057806323b872dd146105cf57806327c8f835146105ee5780632e6ed7ef14610603575f5ffd5b806318160ddd1161034b5780631c499ab01161031b5780631c499ab0146105485780631cd348c0146105675780631f3fed8f146105865780631fe70a981461059b575f5ffd5b806318160ddd146104eb5780631816467f146104ff5780631a221dbb1461051e5780631a8145bb14610533575f5ffd5b80630b166d50116103865780630b166d5014610430578063106b5da11461045357806310d5de53146104725780631694505e146104a0575f5ffd5b806306e7b14d146103b657806306fdde03146103d7578063095ea7b314610401575f5ffd5b366103b257005b5f5ffd5b3480156103c1575f5ffd5b506103d56103d0366004612c7f565b610b4b565b005b3480156103e2575f5ffd5b506103eb610bda565b6040516103f89190612c9a565b60405180910390f35b34801561040c575f5ffd5b5061042061041b366004612ccf565b610c6a565b60405190151581526020016103f8565b34801561043b575f5ffd5b50610445601a5481565b6040519081526020016103f8565b34801561045e575f5ffd5b506103d561046d366004612cf9565b610c80565b34801561047d575f5ffd5b5061042061048c366004612c7f565b601d6020525f908152604090205460ff1681565b3480156104ab575f5ffd5b506104d37f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103f8565b3480156104f6575f5ffd5b50600254610445565b34801561050a575f5ffd5b506103d5610519366004612c7f565b610d25565b348015610529575f5ffd5b5061044560165481565b34801561053e575f5ffd5b5061044560185481565b348015610553575f5ffd5b506103d5610562366004612cf9565b610dab565b348015610572575f5ffd5b506008546104d3906001600160a01b031681565b348015610591575f5ffd5b5061044560175481565b3480156105a6575f5ffd5b5061044560115481565b3480156105bb575f5ffd5b506104206105ca366004612deb565b610e50565b3480156105da575f5ffd5b506104206105e9366004612ea9565b611020565b3480156105f9575f5ffd5b506104d361dead81565b34801561060e575f5ffd5b506103d561061d366004612ee7565b61107d565b34801561062d575f5ffd5b50600b5460405160ff90911681526020016103f8565b34801561064e575f5ffd5b5061042061065d366004612ccf565b611184565b34801561066d575f5ffd5b506104d37f000000000000000000000000000000000000000000000000000000000000000081565b3480156106a0575f5ffd5b50600b5461042090610100900460ff1681565b3480156106be575f5ffd5b50600b5461042090640100000000900460ff1681565b3480156106df575f5ffd5b506104206106ee366004612c7f565b6001600160a01b03165f908152601c602052604090205460ff1690565b348015610716575f5ffd5b506103d56111b9565b34801561072a575f5ffd5b5061044560125481565b34801561073f575f5ffd5b50600b54610420906301000000900460ff1681565b34801561075f575f5ffd5b5061044561076e366004612c7f565b6001600160a01b03165f9081526020819052604090205490565b348015610793575f5ffd5b506103d5611387565b3480156107a7575f5ffd5b506104206113fa565b3480156107bb575f5ffd5b506103d56107ca366004612f2a565b611437565b3480156107da575f5ffd5b506006546104d3906001600160a01b031681565b3480156107f9575f5ffd5b50610445600e5481565b34801561080e575f5ffd5b506103d561148b565b348015610822575f5ffd5b506103d56114ca565b348015610836575f5ffd5b506005546001600160a01b03166104d3565b348015610853575f5ffd5b506007546104d3906001600160a01b031681565b348015610872575f5ffd5b5061044560135481565b348015610887575f5ffd5b506103d5610896366004612f5d565b61150d565b3480156108a6575f5ffd5b506103d56108b5366004612f5d565b611555565b3480156108c5575f5ffd5b506103eb61159f565b3480156108d9575f5ffd5b506103d56108e8366004612f2a565b6115ae565b3480156108f8575f5ffd5b5061044560105481565b34801561090d575f5ffd5b506103d561091c366004612f76565b61168d565b34801561092c575f5ffd5b5061044560195481565b348015610941575f5ffd5b5061044560155481565b348015610956575f5ffd5b50610420610965366004612ccf565b611766565b348015610975575f5ffd5b50610420610984366004612ccf565b6117b3565b348015610994575f5ffd5b506103d56109a3366004612c7f565b6117bf565b3480156109b3575f5ffd5b506104206109c2366004612c7f565b601e6020525f908152604090205460ff1681565b3480156109e1575f5ffd5b50600b546104209062010000900460ff1681565b348015610a00575f5ffd5b506103d5610a0f366004612f2a565b611845565b348015610a1f575f5ffd5b5061044560095481565b348015610a34575f5ffd5b50610445600d5481565b348015610a49575f5ffd5b50610445610a58366004612fb8565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610a8d575f5ffd5b506103d5610a9c366004612ee7565b6118cd565b348015610aac575f5ffd5b50610445600c5481565b348015610ac1575f5ffd5b50610445600f5481565b348015610ad6575f5ffd5b506103d5610ae5366004612c7f565b6119d3565b348015610af5575f5ffd5b5061044560145481565b348015610b0a575f5ffd5b50610445600a5481565b348015610b1f575f5ffd5b50610420610b2e366004612c7f565b6001600160a01b03165f908152601b602052604090205460ff1690565b6005546001600160a01b03163314610b7e5760405162461bcd60e51b8152600401610b7590612fef565b60405180910390fd5b6008546040516001600160a01b03918216918316907f15e571905a1c816ac9ad091c2b82079da1ad3668d345e3894c424c5e5b47d97b905f90a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b606060038054610be990613024565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1590613024565b8015610c605780601f10610c3757610100808354040283529160200191610c60565b820191905f5260205f20905b815481529060010190602001808311610c4357829003601f168201915b5050505050905090565b5f610c76338484611abd565b5060015b92915050565b6005546001600160a01b03163314610caa5760405162461bcd60e51b8152600401610b7590612fef565b600b54610cbb9060ff16600a613153565b6064610cc660025490565b610cd1906001613161565b610cdb9190613178565b610ce59190613178565b811015610d045760405162461bcd60e51b8152600401610b7590613197565b600b54610d159060ff16600a613153565b610d1f9082613161565b60095550565b6005546001600160a01b03163314610d4f5760405162461bcd60e51b8152600401610b7590612fef565b6007546040516001600160a01b03918216918316907f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e743905f90a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610dd55760405162461bcd60e51b8152600401610b7590612fef565b600b54610de69060ff16600a613153565b6064610df160025490565b610dfc906001613161565b610e069190613178565b610e109190613178565b811015610e2f5760405162461bcd60e51b8152600401610b7590613197565b600b54610e409060ff16600a613153565b610e4a9082613161565b600a5550565b6005545f906001600160a01b03163314610e7c5760405162461bcd60e51b8152600401610b7590612fef565b600b5462010000900460ff1615610efb5760405162461bcd60e51b815260206004820152603760248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201527f742061697264726f70206166746572206c61756e63682e0000000000000000006064820152608401610b75565b8151835114610f4c5760405162461bcd60e51b815260206004820152601e60248201527f617272617973206d757374206265207468652073616d65206c656e67746800006044820152606401610b75565b60c8835110610fbc5760405162461bcd60e51b815260206004820152603660248201527f43616e206f6e6c792061697264726f70203230302077616c6c657473207065726044820152752074786e2064756520746f20676173206c696d69747360501b6064820152608401610b75565b5f5b8351811015611016575f848281518110610fda57610fda6131e4565b602002602001015190505f848381518110610ff757610ff76131e4565b6020026020010151905061100c338383611be1565b5050600101610fbe565b5060019392505050565b5f61102c848484611be1565b611016843361107885604051806060016040528060288152602001613383602891396001600160a01b038a165f90815260016020908152604080832033845290915290205491906123f4565b611abd565b6005546001600160a01b031633146110a75760405162461bcd60e51b8152600401610b7590612fef565b5f81836110b486886131f8565b6110be91906131f8565b6110c891906131f8565b9050603281111561111b5760405162461bcd60e51b815260206004820181905260248201527f546f74616c2062757920666565732063616e6e6f7420657863656564203530256044820152606401610b75565b600e859055600f84905560108390556011829055600d8190556040805186815260208101869052908101849052606081018390527f892b2caa2d791bf7b8d9a49c4db7a4513ff1ae2e0e068ed217f9d5ab4c1a28f0906080015b60405180910390a15050505050565b335f8181526001602090815260408083206001600160a01b03871684529091528120549091610c76918590611078908661242c565b6005546001600160a01b031633146111e35760405162461bcd60e51b8152600401610b7590612fef565b600b546301000000900460ff166112325760405162461bcd60e51b815260206004820152601360248201527214ddd85c081a5cc81b9bdd08195b98589b1959606a1b6044820152606401610b75565b600554600160a01b900460ff161561128c5760405162461bcd60e51b815260206004820152601b60248201527f5377617020697320616c726561647920696e2070726f677265737300000000006044820152606401610b75565b305f9081526020819052604081205490505f6019546017546018546112b191906131f8565b6112bb91906131f8565b90505f821161130c5760405162461bcd60e51b815260206004820152601d60248201527f4e6f20746f6b656e7320696e20636f6e747261637420746f20737761700000006044820152606401610b75565b5f811161135b5760405162461bcd60e51b815260206004820181905260248201527f4e6f20746f6b656e7320616c6c6f636174656420666f72207377617070696e676044820152606401610b75565b6005805460ff60a01b1916600160a01b179055611376612491565b50506005805460ff60a01b19169055565b6005546001600160a01b031633146113b15760405162461bcd60e51b8152600401610b7590612fef565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005545f906001600160a01b031633146114265760405162461bcd60e51b8152600401610b7590612fef565b50600b805461ff0019169055600190565b6005546001600160a01b031633146114615760405162461bcd60e51b8152600401610b7590612fef565b6001600160a01b03919091165f908152601d60205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146114b55760405162461bcd60e51b8152600401610b7590612fef565b5f601881905560178190556019819055601a55565b6005546001600160a01b031633146114f45760405162461bcd60e51b8152600401610b7590612fef565b600b805463ffff00001916630101000017905543600c55565b6005546001600160a01b031633146115375760405162461bcd60e51b8152600401610b7590612fef565b600b805491151563010000000263ff00000019909216919091179055565b6005546001600160a01b0316331461157f5760405162461bcd60e51b8152600401610b7590612fef565b600b80549115156401000000000264ff0000000019909216919091179055565b606060048054610be990613024565b6005546001600160a01b031633146115d85760405162461bcd60e51b8152600401610b7590612fef565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361167f5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610b75565b6116898282612753565b5050565b6005546001600160a01b031633146116b75760405162461bcd60e51b8152600401610b7590612fef565b5f8251116117075760405162461bcd60e51b815260206004820152601e60248201527f4163636f756e7473206c6973742063616e6e6f7420626520656d7074792e00006044820152606401610b75565b5f5b82518110156117615781601b5f858481518110611728576117286131e4565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101611709565b505050565b5f610c763384611078856040518060600160405280602581526020016133ab60259139335f9081526001602090815260408083206001600160a01b038d16845290915290205491906123f4565b5f610c76338484611be1565b6005546001600160a01b031633146117e95760405162461bcd60e51b8152600401610b7590612fef565b6006546040516001600160a01b03918216918316907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b05674905f90a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0316331461186f5760405162461bcd60e51b8152600401610b7590612fef565b6001600160a01b0382165f818152601c6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146118f75760405162461bcd60e51b8152600401610b7590612fef565b5f818361190486886131f8565b61190e91906131f8565b61191891906131f8565b905060328111156119755760405162461bcd60e51b815260206004820152602160248201527f546f74616c2073656c6c20666565732063616e6e6f74206578636565642035306044820152602560f81b6064820152608401610b75565b601385905560148490556015839055601682905560128190556040805186815260208101869052908101849052606081018390527f439932620c72dddea29980c098bca1a482729646d1216b226d723c6d278a30d190608001611175565b6005546001600160a01b031633146119fd5760405162461bcd60e51b8152600401610b7590612fef565b6001600160a01b038116611a625760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b75565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316611b1f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b75565b6001600160a01b038216611b805760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b75565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316611c075760405162461bcd60e51b8152600401610b759061320b565b6001600160a01b038216611c2d5760405162461bcd60e51b8152600401610b7590613250565b6001600160a01b0382165f908152601b602052604090205460ff16158015611c6d57506001600160a01b0383165f908152601b602052604090205460ff16155b611cd35760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b6064820152608401610b75565b600b5462010000900460ff16611d65576001600160a01b0383165f908152601c602052604090205460ff1680611d2057506001600160a01b0382165f908152601c602052604090205460ff165b611d655760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610b75565b805f03611d775761176183835f6127a6565b600b54610100900460ff161561207f576005546001600160a01b03848116911614801590611db357506005546001600160a01b03838116911614155b8015611dc757506001600160a01b03821615155b8015611dde57506001600160a01b03821661dead14155b8015611e2457506001600160a01b0383165f908152601c602052604090205460ff1680611e2257506001600160a01b0382165f908152601c602052604090205460ff165b155b8015611e3a5750600554600160a01b900460ff16155b1561207f576001600160a01b0383165f908152601e602052604090205460ff168015611e7e57506001600160a01b0382165f908152601d602052604090205460ff16155b15611f6157600954811115611ef35760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610b75565b600a546001600160a01b0383165f90815260208190526040902054611f1890836131f8565b1115611f5c5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610b75565b61207f565b6001600160a01b0382165f908152601e602052604090205460ff168015611fa057506001600160a01b0383165f908152601d602052604090205460ff16155b1561201657600954811115611f5c5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610b75565b600a546001600160a01b0383165f9081526020819052604090205461203b90836131f8565b111561207f5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610b75565b305f90815260208190526040902054801580159081906120a85750600b546301000000900460ff165b80156120be5750600554600160a01b900460ff16155b80156120e257506001600160a01b0385165f908152601e602052604090205460ff16155b801561210657506001600160a01b0385165f908152601c602052604090205460ff16155b801561212a57506001600160a01b0384165f908152601c602052604090205460ff16155b15612158576005805460ff60a01b1916600160a01b17905561214a612491565b6005805460ff60a01b191690555b6005546001600160a01b0386165f908152601c602052604090205460ff600160a01b9092048216159116806121a457506001600160a01b0385165f908152601c602052604090205460ff165b156121ac57505f5b5f81156123e0576001600160a01b0386165f908152601e602052604090205460ff16156122c057601254156122bb576121fb60646121f5601254886128ac90919063ffffffff16565b9061292a565b90506012546014548261220e9190613161565b6122189190613178565b60185f82825461222891906131f8565b909155505060125460155461223d9083613161565b6122479190613178565b60195f82825461225791906131f8565b909155505060125460135461226c9083613161565b6122769190613178565b60175f82825461228691906131f8565b909155505060125460165461229b9083613161565b6122a59190613178565b601a5f8282546122b591906131f8565b90915550505b6123c2565b6001600160a01b0387165f908152601e602052604090205460ff16156123c257600d54156123c25761230260646121f5600d54886128ac90919063ffffffff16565b9050600d54600f54826123159190613161565b61231f9190613178565b60185f82825461232f91906131f8565b9091555050600d546010546123449083613161565b61234e9190613178565b60195f82825461235e91906131f8565b9091555050600d54600e546123739083613161565b61237d9190613178565b60175f82825461238d91906131f8565b9091555050600d546011546123a29083613161565b6123ac9190613178565b601a5f8282546123bc91906131f8565b90915550505b80156123d3576123d38730836127a6565b6123dd8186613293565b94505b6123eb8787876127a6565b50505050505050565b5f81848411156124175760405162461bcd60e51b8152600401610b759190612c9a565b505f6124238486613293565b95945050505050565b5f8061243883856131f8565b90508381101561248a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b75565b9392505050565b305f90815260208190526040902054600b54640100000000900460ff16156124d45780156124d1576006546124d19030906001600160a01b0316836127a6565b50565b5f601a546019546017546018546124eb91906131f8565b6124f591906131f8565b6124ff91906131f8565b90505f82158061250d575081155b1561251757505050565b5f600283601854866125299190613161565b6125339190613178565b61253d9190613178565b90505f61254a858361296b565b905047612556826129ac565b5f612561478361296b565b90505f61257d876121f5601754856128ac90919063ffffffff16565b90505f612599886121f5601954866128ac90919063ffffffff16565b90505f6125b5896121f5601a54876128ac90919063ffffffff16565b90505f81836125c48688613293565b6125ce9190613293565b6125d89190613293565b5f601881905560178190556019819055601a8190556007546040519293506001600160a01b031691859181818185875af1925050503d805f8114612637576040519150601f19603f3d011682016040523d82523d5f602084013e61263c565b606091505b5050600854604051919a506001600160a01b03169083905f81818185875af1925050503d805f8114612689576040519150601f19603f3d011682016040523d82523d5f602084013e61268e565b606091505b509099505087158015906126a157505f81115b156126f4576126b08882612b62565b601854604080518981526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6006546040516001600160a01b039091169047905f81818185875af1925050503d805f811461273e576040519150601f19603f3d011682016040523d82523d5f602084013e612743565b606091505b5050505050505050505050505050565b6001600160a01b0382165f818152601e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166127cc5760405162461bcd60e51b8152600401610b759061320b565b6001600160a01b0382166127f25760405162461bcd60e51b8152600401610b7590613250565b61282e8160405180606001604052806026815260200161335d602691396001600160a01b0386165f9081526020819052604090205491906123f4565b6001600160a01b038085165f90815260208190526040808220939093559084168152205461285c908261242c565b6001600160a01b038381165f818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611bd4565b5f825f036128bb57505f610c7a565b5f6128c68385613161565b9050826128d38583613178565b1461248a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b75565b5f61248a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c3f565b5f61248a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123f4565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106129df576129df6131e4565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a5b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a7f91906132a6565b81600181518110612a9257612a926131e4565b60200260200101906001600160a01b031690816001600160a01b031681525050612add307f000000000000000000000000000000000000000000000000000000000000000084611abd565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063791ac94790612b319085905f908690309042906004016132c1565b5f604051808303815f87803b158015612b48575f5ffd5b505af1925050508015612b59575060015b15611689575050565b612b8d307f000000000000000000000000000000000000000000000000000000000000000084611abd565b60405163f305d71960e01b8152306004820152602481018390525f60448201819052606482015261dead60848201524260a48201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f305d71990839060c40160606040518083038185885af193505050508015612c33575060408051601f3d908101601f19168201909252612c3091810190613331565b60015b15611689575050505050565b5f8183612c5f5760405162461bcd60e51b8152600401610b759190612c9a565b505f6124238486613178565b6001600160a01b03811681146124d1575f5ffd5b5f60208284031215612c8f575f5ffd5b813561248a81612c6b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f60408385031215612ce0575f5ffd5b8235612ceb81612c6b565b946020939093013593505050565b5f60208284031215612d09575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612d4d57612d4d612d10565b604052919050565b5f67ffffffffffffffff821115612d6e57612d6e612d10565b5060051b60200190565b5f82601f830112612d87575f5ffd5b8135612d9a612d9582612d55565b612d24565b8082825260208201915060208360051b860101925085831115612dbb575f5ffd5b602085015b83811015612de1578035612dd381612c6b565b835260209283019201612dc0565b5095945050505050565b5f5f60408385031215612dfc575f5ffd5b823567ffffffffffffffff811115612e12575f5ffd5b612e1e85828601612d78565b925050602083013567ffffffffffffffff811115612e3a575f5ffd5b8301601f81018513612e4a575f5ffd5b8035612e58612d9582612d55565b8082825260208201915060208360051b850101925087831115612e79575f5ffd5b6020840193505b82841015612e9b578335825260209384019390910190612e80565b809450505050509250929050565b5f5f5f60608486031215612ebb575f5ffd5b8335612ec681612c6b565b92506020840135612ed681612c6b565b929592945050506040919091013590565b5f5f5f5f60808587031215612efa575f5ffd5b5050823594602084013594506040840135936060013592509050565b80358015158114612f25575f5ffd5b919050565b5f5f60408385031215612f3b575f5ffd5b8235612f4681612c6b565b9150612f5460208401612f16565b90509250929050565b5f60208284031215612f6d575f5ffd5b61248a82612f16565b5f5f60408385031215612f87575f5ffd5b823567ffffffffffffffff811115612f9d575f5ffd5b612fa985828601612d78565b925050612f5460208401612f16565b5f5f60408385031215612fc9575f5ffd5b8235612fd481612c6b565b91506020830135612fe481612c6b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c9082168061303857607f821691505b60208210810361305657634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156130ab5780850481111561308f5761308f61305c565b600184161561309d57908102905b60019390931c928002613074565b935093915050565b5f826130c157506001610c7a565b816130cd57505f610c7a565b81600181146130e357600281146130ed57613109565b6001915050610c7a565b60ff8411156130fe576130fe61305c565b50506001821b610c7a565b5060208310610133831016604e8410600b841016171561312c575081810a610c7a565b6131385f198484613070565b805f190482111561314b5761314b61305c565b029392505050565b5f61248a60ff8416836130b3565b8082028115828204841417610c7a57610c7a61305c565b5f8261319257634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602d908201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060408201526c6c6f776572207468616e20312560981b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b80820180821115610c7a57610c7a61305c565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610c7a57610c7a61305c565b5f602082840312156132b6575f5ffd5b815161248a81612c6b565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156133115783516001600160a01b03168352602093840193909201916001016132ea565b50506001600160a01b039590951660608401525050608001529392505050565b5f5f5f60608486031215613343575f5ffd5b505081516020830151604090930151909492935091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fdbd120a6902318e0ae69385644d77aa965008fda53d989ff3ec21cf6b9e556464736f6c634300081b003345524332303a207472616e7366657220746f20746865207a65726f206164647245524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e736665722066726f6d20746865207a65726f2061644f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef