0x608060405234801561001057600080fd5b506108c8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806351ba162c14610046578063c73a2d601461005b578063cb9637281461006e575b600080fd5b61005961005436600461068c565b610081565b005b61005961006936600461068c565b6100f7565b61005961007c366004610762565b6101c8565b60005b82518110156100f1576100df338483815181106100a3576100a3610786565b60200260200101518484815181106100bd576100bd610786565b6020026020010151876001600160a01b0316610299909392919063ffffffff16565b806100e9816107b2565b915050610084565b50505050565b6000805b835181101561013d5782818151811061011657610116610786565b60200260200101518261012991906107cb565b915080610135816107b2565b9150506100fb565b506101536001600160a01b038516333084610299565b60005b83518110156101c1576101af84828151811061017457610174610786565b602002602001015184838151811061018e5761018e610786565b6020026020010151876001600160a01b03166103049092919063ffffffff16565b806101b9816107b2565b915050610156565b5050505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561020f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023391906107e4565b9050600081116102815760405162461bcd60e51b81526020600482015260146024820152734469737065727365723a204e6f20746f6b656e7360601b60448201526064015b60405180910390fd5b6102956001600160a01b0383163383610304565b5050565b6040516001600160a01b03808516602483015283166044820152606481018290526100f19085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610339565b6040516001600160a01b03831660248201526044810182905261033490849063a9059cbb60e01b906064016102cd565b505050565b600061038e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661040e9092919063ffffffff16565b90508051600014806103af5750808060200190518101906103af91906107fd565b6103345760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610278565b606061041d8484600085610425565b949350505050565b6060824710156104865760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610278565b600080866001600160a01b031685876040516104a29190610843565b60006040518083038185875af1925050503d80600081146104df576040519150601f19603f3d011682016040523d82523d6000602084013e6104e4565b606091505b50915091506104f587838387610500565b979650505050505050565b6060831561056f578251600003610568576001600160a01b0385163b6105685760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610278565b508161041d565b61041d83838151156105845781518083602001fd5b8060405162461bcd60e51b8152600401610278919061085f565b6001600160a01b03811681146105b357600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156105f5576105f56105b6565b604052919050565b600067ffffffffffffffff821115610617576106176105b6565b5060051b60200190565b600082601f83011261063257600080fd5b81356020610647610642836105fd565b6105cc565b82815260059290921b8401810191818101908684111561066657600080fd5b8286015b84811015610681578035835291830191830161066a565b509695505050505050565b6000806000606084860312156106a157600080fd5b83356106ac8161059e565b925060208481013567ffffffffffffffff808211156106ca57600080fd5b818701915087601f8301126106de57600080fd5b81356106ec610642826105fd565b81815260059190911b8301840190848101908a83111561070b57600080fd5b938501935b828510156107325784356107238161059e565b82529385019390850190610710565b96505050604087013592508083111561074a57600080fd5b505061075886828701610621565b9150509250925092565b60006020828403121561077457600080fd5b813561077f8161059e565b9392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016107c4576107c461079c565b5060010190565b808201808211156107de576107de61079c565b92915050565b6000602082840312156107f657600080fd5b5051919050565b60006020828403121561080f57600080fd5b8151801515811461077f57600080fd5b60005b8381101561083a578181015183820152602001610822565b50506000910152565b6000825161085581846020870161081f565b9190910192915050565b602081526000825180602084015261087e81604085016020870161081f565b601f01601f1916919091016040019291505056fea2646970667358221220c60e2f393a10faa5967d896b995acc784ebffbbc00e6848c23c129363d67ae8c64736f6c63430008130033