0x000000000000000000000000000000000000000000000000000000000000000060a06040523480156200001157600080fd5b5060405162001574380380620015748339810160408190526200003491620001c5565b6200003f336200007e565b6001600160a01b0380831660805281166000908152600160208190526040909120805460ff191690911790556200007681620000ce565b505062000204565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b620000d862000151565b6001600160a01b038116620001435760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6200014e816200007e565b50565b6000546001600160a01b03163314620001ad5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200013a565b565b6001600160a01b03811681146200014e57600080fd5b60008060408385031215620001d957600080fd5b8251620001e681620001af565b6020840151909250620001f981620001af565b809150509250929050565b60805161134e6200022660003960008181609d0152610570015261134e6000f3fe60806040526004361061007f5760003560e01c8063baae8abf1161004e578063baae8abf1461014b578063bd5dec981461016b578063d63a8e111461018b578063f2fde38b146101cb57600080fd5b80633fc8cef31461008b578063715018a6146100e95780637eb7cf3d146101005780638da5cb5b1461012057600080fd5b3661008657005b600080fd5b34801561009757600080fd5b506100bf7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100f557600080fd5b506100fe6101eb565b005b34801561010c57600080fd5b506100fe61011b366004610e37565b6101ff565b34801561012c57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166100bf565b34801561015757600080fd5b506100fe610166366004610e8e565b6102a9565b34801561017757600080fd5b506100fe610186366004610f31565b6103cb565b34801561019757600080fd5b506101bb6101a6366004611014565b60016020526000908152604090205460ff1681565b60405190151581526020016100e0565b3480156101d757600080fd5b506100fe6101e6366004611014565b610673565b6101f3610727565b6101fd60006107a8565b565b610207610727565b60005b828110156102a357816001600086868581811061022957610229611031565b905060200201602081019061023e9190611014565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790558061029b81611060565b91505061020a565b50505050565b3360009081526001602052604090205460ff166102f9576040517ffa5cd00f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6103ae73ca11bde05977b3631167028862be2a173976ca1163252dba4260e01b848460405160240161032c9291906110bf565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261081d565b506040805160008152602081019091526103c7906103cb565b5050565b3360009081526001602052604090205460ff16610416576040517ffa5cd00f0000000000000000000000000000000000000000000000000000000081523360048201526024016102f0565b60005b81518110156105415761052f61044460005473ffffffffffffffffffffffffffffffffffffffff1690565b83838151811061045657610456611031565b60209081029190910101516040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa1580156104cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f0919061122a565b84848151811061050257610502611031565b602002602001015173ffffffffffffffffffffffffffffffffffffffff166108499092919063ffffffff16565b8061053981611060565b915050610419565b506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690632e1a7d4d9082906370a0823190602401602060405180830381865afa1580156105d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f8919061122a565b6040518263ffffffff1660e01b815260040161061691815260200190565b600060405180830381600087803b15801561063057600080fd5b505af1158015610644573d6000803e3d6000fd5b5050505061067061066a60005473ffffffffffffffffffffffffffffffffffffffff1690565b476108db565b50565b61067b610727565b73ffffffffffffffffffffffffffffffffffffffff811661071e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102f0565b610670816107a8565b60005473ffffffffffffffffffffffffffffffffffffffff1633146101fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102f0565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606061084283836040518060600160405280602781526020016112f260279139610a35565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526108d6908490610aba565b505050565b80471015610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016102f0565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461099f576040519150601f19603f3d011682016040523d82523d6000602084013e6109a4565b606091505b50509050806108d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016102f0565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051610a5f9190611267565b600060405180830381855af49150503d8060008114610a9a576040519150601f19603f3d011682016040523d82523d6000602084013e610a9f565b606091505b5091509150610ab086838387610bc9565b9695505050505050565b6000610b1c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610c719092919063ffffffff16565b9050805160001480610b3d575080806020019051810190610b3d9190611283565b6108d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016102f0565b60608315610c5f578251600003610c585773ffffffffffffffffffffffffffffffffffffffff85163b610c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f0565b5081610c69565b610c698383610c80565b949350505050565b6060610c698484600085610cc4565b815115610c905781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f091906112a0565b606082471015610d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016102f0565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610d7f9190611267565b60006040518083038185875af1925050503d8060008114610dbc576040519150601f19603f3d011682016040523d82523d6000602084013e610dc1565b606091505b5091509150610dd287838387610bc9565b979650505050505050565b60008083601f840112610def57600080fd5b50813567ffffffffffffffff811115610e0757600080fd5b6020830191508360208260051b8501011115610e2257600080fd5b9250929050565b801515811461067057600080fd5b600080600060408486031215610e4c57600080fd5b833567ffffffffffffffff811115610e6357600080fd5b610e6f86828701610ddd565b9094509250506020840135610e8381610e29565b809150509250925092565b60008060208385031215610ea157600080fd5b823567ffffffffffffffff811115610eb857600080fd5b610ec485828601610ddd565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461067057600080fd5b8035610f2c81610eff565b919050565b60006020808385031215610f4457600080fd5b823567ffffffffffffffff80821115610f5c57600080fd5b818501915085601f830112610f7057600080fd5b813581811115610f8257610f82610ed0565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108582111715610fc557610fc5610ed0565b604052918252848201925083810185019188831115610fe357600080fd5b938501935b8285101561100857610ff985610f21565b84529385019392850192610fe8565b98975050505050505050565b60006020828403121561102657600080fd5b813561084281610eff565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036110b8577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60208082528181018390526000906040808401600586901b8501820187855b8881101561121c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088840301845281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18b360301811261113f57600080fd5b8a01803561114c81610eff565b73ffffffffffffffffffffffffffffffffffffffff16845280870135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261119957600080fd5b01868101903567ffffffffffffffff8111156111b457600080fd5b8036038213156111c357600080fd5b868886015280878601526060818382880137600086830182015295880195601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169094019093019250908501906001016110de565b509098975050505050505050565b60006020828403121561123c57600080fd5b5051919050565b60005b8381101561125e578181015183820152602001611246565b50506000910152565b60008251611279818460208701611243565b9190910192915050565b60006020828403121561129557600080fd5b815161084281610e29565b60208152600082518060208401526112bf816040850160208701611243565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122037b1d12005f6430eb8c1844442c5234fadc1f5c10d38d8cffb7270013ff23fec64736f6c634300081300330000000000000000000000004f9a0e7fd2bf6067db6994cf12e4495df938e6e9000000000000000000000000fcd300aafe1fdb3166cd1a3b46463144fc2d46ad