[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [], "name": "FeesChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldRouter", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newRouter", "type": "address" } ], "name": "UpdatedRouter", "type": "event" }, { "inputs": [], "name": "RewardWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TeamWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "airdropTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "allowedTransfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "bool", "name": "state", "type": "bool" } ], "name": "bulkExcludeFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "coolDownEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "coolDownTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeFromReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "genesis_block", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "includeInFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "includeInReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromReward", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "name": "manualSell", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxBuyLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSellLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWalletLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tAmount", "type": "uint256" }, { "internalType": "bool", "name": "deductTransferRfi", "type": "bool" } ], "name": "reflectionFromToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_tokenAddr", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "rescueAnyERC20Tokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "weiAmount", "type": "uint256" } ], "name": "rescueETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTaxes", "outputs": [ { "internalType": "uint256", "name": "rfi", "type": "uint256" }, { "internalType": "uint256", "name": "marketing", "type": "uint256" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "Reward", "type": "uint256" }, { "internalType": "uint256", "name": "team", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_rfi", "type": "uint256" }, { "internalType": "uint256", "name": "_marketing", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "_Reward", "type": "uint256" }, { "internalType": "uint256", "name": "_team", "type": "uint256" } ], "name": "setSellTaxes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_rfi", "type": "uint256" }, { "internalType": "uint256", "name": "_marketing", "type": "uint256" }, { "internalType": "uint256", "name": "_liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "_Reward", "type": "uint256" }, { "internalType": "uint256", "name": "_team", "type": "uint256" } ], "name": "setTaxes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "state", "type": "bool" } ], "name": "setTradingStatus", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "taxes", "outputs": [ { "internalType": "uint256", "name": "rfi", "type": "uint256" }, { "internalType": "uint256", "name": "marketing", "type": "uint256" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "Reward", "type": "uint256" }, { "internalType": "uint256", "name": "team", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "rAmount", "type": "uint256" } ], "name": "tokenFromReflection", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totFeesPaid", "outputs": [ { "internalType": "uint256", "name": "rfi", "type": "uint256" }, { "internalType": "uint256", "name": "marketing", "type": "uint256" }, { "internalType": "uint256", "name": "liquidity", "type": "uint256" }, { "internalType": "uint256", "name": "Reward", "type": "uint256" }, { "internalType": "uint256", "name": "team", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "state", "type": "bool" } ], "name": "updateAllowedTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "state", "type": "bool" }, { "internalType": "uint256", "name": "time", "type": "uint256" } ], "name": "updateCooldown", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "updateMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxBuy", "type": "uint256" }, { "internalType": "uint256", "name": "maxSell", "type": "uint256" } ], "name": "updateMaxTxLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "updateMaxWalletlimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "updateRewardWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "updateSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "updateSwapTokensAtAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "updateTeamWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526009805461ffff1916610101178155600b805460ff191690556000600c556200002f90600a620009f8565b620000409064174876e80062000ab9565b600f819055620000539060001962000b13565b620000619060001962000adb565b6010556706f05b59d3b200006011556714d1120d7b16000060128190556013819055601455601680546001600160a01b03199081167314ce7951b145a528e0125a8e56698bd5caa94e7290811790925560178054821673df64c2d49e837725574ddd74f7834517ccc4a0111790556018805490911690911790556040805160a08082018352600080835260208084018190528385018290526003606080860182905260809586018490526019849055601a839055601b849055601c829055601d8490558651948501875283855284830183905295840183905294830185905291909201829052601e829055601f8190558190556021919091556022553480156200016a57600080fd5b50620001763362000543565b600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051600091839163c45a015591600480820192602092909190829003018186803b158015620001db57600080fd5b505afa158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021691906200096d565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200025f57600080fd5b505afa15801562000274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029a91906200096d565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620002e357600080fd5b505af1158015620002f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031e91906200096d565b600d80546001600160a01b038086166001600160a01b031992831617909255600e805492841692909116821790559091506200035a9062000593565b60105460016000620003746000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120939093553083526004918290528220805460ff1916600190811790915591620003c36000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560165482168152600484528281208054861660019081179091556017548316825283822080548716821790556018549092168152828120805486168317905530815260069384905291822080549094168117909355620004596000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600e54821681526006909352818320805485166001908117909155601654821684528284208054861682179055601754821684528284208054861682179055601854909116835291208054909216179055620004eb6000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f546040516200053391815260200190565b60405180910390a3505062000b6c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000546001600160a01b03163314620005f35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b03811660009081526005602052604090205460ff16156200065e5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401620005ea565b6001600160a01b03811660009081526001602052604090205415620006bb576001600160a01b038116600090815260016020526040902054620006a19062000721565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b60006010548211156200078a5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401620005ea565b600062000796620007ab565b9050620007a4818462000998565b9392505050565b60008080620007b9620007d1565b9092509050620007ca818362000998565b9250505090565b601054600f546000918291825b600854811015620009395782600160006008848154811062000804576200080462000b56565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806200087357508160026000600884815481106200084c576200084c62000b56565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156200088a57601054600f54945094505050509091565b6001600060088381548110620008a457620008a462000b56565b60009182526020808320909101546001600160a01b03168352820192909252604001902054620008d5908462000adb565b92506002600060088381548110620008f157620008f162000b56565b60009182526020808320909101546001600160a01b0316835282019290925260400190205462000922908362000adb565b915080620009308162000af5565b915050620007de565b50600f546010546200094c919062000998565b8210156200096457601054600f549350935050509091565b90939092509050565b6000602082840312156200098057600080fd5b81516001600160a01b0381168114620007a457600080fd5b600082620009aa57620009aa62000b40565b500490565b600181815b80851115620009f0578160001904821115620009d457620009d462000b2a565b80851615620009e257918102915b93841c9390800290620009b4565b509250929050565b6000620007a460ff84168360008262000a145750600162000ab3565b8162000a235750600062000ab3565b816001811462000a3c576002811462000a475762000a67565b600191505062000ab3565b60ff84111562000a5b5762000a5b62000b2a565b50506001821b62000ab3565b5060208310610133831016604e8410600b841016171562000a8c575081810a62000ab3565b62000a988383620009af565b806000190482111562000aaf5762000aaf62000b2a565b0290505b92915050565b600081600019048311821515161562000ad65762000ad662000b2a565b500290565b60008282101562000af05762000af062000b2a565b500390565b600060001982141562000b0c5762000b0c62000b2a565b5060010190565b60008262000b255762000b2562000b40565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b613acf8062000b7c6000396000f3fe60806040526004361061037a5760003560e01c8063715018a6116101d1578063aacebbe311610102578063dd62ed3e116100a0578063ee36e3591161006f578063ee36e35914610ad1578063f2fde38b14610aeb578063f66895a314610b0b578063f887ea4014610b3257600080fd5b8063dd62ed3e14610a35578063e2f4560514610a7b578063e517f2b914610a91578063ea2f0b3714610ab157600080fd5b8063cc600f91116100dc578063cc600f91146109bf578063d257b34f146109df578063d2ce0db2146109ff578063d8672e5114610a1557600080fd5b8063aacebbe31461095f578063b5c571451461097f578063c791fc541461099f57600080fd5b8063924de9b71161016f5780639e252f00116101495780639e252f00146108df578063a457c2d7146108ff578063a8aa1b311461091f578063a9059cbb1461093f57600080fd5b8063924de9b71461086c57806395d89b411461088c5780639ba5e4d5146108b857600080fd5b80637cb332bb116101ab5780637cb332bb146107d557806388f82020146107f55780638da5cb5b1461082e5780638e2839ff1461084c57600080fd5b8063715018a614610751578063728f8eea1461076657806375f0a874146107b557600080fd5b80634549b039116102ab578063652e2f04116102495780636aa5b37f116102235780636aa5b37f146106dc5780636ddd1713146106f2578063706f69371461071157806370a082311461073157600080fd5b8063652e2f041461069057806366a88d96146106a6578063677a8870146106bc57600080fd5b80635342acb4116102855780635342acb4146105e757806359759f61146106205780635fcefa421461064057806362695eae1461066057600080fd5b80634549b0391461058d5780634ada218b146105ad57806352390c02146105c757600080fd5b80632d838119116103185780633685d419116102f25780633685d4191461050d578063379ba1d91461052d578063395093511461054d578063437823ec1461056d57600080fd5b80632d83811914610499578063313ce567146104b9578063361ca077146104d557600080fd5b806318160ddd1161035457806318160ddd1461042457806323b872dd14610443578063274a533c146104635780632d4efa471461047957600080fd5b806306fdde0314610386578063095ea7b3146103d25780630d65df9b1461040257600080fd5b3661038157005b600080fd5b34801561039257600080fd5b5060408051808201909152601181527014da5959d948105248141c9bdd1bd8dbdb607a1b60208201525b6040516103c9919061371e565b60405180910390f35b3480156103de57600080fd5b506103f26103ed3660046134c8565b610b52565b60405190151581526020016103c9565b34801561040e57600080fd5b5061042261041d366004613459565b610bba565b005b34801561043057600080fd5b50600f545b6040519081526020016103c9565b34801561044f57600080fd5b506103f261045e366004613459565b610c6c565b34801561046f57600080fd5b5061043560155481565b34801561048557600080fd5b50610422610494366004613655565b610d66565b3480156104a557600080fd5b506104356104b4366004613655565b610e02565b3480156104c557600080fd5b50604051600981526020016103c9565b3480156104e157600080fd5b506017546104f5906001600160a01b031681565b6040516001600160a01b0390911681526020016103c9565b34801561051957600080fd5b506104226105283660046133e6565b610e86565b34801561053957600080fd5b506104226105483660046135fd565b61103d565b34801561055957600080fd5b506103f26105683660046134c8565b6110a2565b34801561057957600080fd5b506104226105883660046133e6565b611122565b34801561059957600080fd5b506104356105a836600461366e565b611170565b3480156105b957600080fd5b506009546103f29060ff1681565b3480156105d357600080fd5b506104226105e23660046133e6565b611204565b3480156105f357600080fd5b506103f26106023660046133e6565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561062c57600080fd5b5061042261063b366004613693565b611357565b34801561064c57600080fd5b5061042261065b3660046136e3565b6113b7565b34801561066c57600080fd5b506103f261067b3660046133e6565b60066020526000908152604090205460ff1681565b34801561069c57600080fd5b5061043560135481565b3480156106b257600080fd5b5061043560145481565b3480156106c857600080fd5b506018546104f5906001600160a01b031681565b3480156106e857600080fd5b5061043560125481565b3480156106fe57600080fd5b506009546103f290610100900460ff1681565b34801561071d57600080fd5b5061042261072c3660046134f4565b61144f565b34801561073d57600080fd5b5061043561074c3660046133e6565b61152d565b34801561075d57600080fd5b5061042261158c565b34801561077257600080fd5b50601954601a54601b54601c54601d5461078d949392919085565b604080519586526020860194909452928401919091526060830152608082015260a0016103c9565b3480156107c157600080fd5b506016546104f5906001600160a01b031681565b3480156107e157600080fd5b506104226107f03660046133e6565b6115c2565b34801561080157600080fd5b506103f26108103660046133e6565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561083a57600080fd5b506000546001600160a01b03166104f5565b34801561085857600080fd5b506104226108673660046135b6565b61160e565b34801561087857600080fd5b506104226108873660046135fd565b61169f565b34801561089857600080fd5b5060408051808201909152600381526253414960e81b60208201526103bc565b3480156108c457600080fd5b5060235460245460255460265460275461078d949392919085565b3480156108eb57600080fd5b506104226108fa366004613655565b6116e3565b34801561090b57600080fd5b506103f261091a3660046134c8565b61178a565b34801561092b57600080fd5b50600e546104f5906001600160a01b031681565b34801561094b57600080fd5b506103f261095a3660046134c8565b611870565b34801561096b57600080fd5b5061042261097a3660046133e6565b6118c5565b34801561098b57600080fd5b5061042261099a36600461349a565b611911565b3480156109ab57600080fd5b506104226109ba3660046136e3565b611966565b3480156109cb57600080fd5b506104226109da3660046133e6565b6119ff565b3480156109eb57600080fd5b506104226109fa366004613655565b611a4b565b348015610a0b57600080fd5b50610435600c5481565b348015610a2157600080fd5b50610422610a30366004613655565b611a91565b348015610a4157600080fd5b50610435610a50366004613420565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b348015610a8757600080fd5b5061043560115481565b348015610a9d57600080fd5b50610422610aac366004613637565b611ad7565b348015610abd57600080fd5b50610422610acc3660046133e6565b611b23565b348015610add57600080fd5b50600b546103f29060ff1681565b348015610af757600080fd5b50610422610b063660046133e6565b611b6e565b348015610b1757600080fd5b50601e54601f5460205460215460225461078d949392919085565b348015610b3e57600080fd5b50600d546104f5906001600160a01b031681565b600954600090339060ff1680610b8057506001600160a01b03811660009081526006602052604090205460ff165b610ba55760405162461bcd60e51b8152600401610b9c906137a8565b60405180910390fd5b610bb0338585611c06565b5060019392505050565b6000546001600160a01b03163314610be45760405162461bcd60e51b8152600401610b9c90613773565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb90604401602060405180830381600087803b158015610c2e57600080fd5b505af1158015610c42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c66919061361a565b50505050565b600954600090849060ff1680610c9a57506001600160a01b03811660009081526006602052604090205460ff165b610cb65760405162461bcd60e51b8152600401610b9c906137a8565b610cc1858585611d2a565b6001600160a01b038516600090815260036020908152604080832033845290915290205483811015610d465760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610b9c565b610d5a8633610d5587856139ec565b611c06565b50600195945050505050565b6000546001600160a01b03163314610d905760405162461bcd60e51b8152600401610b9c90613773565b610d993061152d565b811115610df65760405162461bcd60e51b815260206004820152602560248201527f4e6f7420656e6f75676820746f6b656e7320696e20636f6e747261637420746f604482015264081cd95b1b60da1b6064820152608401610b9c565b610dff81612510565b50565b6000601054821115610e695760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610b9c565b6000610e73612671565b9050610e7f81846138bd565b9392505050565b6000546001600160a01b03163314610eb05760405162461bcd60e51b8152600401610b9c90613773565b6001600160a01b03811660009081526005602052604090205460ff16610f185760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610b9c565b60005b60085481101561103957816001600160a01b031660088281548110610f4257610f42613a4a565b6000918252602090912001546001600160a01b031614156110275760088054610f6d906001906139ec565b81548110610f7d57610f7d613a4a565b600091825260209091200154600880546001600160a01b039092169183908110610fa957610fa9613a4a565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff19169055600880548061100157611001613a34565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b8061103181613a03565b915050610f1b565b5050565b6000546001600160a01b031633146110675760405162461bcd60e51b8152600401610b9c90613773565b6009805461ffff191661ff00198315159081169190911761010082021790915560011480156110965750601554155b15610dff574360155550565b600954600090339060ff16806110d057506001600160a01b03811660009081526006602052604090205460ff165b6110ec5760405162461bcd60e51b8152600401610b9c906137a8565b3360008181526003602090815260408083206001600160a01b0389168452909152902054610bb091908690610d559087906138a5565b6000546001600160a01b0316331461114c5760405162461bcd60e51b8152600401610b9c90613773565b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000600f548311156111c45760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610b9c565b816111e25760006111d88460016000612694565b5191506111fe9050565b60006111f18460016000612694565b6020015191506111fe9050565b92915050565b6000546001600160a01b0316331461122e5760405162461bcd60e51b8152600401610b9c90613773565b6001600160a01b03811660009081526005602052604090205460ff16156112975760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610b9c565b6001600160a01b038116600090815260016020526040902054156112f1576001600160a01b0381166000908152600160205260409020546112d790610e02565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b6000546001600160a01b031633146113815760405162461bcd60e51b8152600401610b9c90613773565b61138d6009600a613922565b61139790836139cd565b6012556113a66009600a613922565b6113b090826139cd565b6013555050565b6000546001600160a01b031633146113e15760405162461bcd60e51b8152600401610b9c90613773565b6040805160a08101825286815260208101869052808201859052606081018490526080018290526019869055601a859055601b849055601c839055601d829055517f846206d6c3449ac0b05841dfb88bf28b55aef00f96152490c69c96238048de1590600090a15050505050565b6000546001600160a01b031633146114795760405162461bcd60e51b8152600401610b9c90613773565b80518251146114ca5760405162461bcd60e51b815260206004820152601a60248201527f417272617973206d75737420686176652073616d652073697a650000000000006044820152606401610b9c565b60005b825181101561152857611516338483815181106114ec576114ec613a4a565b602002602001015184848151811061150657611506613a4a565b60200260200101516000806126f5565b8061152081613a03565b9150506114cd565b505050565b6001600160a01b03811660009081526005602052604081205460ff161561156a57506001600160a01b031660009081526002602052604090205490565b6001600160a01b0382166000908152600160205260409020546111fe90610e02565b6000546001600160a01b031633146115b65760405162461bcd60e51b8152600401610b9c90613773565b6115c060006129ff565b565b6000546001600160a01b031633146115ec5760405162461bcd60e51b8152600401610b9c90613773565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146116385760405162461bcd60e51b8152600401610b9c90613773565b60005b825181101561152857816004600085848151811061165b5761165b613a4a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061169781613a03565b91505061163b565b6000546001600160a01b031633146116c95760405162461bcd60e51b8152600401610b9c90613773565b600980549115156101000261ff0019909216919091179055565b6000546001600160a01b0316331461170d5760405162461bcd60e51b8152600401610b9c90613773565b8047101561175d5760405162461bcd60e51b815260206004820152601860248201527f696e73756666696369656e74204554482062616c616e636500000000000000006044820152606401610b9c565b604051339082156108fc029083906000818181858888f19350505050158015611039573d6000803e3d6000fd5b600954600090339060ff16806117b857506001600160a01b03811660009081526006602052604090205460ff165b6117d45760405162461bcd60e51b8152600401610b9c906137a8565b3360009081526003602090815260408083206001600160a01b0388168452909152902054838110156118565760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610b9c565b6118653386610d5587856139ec565b506001949350505050565b600954600090339060ff168061189e57506001600160a01b03811660009081526006602052604090205460ff165b6118ba5760405162461bcd60e51b8152600401610b9c906137a8565b610bb0338585611d2a565b6000546001600160a01b031633146118ef5760405162461bcd60e51b8152600401610b9c90613773565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461193b5760405162461bcd60e51b8152600401610b9c90613773565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146119905760405162461bcd60e51b8152600401610b9c90613773565b6040805160a0810182528681526020808201879052818301869052606082018590526080909101839052601e879055601f86905584905560218390556022829055517f846206d6c3449ac0b05841dfb88bf28b55aef00f96152490c69c96238048de1590600090a15050505050565b6000546001600160a01b03163314611a295760405162461bcd60e51b8152600401610b9c90613773565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314611a755760405162461bcd60e51b8152600401610b9c90613773565b611a816009600a613922565b611a8b90826139cd565b60115550565b6000546001600160a01b03163314611abb5760405162461bcd60e51b8152600401610b9c90613773565b611ac76009600a613922565b611ad190826139cd565b60145550565b6000546001600160a01b03163314611b015760405162461bcd60e51b8152600401610b9c90613773565b611b0c8160016139cd565b600c5550600b805460ff1916911515919091179055565b6000546001600160a01b03163314611b4d5760405162461bcd60e51b8152600401610b9c90613773565b6001600160a01b03166000908152600460205260409020805460ff19169055565b6000546001600160a01b03163314611b985760405162461bcd60e51b8152600401610b9c90613773565b6001600160a01b038116611bfd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b9c565b610dff816129ff565b6001600160a01b038316611c685760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b9c565b6001600160a01b038216611cc95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b9c565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316611d8e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b9c565b6001600160a01b038216611df05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b9c565b60008111611e525760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610b9c565b611e5b8361152d565b811115611ec45760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610b9c565b6001600160a01b03831660009081526007602052604090205460ff16158015611f0657506001600160a01b03821660009081526007602052604090205460ff16155b611f425760405162461bcd60e51b815260206004820152600d60248201526c165bdd48185c99481848189bdd609a1b6044820152606401610b9c565b6001600160a01b03831660009081526004602052604090205460ff16158015611f8457506001600160a01b03821660009081526004602052604090205460ff16155b15611fd05760095460ff16611fd05760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f742061637469766560701b6044820152606401610b9c565b6001600160a01b03831660009081526004602052604090205460ff1615801561201257506001600160a01b03821660009081526004602052604090205460ff16155b801561202b57506015546120279060036138a5565b4311155b1561209a57600e546001600160a01b038381169116141561209a5760405162461bcd60e51b8152602060048201526024808201527f53656c6c73206e6f7420616c6c6f77656420666f72206669727374203320626c6044820152636f636b7360e01b6064820152608401610b9c565b600e546001600160a01b0384811691161480156120d057506001600160a01b03821660009081526004602052604090205460ff16155b80156120e5575060095462010000900460ff16155b156121a15760125481111561213c5760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61784275794c696d69740000006044820152606401610b9c565b601454816121498461152d565b61215391906138a5565b11156121a15760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d69746044820152606401610b9c565b600e546001600160a01b038481169116148015906121d857506001600160a01b03821660009081526004602052604090205460ff16155b80156121fd57506001600160a01b03831660009081526004602052604090205460ff16155b8015612212575060095462010000900460ff16155b15612375576013548111156122695760405162461bcd60e51b815260206004820152601e60248201527f596f752061726520657863656564696e67206d617853656c6c4c696d697400006044820152606401610b9c565b600e546001600160a01b038381169116146122e3576014548161228b8461152d565b61229591906138a5565b11156122e35760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d69746044820152606401610b9c565b600b5460ff1615612375576001600160a01b0383166000908152600a602052604081205461231190426139ec565b9050600c548110156123585760405162461bcd60e51b815260206004820152601060248201526f10dbdbdb191bdddb88195b98589b195960821b6044820152606401610b9c565b506001600160a01b0383166000908152600a602052604090204290555b60006011546123833061152d565b600954911115915062010000900460ff161580156123a85750600954610100900460ff165b80156123b15750805b80156123cb5750600e546001600160a01b03858116911614155b80156123f057506001600160a01b03841660009081526004602052604090205460ff16155b801561241557506001600160a01b03831660009081526004602052604090205460ff16155b1561247f57601154600e5461247f91906001600160a01b0386811691161461243e576019612441565b601e5b6040805160a0810182528254815260018301546020820152600283015491810191909152600382015460608201526004909101546080820152612a4f565b60095460019060009062010000900460ff16806124b457506001600160a01b03861660009081526004602052604090205460ff165b806124d757506001600160a01b03851660009081526004602052604090205460ff165b156124e157600091505b600e546001600160a01b03868116911614156124fb575060015b61250886868685856126f5565b505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061254557612545613a4a565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561259957600080fd5b505afa1580156125ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125d19190613403565b816001815181106125e4576125e4613a4a565b6001600160a01b039283166020918202929092010152600d5461260a9130911684611c06565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac947906126439085906000908690309042906004016137df565b600060405180830381600087803b15801561265d57600080fd5b505af1158015612508573d6000803e3d6000fd5b600080600061267e612bf5565b909250905061268d81836138bd565b9250505090565b61269c613303565b6126a7848484612d78565b90506126bc8185856126b7612671565b612f35565b60c0870152608086015260608501526040840152602083015281526126e981846126e4612671565b613009565b60a08201529392505050565b6000612702848484612694565b6001600160a01b03871660009081526005602052604090205490915060ff1615612764576001600160a01b03861660009081526002602052604090205461274a9085906139ec565b6001600160a01b0387166000908152600260205260409020555b6001600160a01b03851660009081526005602052604090205460ff16156127c75760e08101516001600160a01b0386166000908152600260205260409020546127ad91906138a5565b6001600160a01b0386166000908152600260205260409020555b80516001600160a01b0387166000908152600160205260409020546127ec91906139ec565b6001600160a01b038088166000908152600160209081526040808320949094558401519188168152919091205461282391906138a5565b6001600160a01b038616600090815260016020526040908190209190915581015115158061285657506000816101000151115b1561286e5761286e8160400151826101000151613031565b60008160800151118061288657506000816101400151115b1561291b5761289e8160800151826101400151613066565b306001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8361018001518461016001518561012001518661014001516128f591906138a5565b6128ff91906138a5565b61290991906138a5565b60405190815260200160405180910390a35b60008160600151118061293357506000816101200151115b1561294b5761294b81606001518261012001516130dc565b60008160a00151118061296357506000816101600151115b1561297b5761297b8160a001518261016001516130f1565b610180810151156129a6576018546101808201516129a69188916001600160a01b0390911690611d2a565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360e001516040516129ef91815260200190565b60405180910390a3505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6009805462ff000019166201000017905560808101516060820151602083015160408401516000939291612a82916138a5565b612a8c91906138a5565b612a9691906138a5565b612aa19060026139cd565b9050600081836040015185612ab691906139cd565b612ac091906138bd565b90506000612ace82866139ec565b905047612ada82612510565b6000612ae682476139ec565b90506000866040015186612afa91906139ec565b612b0490836138bd565b90506000876040015182612b1891906139cd565b90508015612b2a57612b2a8682613106565b6020880151600090612b3d8460026139cd565b612b4791906139cd565b90508015612b6557601654612b65906001600160a01b0316826131ea565b6060890151600090612b788560026139cd565b612b8291906139cd565b90508015612ba057601754612ba0906001600160a01b0316826131ea565b60808a0151600090612bb38660026139cd565b612bbd91906139cd565b90508015612bdb57601854612bdb906001600160a01b0316826131ea565b50506009805462ff00001916905550505050505050505050565b601054600f546000918291825b600854811015612d4757826001600060088481548110612c2457612c24613a4a565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180612c8f5750816002600060088481548110612c6857612c68613a4a565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15612ca557601054600f54945094505050509091565b6001600060088381548110612cbc57612cbc613a4a565b60009182526020808320909101546001600160a01b03168352820192909252604001902054612ceb90846139ec565b92506002600060088381548110612d0457612d04613a4a565b60009182526020808320909101546001600160a01b03168352820192909252604001902054612d3390836139ec565b915080612d3f81613a03565b915050612c02565b50600f54601054612d5891906138bd565b821015612d6f57601054600f549350935050509091565b90939092509050565b612d80613303565b82612d915760e08101849052610e7f565b612dc36040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b8215612e0257506040805160a081018252601e548152601f54602080830191909152549181019190915260215460608201526022546080820152612e35565b506040805160a0810182526019548152601a546020820152601b5491810191909152601c546060820152601d5460808201525b8051606490612e4490876139cd565b612e4e91906138bd565b6101008301526020810151606490612e6690876139cd565b612e7091906138bd565b6101208301526040810151606490612e8890876139cd565b612e9291906138bd565b6101408301526060810151606490612eaa90876139cd565b612eb491906138bd565b6101608301526080810151606490612ecc90876139cd565b612ed691906138bd565b6101808301819052610160830151610140840151610120850151610100860151612f00908a6139ec565b612f0a91906139ec565b612f1491906139ec565b612f1e91906139ec565b612f2891906139ec565b60e0830152509392505050565b60008080808080612f46878a6139cd565b955087612f6157508493506000925082915081905080612ffc565b868a6101000151612f7291906139cd565b9350868a6101200151612f8591906139cd565b9250868a6101400151612f9891906139cd565b91506000878b6101600151612fad91906139cd565b9050878b6101800151612fc091906139cd565b915081818486612fd0898c6139ec565b612fda91906139ec565b612fe491906139ec565b612fee91906139ec565b612ff891906139ec565b9550505b9499939850945094509450565b60008261301857506000610e7f565b8184610160015161302991906139cd565b949350505050565b816010600082825461304391906139ec565b90915550506023805482919060009061305d9084906138a5565b90915550505050565b806023600201600082825461307b91906138a5565b90915550503060009081526005602052604090205460ff16156130bd5730600090815260026020526040812080548392906130b79084906138a5565b90915550505b306000908152600160205260408120805484929061305d9084906138a5565b806023600101600082825461307b91906138a5565b806023600301600082825461307b91906138a5565b600d5461311e9030906001600160a01b031684611c06565b600d546001600160a01b031663f305d7198230856000806131476000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156131aa57600080fd5b505af11580156131be573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131e391906136b5565b5050505050565b8047101561323a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610b9c565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613287576040519150601f19603f3d011682016040523d82523d6000602084013e61328c565b606091505b50509050806115285760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610b9c565b604051806101a00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600082601f83011261337c57600080fd5b8135602061339161338c83613881565b613850565b80838252828201915082860187848660051b89010111156133b157600080fd5b60005b858110156133d95781356133c781613a76565b845292840192908401906001016133b4565b5090979650505050505050565b6000602082840312156133f857600080fd5b8135610e7f81613a76565b60006020828403121561341557600080fd5b8151610e7f81613a76565b6000806040838503121561343357600080fd5b823561343e81613a76565b9150602083013561344e81613a76565b809150509250929050565b60008060006060848603121561346e57600080fd5b833561347981613a76565b9250602084013561348981613a76565b929592945050506040919091013590565b600080604083850312156134ad57600080fd5b82356134b881613a76565b9150602083013561344e81613a8b565b600080604083850312156134db57600080fd5b82356134e681613a76565b946020939093013593505050565b6000806040838503121561350757600080fd5b823567ffffffffffffffff8082111561351f57600080fd5b61352b8683870161336b565b935060209150818501358181111561354257600080fd5b85019050601f8101861361355557600080fd5b803561356361338c82613881565b80828252848201915084840189868560051b870101111561358357600080fd5b600094505b838510156135a6578035835260019490940193918501918501613588565b5080955050505050509250929050565b600080604083850312156135c957600080fd5b823567ffffffffffffffff8111156135e057600080fd5b6135ec8582860161336b565b925050602083013561344e81613a8b565b60006020828403121561360f57600080fd5b8135610e7f81613a8b565b60006020828403121561362c57600080fd5b8151610e7f81613a8b565b6000806040838503121561364a57600080fd5b82356134e681613a8b565b60006020828403121561366757600080fd5b5035919050565b6000806040838503121561368157600080fd5b82359150602083013561344e81613a8b565b600080604083850312156136a657600080fd5b50508035926020909101359150565b6000806000606084860312156136ca57600080fd5b8351925060208401519150604084015190509250925092565b600080600080600060a086880312156136fb57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b600060208083528351808285015260005b8181101561374b5785810183015185820160400152820161372f565b8181111561375d576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526017908201527f54726164696e67206e6f7420656e61626c656420796574000000000000000000604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561382f5784516001600160a01b03168352938301939183019160010161380a565b50506001600160a01b03969096166060850152505050608001529392505050565b604051601f8201601f1916810167ffffffffffffffff8111828210171561387957613879613a60565b604052919050565b600067ffffffffffffffff82111561389b5761389b613a60565b5060051b60200190565b600082198211156138b8576138b8613a1e565b500190565b6000826138da57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561391a57816000190482111561390057613900613a1e565b8085161561390d57918102915b93841c93908002906138e4565b509250929050565b6000610e7f60ff84168360008261393b575060016111fe565b81613948575060006111fe565b816001811461395e576002811461396857613984565b60019150506111fe565b60ff84111561397957613979613a1e565b50506001821b6111fe565b5060208310610133831016604e8410600b84101617156139a7575081810a6111fe565b6139b183836138df565b80600019048211156139c5576139c5613a1e565b029392505050565b60008160001904831182151516156139e7576139e7613a1e565b500290565b6000828210156139fe576139fe613a1e565b500390565b6000600019821415613a1757613a17613a1e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610dff57600080fd5b8015158114610dff57600080fdfea264697066735822122089c81bd06308019cf5ae74f03c3874ee2078dda14bd533e0ac106e40f8ac108e64736f6c63430008070033