0x60806040523480156200001157600080fd5b5060405162000ff038038062000ff08339810160408190526200003491620004b1565b8282828281620000478282600062000061565b50620000559050826200009e565b505050505050620005e4565b6200006c83620000f9565b6000825111806200007a5750805b1562000099576200009783836200013b60201b620002f71760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000c96200016a565b604080516001600160a01b03928316815291841660208301520160405180910390a1620000f681620001a3565b50565b620001048162000258565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062000163838360405180606001604052806027815260200162000fc9602791396200030c565b9392505050565b60006200019460008051602062000fa983398151915260001b6200038b60201b6200026b1760201c565b546001600160a01b0316919050565b6001600160a01b0381166200020e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b806200023760008051602062000fa983398151915260001b6200038b60201b6200026b1760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6200026e816200038e60201b620003231760201c565b620002d25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000205565b80620002377f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6200038b60201b6200026b1760201c565b6060600080856001600160a01b0316856040516200032b919062000591565b600060405180830381855af49150503d806000811462000368576040519150601f19603f3d011682016040523d82523d6000602084013e6200036d565b606091505b50909250905062000381868383876200039d565b9695505050505050565b90565b6001600160a01b03163b151590565b606083156200040e57825162000406576001600160a01b0385163b620004065760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000205565b50816200041a565b6200041a838362000422565b949350505050565b815115620004335781518083602001fd5b8060405162461bcd60e51b8152600401620002059190620005af565b80516001600160a01b03811681146200046757600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200049f57818101518382015260200162000485565b83811115620000975750506000910152565b600080600060608486031215620004c757600080fd5b620004d2846200044f565b9250620004e2602085016200044f565b60408501519092506001600160401b03808211156200050057600080fd5b818601915086601f8301126200051557600080fd5b8151818111156200052a576200052a6200046c565b604051601f8201601f19908116603f011681019083821181831017156200055557620005556200046c565b816040528281528960208487010111156200056f57600080fd5b6200058283602083016020880162000482565b80955050505050509250925092565b60008251620005a581846020870162000482565b9190910192915050565b6020815260008251806020840152620005d081604085016020870162000482565b601f01601f19169190910160400192915050565b6109b580620005f46000396000f3fe60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100e6578063f851a440146101065761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61011b565b005b61006b61011b565b34801561008157600080fd5b5061006b610090366004610821565b61012d565b61006b6100a336600461083c565b61018e565b3480156100b457600080fd5b506100bd610219565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100f257600080fd5b5061006b610101366004610821565b61026e565b34801561011257600080fd5b506100bd6102b2565b61012b61012661033f565b610349565b565b61013561036d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018657610183816040518060200160405280600081525060006103ad565b50565b61018361011b565b61019661036d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102115761020c8383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506103ad915050565b505050565b61020c61011b565b600061022361036d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102635761025e61033f565b905090565b61026b61011b565b90565b61027661036d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018657610183816103d8565b60006102bc61036d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102635761025e61036d565b606061031c838360405180606001604052806027815260200161095960279139610439565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b600061025e6104be565b3660008037600080366000845af43d6000803e808015610368573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6103b6836104e6565b6000825111806103c35750805b1561020c576103d283836102f7565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61040161036d565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a161018381610533565b60606000808573ffffffffffffffffffffffffffffffffffffffff168560405161046391906108eb565b600060405180830381855af49150503d806000811461049e576040519150601f19603f3d011682016040523d82523d6000602084013e6104a3565b606091505b50915091506104b486838387610644565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610391565b6104ef816106e9565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b73ffffffffffffffffffffffffffffffffffffffff81166105db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b606083156106d75782516106d05773ffffffffffffffffffffffffffffffffffffffff85163b6106d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105d2565b50816106e1565b6106e183836107b4565b949350505050565b73ffffffffffffffffffffffffffffffffffffffff81163b61078d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016105d2565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6105fe565b8151156107c45781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d29190610907565b803573ffffffffffffffffffffffffffffffffffffffff8116811461081c57600080fd5b919050565b60006020828403121561083357600080fd5b61031c826107f8565b60008060006040848603121561085157600080fd5b61085a846107f8565b9250602084013567ffffffffffffffff8082111561087757600080fd5b818601915086601f83011261088b57600080fd5b81358181111561089a57600080fd5b8760208285010111156108ac57600080fd5b6020830194508093505050509250925092565b60005b838110156108da5781810151838201526020016108c2565b838111156103d25750506000910152565b600082516108fd8184602087016108bf565b9190910192915050565b60208152600082518060208401526109268160408501602087016108bf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220993ddea4cdbac3cad62ea6ab68e8e680bf1cd126818f4605863b588f2d00946e64736f6c63430008090033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000008712fa9569658c27556d95c820f775939513faef000000000000000000000000ea7230739592aec81801987bfb4435d1d514a14b00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000