60a060405261dead608052683635c9adc5dea00000600c81905562000026905f19620001a3565b62000033905f19620001c3565b600d5560408051808201909152601081526f1213d1130810925510d3d2538811519560821b6020820152600f906200006c908262000289565b506040805180820190915260048152631213d11360e21b602082015260109062000097908262000289565b506011805460ff199081166009179091555f60138190556014819055601581905560168190556018805490921660019081179092556103e8601955601a55600a601b5566038d7ea4c68000601c55601f805461ffff191690911790556020805461ffff60a81b191690553480156200010d575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d54335f81815260036020908152604080832094909455600c549351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000351565b5f82620001be57634e487b7160e01b5f52601260045260245ffd5b500690565b81810381811115620001e357634e487b7160e01b5f52601160045260245ffd5b92915050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200021257607f821691505b6020821081036200023157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000284575f81815260208120601f850160051c810160208610156200025f5750805b601f850160051c820191505b8181101562000280578281556001016200026b565b5050505b505050565b81516001600160401b03811115620002a557620002a5620001e9565b620002bd81620002b68454620001fd565b8462000237565b602080601f831160018114620002f3575f8415620002db5750858301515b5f19600386901b1c1916600185901b17855562000280565b5f85815260208120601f198616915b82811015620003235788860151825594840194600190910190840162000302565b50858210156200034157878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b608051612e1f620003715f395f81816103e501526125a60152612e1f5ff3fe608060405260043610610283575f3560e01c80636053a0e311610155578063a3b855ce116100be578063dd46706411610078578063dd46706414610791578063dd62ed3e146107b0578063e2c335db146107f4578063f03e63b414610809578063f2fde38b14610828578063ffb54a9914610847575f80fd5b8063a3b855ce146106f6578063a457c2d714610715578063a69df4b514610734578063a9059cbb14610748578063b4f40c6114610767578063cd51e6d41461077c575f80fd5b80638203f5fe1161010f5780638203f5fe1461065257806388f82020146106665780638a8c523c1461069d5780638da5cb5b146106b157806395d89b41146106cd578063975c0ed3146106e1575f80fd5b80636053a0e314610589578063610d5b19146105a957806367de8be9146105e05780636bc87c3a146105ff57806370a08231146106145780637f16034614610633575f80fd5b80632d838119116101f75780634a74bb02116101b15780634a74bb02146104d85780634ddfae4b146104f85780634fc687ec1461050d5780635342acb41461052c578063557ed1ba14610563578063602bc62b14610575575f80fd5b80632d83811914610426578063313ce5671461044557806339509351146104665780633b124fe7146104855780634549b0391461049a57806349bd5a5e146104b9575f80fd5b806318160ddd1161024857806318160ddd146103635780631bf19a6014610377578063224a7c6a1461039657806323b872dd146103b557806327c8f835146103d457806329370cc614610407575f80fd5b8063061c82d01461028e57806306fdde03146102af578063095ea7b3146102d957806313114a9d146103085780631694505e14610326575f80fd5b3661028a57005b5f80fd5b348015610299575f80fd5b506102ad6102a83660046129fb565b610865565b005b3480156102ba575f80fd5b506102c36108bb565b6040516102d09190612a12565b60405180910390f35b3480156102e4575f80fd5b506102f86102f3366004612a74565b61094b565b60405190151581526020016102d0565b348015610313575f80fd5b50600e545b6040519081526020016102d0565b348015610331575f80fd5b50601f5461034b906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016102d0565b34801561036e575f80fd5b50600c54610318565b348015610382575f80fd5b506102ad6103913660046129fb565b610961565b3480156103a1575f80fd5b506102ad6103b03660046129fb565b6109b8565b3480156103c0575f80fd5b506102f86103cf366004612a9e565b6109e6565b3480156103df575f80fd5b5061034b7f000000000000000000000000000000000000000000000000000000000000000081565b348015610412575f80fd5b506102ad610421366004612ae9565b610a4d565b348015610431575f80fd5b506103186104403660046129fb565b610ac6565b348015610450575f80fd5b5060115460405160ff90911681526020016102d0565b348015610471575f80fd5b506102f8610480366004612a74565b610b48565b348015610490575f80fd5b5061031860135481565b3480156104a5575f80fd5b506103186104b4366004612b04565b610b7d565b3480156104c4575f80fd5b5060205461034b906001600160a01b031681565b3480156104e3575f80fd5b506020546102f890600160a81b900460ff1681565b348015610503575f80fd5b50610318601c5481565b348015610518575f80fd5b506102ad610527366004612a74565b610c07565b348015610537575f80fd5b506102f8610546366004612b32565b6001600160a01b03165f9081526009602052604090205460ff1690565b34801561056e575f80fd5b5042610318565b348015610580575f80fd5b50600254610318565b348015610594575f80fd5b506020546102f890600160b01b900460ff1681565b3480156105b4575f80fd5b506102f86105c3366004612b32565b6001600160a01b03165f9081526007602052604090205460ff1690565b3480156105eb575f80fd5b506102ad6105fa3660046129fb565b610ca3565b34801561060a575f80fd5b5061031860155481565b34801561061f575f80fd5b5061031861062e366004612b32565b610cd1565b34801561063e575f80fd5b506102ad61064d3660046129fb565b610d2d565b34801561065d575f80fd5b506102ad610d75565b348015610671575f80fd5b506102f8610680366004612b32565b6001600160a01b03165f908152600a602052604090205460ff1690565b3480156106a8575f80fd5b506102ad611058565b3480156106bc575f80fd5b505f546001600160a01b031661034b565b3480156106d8575f80fd5b506102c36110d4565b3480156106ec575f80fd5b5061031860175481565b348015610701575f80fd5b506102ad6107103660046129fb565b6110e3565b348015610720575f80fd5b506102f861072f366004612a74565b611111565b34801561073f575f80fd5b506102ad61115e565b348015610753575f80fd5b506102f8610762366004612a74565b611274565b348015610772575f80fd5b50610318601b5481565b348015610787575f80fd5b50610318601d5481565b34801561079c575f80fd5b506102ad6107ab3660046129fb565b611280565b3480156107bb575f80fd5b506103186107ca366004612b4d565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b3480156107ff575f80fd5b50610318601a5481565b348015610814575f80fd5b506102ad610823366004612b32565b611314565b348015610833575f80fd5b506102ad610842366004612b32565b611365565b348015610852575f80fd5b50601f546102f890610100900460ff1681565b5f546001600160a01b031633146108975760405162461bcd60e51b815260040161088e90612b79565b60405180910390fd5b6014816017546108a79190612bc2565b11156108b1575f80fd5b6013819055601455565b6060600f80546108ca90612bd5565b80601f01602080910402602001604051908101604052809291908181526020018280546108f690612bd5565b80156109415780601f1061091857610100808354040283529160200191610941565b820191905f5260205f20905b81548152906001019060200180831161092457829003601f168201915b5050505050905090565b5f61095733848461144c565b5060015b92915050565b5f546001600160a01b0316331461098a5760405162461bcd60e51b815260040161088e90612b79565b604051339082156108fc029083905f818181858888f193505050501580156109b4573d5f803e3d5ffd5b5050565b5f546001600160a01b031633146109e15760405162461bcd60e51b815260040161088e90612b79565b601c55565b5f6109f284848461156f565b610a438433610a3e85604051806060016040528060288152602001612d9d602891396001600160a01b038a165f9081526005602090815260408083203384529091529020549190611c52565b61144c565b5060019392505050565b5f546001600160a01b03163314610a765760405162461bcd60e51b815260040161088e90612b79565b6020805460ff60b01b1916600160b01b8315159081029190911782556040519081527f3794234fa370c9f3b948dda3e3040530785b2ef1eb27dda3ffde478f4e2643c0910160405180910390a150565b5f600d54821115610b2c5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161088e565b5f610b35611c8a565b9050610b418382611cab565b9392505050565b335f8181526005602090815260408083206001600160a01b03871684529091528120549091610957918590610a3e9086611cec565b5f600c54831115610bd05760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015260640161088e565b81610bee575f610bdf84611d4a565b5093955061095b945050505050565b5f610bf884611d4a565b5092955061095b945050505050565b5f546001600160a01b03163314610c305760405162461bcd60e51b815260040161088e90612b79565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303815f875af1158015610c7a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c9e9190612c0d565b505050565b5f546001600160a01b03163314610ccc5760405162461bcd60e51b815260040161088e90612b79565b601b55565b6001600160a01b0381165f908152600a602052604081205460ff1615610d0c57506001600160a01b03165f9081526004602052604090205490565b6001600160a01b0382165f9081526003602052604090205461095b90610ac6565b5f546001600160a01b03163314610d565760405162461bcd60e51b815260040161088e90612b79565b601460135482610d669190612bc2565b1115610d70575f80fd5b601755565b5f546001600160a01b03163314610d9e5760405162461bcd60e51b815260040161088e90612b79565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610df2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e169190612c28565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e859190612c28565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610ecf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef39190612c28565b602080546001600160a01b039283166001600160a01b0319918216178255601f8054948416620100000262010000600160b01b0319909516949094179093555f80549092168252600981526040808320805460ff199081166001908117909255308552918420805483168217905560079092527f2ae00254804b3b79779579809a782edbae805b6c1143d99dd08568cf0e953bb080548216831790556008805480840182557ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee390810180547380a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e9088161790557f4c08f03a48fce605c33831f0cee6b7287de7366ae0a3fcca560813e63b9f2328805490931684179092558054928301815590925201805473db5889e35e379ef0498aae126fc2cce1fbd23216921691909117905560118054610100600160a81b03191674efedf738b47eb66f57d4cdba2775f13e410a065400179055565b5f546001600160a01b031633146110815760405162461bcd60e51b815260040161088e90612b79565b6801158e460913d00000601e556014601781905560158190555f6013556020805460ff60a81b1916600160a81b179055601f805461ff00191661010017905543601d556110cf904290612bc2565b601255565b6060601080546108ca90612bd5565b5f546001600160a01b0316331461110c5760405162461bcd60e51b815260040161088e90612b79565b601a55565b5f6109573384610a3e85604051806060016040528060258152602001612dc560259139335f9081526005602090815260408083206001600160a01b038d1684529091529020549190611c52565b6001546001600160a01b031633146111c45760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b606482015260840161088e565b60025442116112155760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c2037206461797300604482015260640161088e565b6001545f80546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36001545f80546001600160a01b0319166001600160a01b03909216919091179055565b5f61095733848461156f565b5f546001600160a01b031633146112a95760405162461bcd60e51b815260040161088e90612b79565b5f8054600180546001600160a01b03199081166001600160a01b038416179091551690556112d78142612bc2565b6002555f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b5f546001600160a01b0316331461133d5760405162461bcd60e51b815260040161088e90612b79565b601180546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f546001600160a01b0316331461138e5760405162461bcd60e51b815260040161088e90612b79565b6001600160a01b0381166113f35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161088e565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166114ae5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161088e565b6001600160a01b03821661150f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161088e565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166115d35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161088e565b6001600160a01b0382166116355760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161088e565b5f81116116965760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161088e565b6001600160a01b0382165f9081526007602052604090205460ff16156116f85760405162461bcd60e51b8152602060048201526017602482015276596f752068617665206e6f20706f77657220686572652160481b604482015260640161088e565b335f9081526007602052604090205460ff16156117515760405162461bcd60e51b8152602060048201526017602482015276596f752068617665206e6f20706f77657220686572652160481b604482015260640161088e565b5f546001600160a01b0384811691161480159061177b57505f546001600160a01b03838116911614155b1561191057601f54610100900460ff16611830576001600160a01b0383163014806117ae57506001600160a01b03821630145b806117c557505f546001600160a01b038481169116145b806117dc57505f546001600160a01b038381169116145b61183057601f54610100900460ff166118305760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b604482015260640161088e565b601f5460ff16156118a257335f9081526006602052604090206002015460ff166118a257604080516060810182525f808252602080830182815260018486018181523385526006909352949092209251835590519282019290925590516002909101805460ff19169115159190911790555b601d546118b0906002612bc2565b43111580156118be5750483a115b15611910575f6118ce483a612c43565b905064012a05f20080821061190d5760405162461bcd60e51b815260206004820152600560248201526422b93937b960d91b604482015260640161088e565b50505b6020546001600160a01b0384811691161480156119415750601f546001600160a01b03838116620100009092041614155b801561196557506001600160a01b0382165f9081526009602052604090205460ff16155b15611ab157601f54610100900460ff166119c15760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e0000000000000000604482015260640161088e565b601754601555601f5460ff1615611a7f57426012541115611a7f57601e548111156119ea575f80fd5b6001600160a01b0382165f908152600660205260409020544211611a5b5760405162461bcd60e51b815260206004820152602260248201527f596f75722062757920636f6f6c646f776e20686173206e6f7420657870697265604482015261321760f11b606482015260840161088e565b611a6642602d612bc2565b6001600160a01b0383165f908152600660205260409020555b601f5460ff1615611ab157611a9542600f612bc2565b6001600160a01b0383165f908152600660205260409020600101555b602054600160a01b900460ff16158015611ad45750602054600160a81b900460ff165b8015611aed57506020546001600160a01b038381169116145b15611bf85760185460ff1615611b4f575f611b1360195483611d9290919063ffffffff16565b602054909150611b4290611b3b908490611b35906001600160a01b0316610cd1565b90611cec565b8290611cab565b9050611b4d81611e10565b505b6015545f611b5c30610cd1565b90508015611b6d57611b6d81611e5c565b6020544790600160b01b900460ff168015611b8a5750601a548410155b15611bf2575f600a90505f611bdd600a611bc7611bd4611bcd601754611bc7601b54611bc16017548e611ebe90919063ffffffff16565b90611d92565b90611cab565b8690611cec565b601c5490611d92565b9050808310611bef57611bef81611eff565b50505b50506015555b6001600160a01b0383165f9081526009602052604090205460019060ff1680611c3857506001600160a01b0383165f9081526009602052604090205460ff165b15611c4057505f5b611c4c84848484611f31565b50505050565b5f8184841115611c755760405162461bcd60e51b815260040161088e9190612a12565b505f611c818486612c43565b95945050505050565b5f805f611c95612050565b9092509050611ca48282611cab565b9250505090565b5f610b4183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121c9565b5f80611cf88385612bc2565b905083811015610b415760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161088e565b5f805f805f805f805f611d5c8a6121f5565b9250925092505f805f611d788d8686611d73611c8a565b612233565b919f909e50909c50959a5093985091965092945050505050565b5f825f03611da157505f61095b565b5f611dac8385612c56565b905082611db98583612c81565b14610b415760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161088e565b60175480821015611e245750601754611e38565b6028821115611e3557506028611e38565b50805b611e4381600261227f565b15611e565780611e5281612c94565b9150505b60155550565b6020805460ff60a01b1916600160a01b17905547611e79826122c0565b5f611e844783611ebe565b601154909150611eac9061010090046001600160a01b0316611ea7836002611cab565b61246e565b50506020805460ff60a01b1916905550565b5f610b4183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c52565b6020805460ff60a01b1916600160a01b1790558015611f2157611f21816124a1565b506020805460ff60a01b19169055565b80611f3e57611f3e61264f565b6001600160a01b0384165f908152600a602052604090205460ff168015611f7d57506001600160a01b0383165f908152600a602052604090205460ff16155b15611f9257611f8d84848461267c565b61203a565b6001600160a01b0384165f908152600a602052604090205460ff16158015611fd157506001600160a01b0383165f908152600a602052604090205460ff165b15611fe157611f8d84848461279b565b6001600160a01b0384165f908152600a602052604090205460ff16801561201f57506001600160a01b0383165f908152600a602052604090205460ff165b1561202f57611f8d84848461283e565b61203a8484846128ac565b80611c4c57611c4c601454601355601654601555565b600d54600c545f918291825b600b54811015612199578260035f600b848154811061207d5761207d612cac565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205411806120e557508160045f600b84815481106120bf576120bf612cac565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054115b156120fb57600d54600c54945094505050509091565b61213f60035f600b848154811061211457612114612cac565b5f9182526020808320909101546001600160a01b031683528201929092526040019020548490611ebe565b925061218560045f600b848154811061215a5761215a612cac565b5f9182526020808320909101546001600160a01b031683528201929092526040019020548390611ebe565b91508061219181612c94565b91505061205c565b50600c54600d546121a991611cab565b8210156121c057600d54600c549350935050509091565b90939092509050565b5f81836121e95760405162461bcd60e51b815260040161088e9190612a12565b505f611c818486612c81565b5f805f80612202856128ec565b90505f61220e86612907565b90505f6122258261221f8986611ebe565b90611ebe565b979296509094509092505050565b5f8080806122418886611d92565b90505f61224e8887611d92565b90505f61225b8888611d92565b90505f61226c8261221f8686611ebe565b939b939a50919850919650505050505050565b5f610b4183836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250612922565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106122f3576122f3612cac565b60200260200101906001600160a01b031690816001600160a01b031681525050601f60029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612364573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123889190612c28565b8160018151811061239b5761239b612cac565b6001600160a01b039283166020918202929092010152601f546123c7913091620100009004168461144c565b601f5460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac947906124049085905f90869030904290600401612d02565b5f604051808303815f87803b15801561241b575f80fd5b505af115801561242d573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612462929190612d3d565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015610c9e573d5f803e3d5ffd5b6040805160028082526060820183525f92602083019080368337019050509050601f60029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612512573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125369190612c28565b815f8151811061254857612548612cac565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061257c5761257c612cac565b6001600160a01b039283166020918202929092010152601f546201000090041663b6f9de95835f847f00000000000000000000000000000000000000000000000000000000000000006125d14261012c611cec565b6040518663ffffffff1660e01b81526004016125f09493929190612d55565b5f604051808303818588803b158015612607575f80fd5b505af1158015612619573d5f803e3d5ffd5b50505050507f6fd378a9d8b7345c2e5b18229aaf1e39d32b177b501d0a0d26a0a858a23a96248282604051612462929190612d3d565b60135415801561265f5750601554155b1561266657565b60138054601455601580546016555f9182905555565b5f805f805f8061268b87611d4a565b6001600160a01b038f165f90815260046020526040902054959b509399509197509550935091506126bc9088611ebe565b6001600160a01b038a165f908152600460209081526040808320939093556003905220546126ea9087611ebe565b6001600160a01b03808b165f9081526003602052604080822093909355908a16815220546127189086611cec565b6001600160a01b0389165f9081526003602052604090205561273981612955565b61274384836129d7565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161278891815260200190565b60405180910390a3505050505050505050565b5f805f805f806127aa87611d4a565b6001600160a01b038f165f90815260036020526040902054959b509399509197509550935091506127db9087611ebe565b6001600160a01b03808b165f90815260036020908152604080832094909455918b168152600490915220546128109084611cec565b6001600160a01b0389165f908152600460209081526040808320939093556003905220546127189086611cec565b5f805f805f8061284d87611d4a565b6001600160a01b038f165f90815260046020526040902054959b5093995091975095509350915061287e9088611ebe565b6001600160a01b038a165f908152600460209081526040808320939093556003905220546127db9087611ebe565b5f805f805f806128bb87611d4a565b6001600160a01b038f165f90815260036020526040902054959b509399509197509550935091506126ea9087611ebe565b5f61095b6064611bc760135485611d9290919063ffffffff16565b5f61095b6064611bc760155485611d9290919063ffffffff16565b5f81836129425760405162461bcd60e51b815260040161088e9190612a12565b5061294d8385612d89565b949350505050565b5f61295e611c8a565b90505f61296b8383611d92565b305f908152600360205260409020549091506129879082611cec565b305f90815260036020908152604080832093909355600a9052205460ff1615610c9e57305f908152600460205260409020546129c39084611cec565b305f90815260046020526040902055505050565b600d546129e49083611ebe565b600d55600e546129f49082611cec565b600e555050565b5f60208284031215612a0b575f80fd5b5035919050565b5f6020808352835180828501525f5b81811015612a3d57858101830151858201604001528201612a21565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114612a71575f80fd5b50565b5f8060408385031215612a85575f80fd5b8235612a9081612a5d565b946020939093013593505050565b5f805f60608486031215612ab0575f80fd5b8335612abb81612a5d565b92506020840135612acb81612a5d565b929592945050506040919091013590565b8015158114612a71575f80fd5b5f60208284031215612af9575f80fd5b8135610b4181612adc565b5f8060408385031215612b15575f80fd5b823591506020830135612b2781612adc565b809150509250929050565b5f60208284031215612b42575f80fd5b8135610b4181612a5d565b5f8060408385031215612b5e575f80fd5b8235612b6981612a5d565b91506020830135612b2781612a5d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561095b5761095b612bae565b600181811c90821680612be957607f821691505b602082108103612c0757634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215612c1d575f80fd5b8151610b4181612adc565b5f60208284031215612c38575f80fd5b8151610b4181612a5d565b8181038181111561095b5761095b612bae565b808202811582820484141761095b5761095b612bae565b634e487b7160e01b5f52601260045260245ffd5b5f82612c8f57612c8f612c6d565b500490565b5f60018201612ca557612ca5612bae565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f8151808452602080850194508084015f5b83811015612cf75781516001600160a01b031687529582019590820190600101612cd2565b509495945050505050565b85815284602082015260a060408201525f612d2060a0830186612cc0565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f61294d6040830184612cc0565b848152608060208201525f612d6d6080830186612cc0565b6001600160a01b03949094166040830152506060015292915050565b5f82612d9757612d97612c6d565b50069056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220831c2c9e00abbcaad8598cc240b26f1b0e000b33007f4be6ae69e5decc7c3c9364736f6c63430008140033