0x608060405234801561001057600080fd5b50604051610d1b380380610d1b83398101604081905261002f91610085565b600080546001600160a01b03199081163317909155600680546001600160a01b03949094169382169390931790925560075560018054909116732951b42a2ce3bf3929fd885e1989a1895f8b29a71790556100bf565b6000806040838503121561009857600080fd5b82516001600160a01b03811681146100af57600080fd5b6020939093015192949293505050565b610c4d806100ce6000396000f3fe608060405234801561001057600080fd5b50600436106100c55760003560e01c80630ed7e96a146100ca57806314d8bbf11461010d578063158ef93e14610122578063238ac9331461012f5780634451d89f1461014f57806345d929981461016257806349ade988146101795780634d2cb1fb1461018c5780636f94aaf21461019f5780638cc08025146101a8578063c6195d36146101cb578063cf464cc9146101de578063e63ea408146101f1578063ef5d9ae814610204578063f851a44014610224575b600080fd5b6100f86100d8366004610a1e565b600260209081526000928352604080842090915290825290205460ff1681565b60405190151581526020015b60405180910390f35b61012061011b366004610a48565b610237565b005b6008546100f89060ff1681565b600154610142906001600160a01b031681565b6040516101049190610ac4565b600654610142906001600160a01b031681565b61016b60075481565b604051908152602001610104565b61016b610187366004610ad8565b610616565b6100f861019a366004610a1e565b610642565b61016b60055481565b6100f86101b6366004610b04565b60036020526000908152604090205460ff1681565b6101206101d9366004610a1e565b61067d565b6101206101ec366004610b1f565b610733565b6101206101ff366004610b49565b6107dd565b61016b610212366004610b04565b60046020526000908152604090205481565b600054610142906001600160a01b031681565b6006546040516370a0823160e01b815233916000916001600160a01b03909116906370a082319061026c903090600401610ac4565b602060405180830381865afa158015610289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ad9190610b85565b6040516001600160601b0319606085811b821660208401526034830189905230901b16605482015290915060009061034a90606801604051602081830303815290604052805190602001206040517b0ca2ba3432b932bab69029b4b3b732b21026b2b9b9b0b3b29d05199960211b6020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b600154604080516020601f89018190048102820181019092528781529293506001600160a01b039091169161039c91849190899089908190840183828082843760009201919091525061088992505050565b6001600160a01b0316146103e95760405162461bcd60e51b815260206004820152600f60248201526e77726f6e67207369676e617475726560881b60448201526064015b60405180910390fd5b6006546001600160a01b03166104315760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103a37b5b2b760991b60448201526064016103e0565b6000600754118015610444575060075442115b61048c5760405162461bcd60e51b815260206004820152601960248201527810db185a5b481a185cc81b9bdd081cdd185c9d1959081e595d603a1b60448201526064016103e0565b6001600160a01b0383166000908152600460205260409020548610156104e55760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b60448201526064016103e0565b6001600160a01b0383166000908152600460205260408120546105089088610bb4565b90508083101561054f5760405162461bcd60e51b81526020600482015260126024820152714e6f7420656e6f7567682062616c616e636560701b60448201526064016103e0565b60008311801561055f5750600081115b1561060d576001600160a01b0384166000908152600360209081526040808320805460ff19166001179055600490915290205461059d908290610bc7565b6001600160a01b038086166000908152600460205260409020919091556006546105c991168583610908565b604080518881524260208201526001600160a01b038616917fe2fe74462b9510a5af56b58cd6e3202a70f8f59484dc9010849ebaef3036a526910160405180910390a25b50505050505050565b6001600160a01b0381166000908152600460205260408120546106399084610bb4565b90505b92915050565b6001600160a01b03821660009081526004602052604081205481906106679084610bb4565b11156106755750600161063c565b50600061063c565b6000546001600160a01b031633146106a75760405162461bcd60e51b81526004016103e090610bda565b60085460ff166106bf576008805460ff191660011790555b6001600160a01b038216156106ea57600680546001600160a01b0319166001600160a01b0384161790555b80156106f65760078190555b7fcf2d15cf678e586ed8ca7d050b1bbb358918a2227864183c9a242813b76be4348282604051610727929190610bfe565b60405180910390a15050565b6000546001600160a01b0316331461075d5760405162461bcd60e51b81526004016103e090610bda565b6001600160a01b0382166107af5760405162461bcd60e51b81526020600482015260196024820152785f6e657741646d696e206973207a65726f206164647265737360381b60448201526064016103e0565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b6000546001600160a01b031633146108255760405162461bcd60e51b815260206004820152600b60248201526a139bdd08185b1b1bddd95960aa1b60448201526064016103e0565b6108396001600160a01b0384168383610908565b604080516001600160a01b038086168252841660208201529081018290527f29055b1ae71a39572a67d16aa7c083a649dd66865b77bd9ac38691bed47e95839060600160405180910390a1505050565b60008060008061089885610965565b6040805160008152602081018083528b905260ff8516918101919091526060810183905260808101829052929550909350915060019060a0016020604051602081039080840390855afa1580156108f3573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b61096083846001600160a01b031663a9059cbb858560405160240161092e929190610bfe565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610994565b505050565b6000806000835160411461097857600080fd5b5050506020810151604082015160609092015160001a92909190565b600080602060008451602086016000885af1806109b7576040513d6000823e3d81fd5b50506000513d915081156109cf5780600114156109dc565b6001600160a01b0384163b155b156109fc5783604051635274afe760e01b81526004016103e09190610ac4565b50505050565b80356001600160a01b0381168114610a1957600080fd5b919050565b60008060408385031215610a3157600080fd5b610a3a83610a02565b946020939093013593505050565b600080600060408486031215610a5d57600080fd5b83359250602084013567ffffffffffffffff80821115610a7c57600080fd5b818601915086601f830112610a9057600080fd5b813581811115610a9f57600080fd5b876020828501011115610ab157600080fd5b6020830194508093505050509250925092565b6001600160a01b0391909116815260200190565b60008060408385031215610aeb57600080fd5b82359150610afb60208401610a02565b90509250929050565b600060208284031215610b1657600080fd5b61063982610a02565b60008060408385031215610b3257600080fd5b610b3b83610a02565b9150610afb60208401610a02565b600080600060608486031215610b5e57600080fd5b610b6784610a02565b9250610b7560208501610a02565b9150604084013590509250925092565b600060208284031215610b9757600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561063c5761063c610b9e565b8082018082111561063c5761063c610b9e565b6020808252600a908201526937b7363c9030b236b4b760b11b604082015260600190565b6001600160a01b0392909216825260208201526040019056fea2646970667358221220ce44e641fddda9ef28ad663a031908bc9fd6b69112a0874ba5fbdd181ead07da64736f6c634300081800330000000000000000000000004ca14968dc36208edfb1f7d434e849f9a240b7f00000000000000000000000000000000000000000000000000000000000000001