//
0x608060405234801561001057600080fd5b506100226001600160e01b0361002716565b610119565b61003a60ff6001600160e01b0361003d16565b50565b603354600090610100900460ff16156100b5578160ff1660011480156100725750610070306001600160e01b0361011316565b155b6100ad5760405162461bcd60e51b815260040180806020018281038252602e8152602001806110ba602e913960400191505060405180910390fd5b50600061010e565b60335460ff8084169116106100fb5760405162461bcd60e51b815260040180806020018281038252602e8152602001806110ba602e913960400191505060405180910390fd5b506033805460ff191660ff831617905560015b919050565b3b151590565b610f92806101286000396000f3fe6080604052600436106100e25760003560e01c80638129fc1c116100855780638129fc1c146102875780638da5cb5b1461029c5780638f32d59b146102b1578063a3f4df7e146102da578063aac1846f14610364578063b7f8cf9b14610379578063cfb9329a1461038e578063e30c3978146103b8578063f2fde38b146103cd5761013b565b80630b622ab21461014057806314f6c3be1461017157806338d995a8146101985780634a945f8d146101c45780635a4d28bb1461020f5780635eb52fca1461022457806364a197f31461023957806379ba5097146102725761013b565b3661013b576100ef610400565b603754610102903463ffffffff61046616565b603781905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1005b600080fd5b34801561014c57600080fd5b506101556104c7565b604080516001600160a01b039092168252519081900360200190f35b34801561017d57600080fd5b506101866104d6565b60408051918252519081900360200190f35b3480156101a457600080fd5b506101c2600480360360208110156101bb57600080fd5b50356104dc565b005b3480156101d057600080fd5b506101c2600480360360808110156101e757600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516610531565b34801561021b57600080fd5b506101556106f7565b34801561023057600080fd5b50610186610706565b34801561024557600080fd5b506101c26004803603604081101561025c57600080fd5b506001600160a01b03813516906020013561070c565b34801561027e57600080fd5b506101c261084d565b34801561029357600080fd5b506101c26108a8565b3480156102a857600080fd5b5061015561091c565b3480156102bd57600080fd5b506102c661092b565b604080519115158252519081900360200190f35b3480156102e657600080fd5b506102ef61093c565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610329578181015183820152602001610311565b50505050905090810190601f1680156103565780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561037057600080fd5b50610155610962565b34801561038557600080fd5b50610155610971565b34801561039a57600080fd5b506101c2600480360360208110156103b157600080fd5b5035610986565b3480156103c457600080fd5b506101556109a1565b3480156103d957600080fd5b506101c2600480360360208110156103f057600080fd5b50356001600160a01b03166109b0565b6033546201000090046001600160a01b031633148061042957506036546001600160a01b031633145b6104645760405162461bcd60e51b8152600401808060200182810382526031815260200180610f2c6031913960400191505060405180910390fd5b565b6000828201838110156104c0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6035546001600160a01b031681565b60375490565b6104e4610a67565b6038546104f7908263ffffffff610ae016565b603881905560408051918252517f0d4c964e4ceac5d740869d39789a7b91888a787b9c33e9365b1a658a21ffb6969181900360200190a150565b61053961092b565b61058a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61059384610b22565b61059c83610b22565b6105a582610b22565b6105ae81610b22565b6033805462010000600160b01b031916620100006001600160a01b0387811691820292909217909255603480546001600160a01b0319908116878416179091556035805482168684161790556036805490911691841691909117905560408051918252517f3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985916020908290030190a1604080516001600160a01b038516815290517f143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a56789181900360200190a1604080516001600160a01b038416815290517f82966d27eea39b038ee0fa30cd16532bb24f6e65d31cb58fb227aa5766cdcc7f9181900360200190a1604080516001600160a01b038316815290517f5ee0cae2f063ed938bb55046f6a932fb6ae792bf43624806bb90abe68a50be9b9181900360200190a150505050565b6034546001600160a01b031681565b60385490565b610714610a67565b603754610727908263ffffffff610ae016565b603781905560408051918252517fca232b5abb988c540b959ff6c3bfae3e97fff964fd098c508f9613c0a6bf1a809181900360200190a1604080516001600160a01b03841681526020810183905281517f6109e2559dfa766aaec7118351d48a523f0a4157f49c8d68749c8ac41318ad12929181900390910190a16040516000906001600160a01b0384169083908381818185875af1925050503d80600081146107ed576040519150601f19603f3d011682016040523d82523d6000602084013e6107f2565b606091505b5050905080610848576040805162461bcd60e51b815260206004820152601e60248201527f416374697665506f6f6c3a2073656e64696e6720455448206661696c65640000604482015290519081900360640190fd5b505050565b33806108576109a1565b6001600160a01b03161461089c5760405162461bcd60e51b8152600401808060200182810382526029815260200180610e826029913960400191505060405180910390fd5b6108a581610bd5565b50565b60006108b46001610c2f565b905080156108cc576033805461ff0019166101001790555b6108d4610cfc565b80156108a5576033805461ff0019169055604080516001815290517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989181900360200190a150565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6040518060400160405280600a8152602001691058dd1a5d99541bdbdb60b21b81525081565b6036546001600160a01b031681565b6033546201000090046001600160a01b031681565b61098e610d3f565b6038546104f7908263ffffffff61046616565b6001546001600160a01b031690565b6109b861092b565b610a09576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b038316908117909155610a2f61091c565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6033546201000090046001600160a01b0316331480610a9057506034546001600160a01b031633145b80610aa557506035546001600160a01b031633145b6104645760405162461bcd60e51b8152600401808060200182810382526053815260200180610ed96053913960600191505060405180910390fd5b60006104c083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610da3565b6001600160a01b038116610b7d576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80610bd1576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b600180546001600160a01b0319908116909155600080546001600160a01b03848116938216841783556040519116929183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b603354600090610100900460ff1615610c9e578160ff166001148015610c5b5750610c5930610e3a565b155b610c965760405162461bcd60e51b815260040180806020018281038252602e815260200180610eab602e913960400191505060405180910390fd5b506000610cf7565b60335460ff808416911610610ce45760405162461bcd60e51b815260040180806020018281038252602e815260200180610eab602e913960400191505060405180910390fd5b506033805460ff191660ff831617905560015b919050565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350565b6033546201000090046001600160a01b0316331480610d6857506034546001600160a01b031633145b6104645760405162461bcd60e51b8152600401808060200182810382526041815260200180610e416041913960600191505060405180910390fd5b60008184841115610e325760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610df7578181015183820152602001610ddf565b50505050905090810190601f168015610e245780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b3b15159056fe416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e616765724f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206e6577206f776e6572496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564416374697665506f6f6c3a2043616c6c6572206973206e65697468657220426f72726f7765724f7065726174696f6e73206e6f722054726f76654d616e61676572206e6f722053746162696c697479506f6f6c416374697665506f6f6c3a2043616c6c6572206973206e65697468657220424f206e6f722044656661756c7420506f6f6ca264697066735822122082d47d1169d62480836ecddc7fe5fc5fda6cf9d6293ad982a37cb9d92999d90564736f6c634300060b0033496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564