0x608060405234801561001057600080fd5b50600436106101e45760003560e01c806370a082311161010f578063a457c2d7116100a2578063b0ea5ee811610071578063b0ea5ee814610406578063dd62ed3e1461045d578063e3f61db814610470578063fcdff2111461048357600080fd5b8063a457c2d7146103ba578063a9059cbb146103cd578063ae2a79cb146103e0578063b0dbd0ff146103f357600080fd5b80638aae3d87116100de5780638aae3d871461038d5780638eaed72c146103965780639433ec081461039f57806395d89b41146103b257600080fd5b806370a082311461030f57806372235de4146103385780637654f286146103675780637964c8891461037a57600080fd5b806318160ddd11610187578063313ce56711610156578063313ce567146102a257806335655c4f146102b157806339509351146102d157806344ed89cf146102e457600080fd5b806318160ddd146102765780631926bdf51461027e578063203ad3d61461028757806323b872dd1461028f57600080fd5b8063080f49b5116101c3578063080f49b514610224578063095ea7b3146102375780630fb21c4d1461025a57806313ea8d7b1461026d57600080fd5b8062540b0c146101e957806303323be1146101f357806306fdde031461020f575b600080fd5b6101f161048c565b005b6101fc600c5481565b6040519081526020015b60405180910390f35b6102176105de565b6040516102069190611838565b6101f161023236600461189f565b610670565b61024a6102453660046118d1565b6107d0565b6040519015158152602001610206565b6101f16102683660046118fb565b6107ea565b6101fc60075481565b6002546101fc565b6101fc60085481565b6101f161089e565b61024a61029d366004611914565b610990565b60405160128152602001610206565b6102c46102bf366004611950565b6109b4565b6040516102069190611999565b61024a6102df3660046118d1565b610a50565b6006546102f7906001600160a01b031681565b6040516001600160a01b039091168152602001610206565b6101fc61031d3660046119e8565b6001600160a01b031660009081526020819052604090205490565b6101fc6103463660046119e8565b6001600160a01b03166000908152600d602052604090205463ffffffff1690565b6101f1610375366004611a03565b610a72565b6101f16103883660046118fb565b610ac4565b6101fc60095481565b6101fc600b5481565b6005546102f7906001600160a01b031681565b610217610b6f565b61024a6103c83660046118d1565b610b7e565b61024a6103db3660046118d1565b610bf9565b6101f16103ee366004611a45565b610c07565b6101f16104013660046118fb565b610df3565b6104196104143660046119e8565b610e93565b6040516102069190600060a0820190508251825260208301516020830152604083015160408301526060830151606083015260808301511515608083015292915050565b6101fc61046b366004611a79565b610f24565b6101f161047e3660046118fb565b610f4f565b6101fc600a5481565b336000908152600f60205260409020600a54815442916104ab91611ab9565b106104fd5760405162461bcd60e51b815260206004820152601b60248201527f5374696c6c206772696c6c696e6720796f75722066726f672e2e2e000000000060448201526064015b60405180910390fd5b600481015460ff16156105525760405162461bcd60e51b815260206004820152601b60248201527f416c726561647920746f6f6b20796f75722066726f67206261636b000000000060448201526064016104f4565b6004818101805460ff19166001179055600654600283015460405163a9059cbb60e01b8152339381019390935260248301526001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156105b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105da9190611acc565b5050565b6060600380546105ed90611aee565b80601f016020809104026020016040519081016040528092919081815260200182805461061990611aee565b80156106665780601f1061063b57610100808354040283529160200191610666565b820191906000526020600020905b81548152906001019060200180831161064957829003601f168201915b5050505050905090565b336000908152600e6020908152604080832063ffffffff8516845290915290206002810154610100900460ff16156106ea5760405162461bcd60e51b815260206004820152601860248201527f596f7520616c726561647920617465207468656d20757021000000000000000060448201526064016104f4565b805460028201546000916107009160ff16611162565b90504281106107515760405162461bcd60e51b815260206004820152601d60248201527f54686520737465616b206973206e6f74206772696c6c6564207965742100000060448201526064016104f4565b61075e8162015180611ab9565b421061079c5760405162461bcd60e51b815260206004820152600d60248201526c04f766572636f6f6b6564203a5609c1b60448201526064016104f4565b60028201805461ff001981166101001790915560018301546107cb9133916107c69160ff16611210565b6112cc565b505050565b6000336107de81858561138b565b60019150505b92915050565b806000811161080b5760405162461bcd60e51b81526004016104f490611b28565b6005546040516323b872dd60e01b81526001600160a01b03909116906323b872dd9061083f90339030908790600401611b54565b6020604051808303816000875af115801561085e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108829190611acc565b5081600960008282546108959190611ab9565b90915550505050565b336000908152600f60205260409020600b54815442916108bd91611ab9565b1061090a5760405162461bcd60e51b815260206004820152601860248201527f596f757220737465616b206973206e6f7420726561647921000000000000000060448201526064016104f4565b6000600c548260030154600c54600b5485600001546109299190611ab9565b6109339190611ab9565b421161093f574261095b565b600c54600b5485546109519190611ab9565b61095b9190611ab9565b6109659190611b78565b83600101546109749190611b8b565b61097e9190611ba2565b42600384015590506105da33826112cc565b60003361099e8582856114af565b6109a9858585611529565b506001949350505050565b6109bc6117ff565b6001600160a01b0383166000908152600e6020908152604080832063ffffffff861684528252918290208251608081018452815481526001820154928101929092526002810154919290919083019060ff166004811115610a1f57610a1f611983565b6004811115610a3057610a30611983565b815260029190910154610100900460ff1615156020909101529392505050565b6000336107de818585610a638383610f24565b610a6d9190611ab9565b61138b565b73c54a1581309bb22ef1366a4cd5e34c20b84d67b13314610a9257600080fd5b600680546001600160a01b0319166001600160a01b039690961695909517909455600792909255600a55600b55600c55565b8060008111610ae55760405162461bcd60e51b81526004016104f490611b28565b6005546040516323b872dd60e01b81526001600160a01b03909116906323b872dd90610b1990339030908790600401611b54565b6020604051808303816000875af1158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c9190611acc565b5081600860008282546108959190611ab9565b6060600480546105ed90611aee565b60003381610b8c8286610f24565b905083811015610bec5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016104f4565b6109a9828686840361138b565b6000336107de818585611529565b8160008111610c285760405162461bcd60e51b81526004016104f490611b28565b6005546040516323b872dd60e01b81526001600160a01b03909116906323b872dd90610c5c90339030908890600401611b54565b6020604051808303816000875af1158015610c7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9f9190611acc565b506000610cac8484611210565b600854909150610cbc8583611b78565b1115610d305760405162461bcd60e51b815260206004820152603b60248201527f537465616b206973206f7574206f662073746f636b2e20506c6561736520776160448201527f697420666f7220746865206e657874205374616b65686f75736521000000000060648201526084016104f4565b610d3a8482611b78565b60086000828254610d4b9190611b78565b9091555050336000908152600e60209081526040808320600d83528184205463ffffffff16845290915290204281556001818101869055600282018054869260ff1990911690836004811115610da357610da3611983565b0217905550336000908152600d60205260408120805460019290610dce90849063ffffffff16611bc4565b92506101000a81548163ffffffff021916908363ffffffff1602179055505050505050565b8060008111610e145760405162461bcd60e51b81526004016104f490611b28565b610e1e33836116cd565b60055460405163a9059cbb60e01b8152336004820152602481018490526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610e6f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cb9190611acc565b610ec76040518060a00160405280600081526020016000815260200160008152602001600081526020016000151581525090565b506001600160a01b03166000908152600f6020908152604091829020825160a081018452815481526001820154928101929092526002810154928201929092526003820154606082015260049091015460ff161515608082015290565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b8060008111610f705760405162461bcd60e51b81526004016104f490611b28565b6006546001600160a01b031615801590610f8b575060075415155b610fd75760405162461bcd60e51b815260206004820152601760248201527f5761697420666f72206d696e7574657320706c7a203a4400000000000000000060448201526064016104f4565b6006546040516323b872dd60e01b81526001600160a01b03909116906323b872dd9061100b90339030908790600401611b54565b6020604051808303816000875af115801561102a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104e9190611acc565b50336000908152600f602052604090206001810154156110bc5760405162461bcd60e51b815260206004820152602360248201527f596f752063616e2074617374652066726f6720737465616b206f6e6c79206f6e60448201526231b29760e91b60648201526084016104f4565b428155600281018390556007546110d39084611b8b565b6001820155600b5481546110e79190611ab9565b6003820155600181015460095410156111425760405162461bcd60e51b815260206004820152601d60248201527f5065706520737465616b206973206f7574206f662073746f636b203b5000000060448201526064016104f4565b8060010154600960008282546111589190611b78565b9091555050505050565b60008082600481111561117757611177611983565b036111835750816107e4565b600182600481111561119757611197611983565b036111b0576111a98362015180611ab9565b90506107e4565b60028260048111156111c4576111c4611983565b036111d6576111a9836203f480611ab9565b60038260048111156111ea576111ea611983565b036111fc576111a98362069780611ab9565b6112098362093a80611ab9565b9392505050565b60008082600481111561122557611225611983565b036112315750816107e4565b600182600481111561124557611245611983565b03611263576127106112598461272e611b8b565b6111a99190611ba2565b600282600481111561127757611277611983565b0361128b5761271061125984612783611b8b565b600382600481111561129f5761129f611983565b036112b357612710611259846127f1611b8b565b6127106112c28461286e611b8b565b6112099190611ba2565b6001600160a01b0382166113225760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104f4565b80600260008282546113349190611ab9565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0383166113ed5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f4565b6001600160a01b03821661144e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f4565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006114bb8484610f24565b9050600019811461152357818110156115165760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104f4565b611523848484840361138b565b50505050565b6001600160a01b03831661158d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f4565b6001600160a01b0382166115ef5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f4565b6001600160a01b038316600090815260208190526040902054818110156116675760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104f4565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611523565b6001600160a01b03821661172d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016104f4565b6001600160a01b038216600090815260208190526040902054818110156117a15760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016104f4565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b604051806080016040528060008152602001600081526020016000600481111561182b5761182b611983565b8152600060209091015290565b600060208083528351808285015260005b8181101561186557858101830151858201604001528201611849565b506000604082860101526040601f19601f8301168501019250505092915050565b803563ffffffff8116811461189a57600080fd5b919050565b6000602082840312156118b157600080fd5b61120982611886565b80356001600160a01b038116811461189a57600080fd5b600080604083850312156118e457600080fd5b6118ed836118ba565b946020939093013593505050565b60006020828403121561190d57600080fd5b5035919050565b60008060006060848603121561192957600080fd5b611932846118ba565b9250611940602085016118ba565b9150604084013590509250925092565b6000806040838503121561196357600080fd5b61196c836118ba565b915061197a60208401611886565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b815181526020808301519082015260408201516080820190600581106119cf57634e487b7160e01b600052602160045260246000fd5b8060408401525060608301511515606083015292915050565b6000602082840312156119fa57600080fd5b611209826118ba565b600080600080600060a08688031215611a1b57600080fd5b611a24866118ba565b97602087013597506040870135966060810135965060800135945092505050565b60008060408385031215611a5857600080fd5b82359150602083013560058110611a6e57600080fd5b809150509250929050565b60008060408385031215611a8c57600080fd5b611a95836118ba565b915061197a602084016118ba565b634e487b7160e01b600052601160045260246000fd5b808201808211156107e4576107e4611aa3565b600060208284031215611ade57600080fd5b8151801515811461120957600080fd5b600181811c90821680611b0257607f821691505b602082108103611b2257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601290820152715a45524f204d45414e53204e4f5448494e4760701b604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b818103818111156107e4576107e4611aa3565b80820281158282048414176107e4576107e4611aa3565b600082611bbf57634e487b7160e01b600052601260045260246000fd5b500490565b63ffffffff818116838216019080821115611be157611be1611aa3565b509291505056fea264697066735822122010e84fab2f8a86162fd0ad97cdf05842bd0a1aeece36db0e382f85d336dee01e64736f6c63430008120033
0x6080604052600580546001600160a01b031990811673caa7709a7365f981e4996f907f8adb482e75acb81790915560068054909116736982508145454ce325ddbe47a25d4ec3d231193317905562015180600a5562127500600b556224ea00600c553480156200006e57600080fd5b506040518060400160405280601981526020017f537465616b20696e205465786173205374616b65686f7573650000000000000081525060405180604001604052806005815260200164535445414b60d81b8152508160039081620000d4919062000191565b506004620000e3828262000191565b5050506200025d565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200011757607f821691505b6020821081036200013857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200018c57600081815260208120601f850160051c81016020861015620001675750805b601f850160051c820191505b81811015620001885782815560010162000173565b5050505b505050565b81516001600160401b03811115620001ad57620001ad620000ec565b620001c581620001be845462000102565b846200013e565b602080601f831160018114620001fd5760008415620001e45750858301515b600019600386901b1c1916600185901b17855562000188565b600085815260208120601f198616915b828110156200022e578886015182559484019460019091019084016200020d565b50858210156200024d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611c1e806200026d6000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c806370a082311161010f578063a457c2d7116100a2578063b0ea5ee811610071578063b0ea5ee814610406578063dd62ed3e1461045d578063e3f61db814610470578063fcdff2111461048357600080fd5b8063a457c2d7146103ba578063a9059cbb146103cd578063ae2a79cb146103e0578063b0dbd0ff146103f357600080fd5b80638aae3d87116100de5780638aae3d871461038d5780638eaed72c146103965780639433ec081461039f57806395d89b41146103b257600080fd5b806370a082311461030f57806372235de4146103385780637654f286146103675780637964c8891461037a57600080fd5b806318160ddd11610187578063313ce56711610156578063313ce567146102a257806335655c4f146102b157806339509351146102d157806344ed89cf146102e457600080fd5b806318160ddd146102765780631926bdf51461027e578063203ad3d61461028757806323b872dd1461028f57600080fd5b8063080f49b5116101c3578063080f49b514610224578063095ea7b3146102375780630fb21c4d1461025a57806313ea8d7b1461026d57600080fd5b8062540b0c146101e957806303323be1146101f357806306fdde031461020f575b600080fd5b6101f161048c565b005b6101fc600c5481565b6040519081526020015b60405180910390f35b6102176105de565b6040516102069190611838565b6101f161023236600461189f565b610670565b61024a6102453660046118d1565b6107d0565b6040519015158152602001610206565b6101f16102683660046118fb565b6107ea565b6101fc60075481565b6002546101fc565b6101fc60085481565b6101f161089e565b61024a61029d366004611914565b610990565b60405160128152602001610206565b6102c46102bf366004611950565b6109b4565b6040516102069190611999565b61024a6102df3660046118d1565b610a50565b6006546102f7906001600160a01b031681565b6040516001600160a01b039091168152602001610206565b6101fc61031d3660046119e8565b6001600160a01b031660009081526020819052604090205490565b6101fc6103463660046119e8565b6001600160a01b03166000908152600d602052604090205463ffffffff1690565b6101f1610375366004611a03565b610a72565b6101f16103883660046118fb565b610ac4565b6101fc60095481565b6101fc600b5481565b6005546102f7906001600160a01b031681565b610217610b6f565b61024a6103c83660046118d1565b610b7e565b61024a6103db3660046118d1565b610bf9565b6101f16103ee366004611a45565b610c07565b6101f16104013660046118fb565b610df3565b6104196104143660046119e8565b610e93565b6040516102069190600060a0820190508251825260208301516020830152604083015160408301526060830151606083015260808301511515608083015292915050565b6101fc61046b366004611a79565b610f24565b6101f161047e3660046118fb565b610f4f565b6101fc600a5481565b336000908152600f60205260409020600a54815442916104ab91611ab9565b106104fd5760405162461bcd60e51b815260206004820152601b60248201527f5374696c6c206772696c6c696e6720796f75722066726f672e2e2e000000000060448201526064015b60405180910390fd5b600481015460ff16156105525760405162461bcd60e51b815260206004820152601b60248201527f416c726561647920746f6f6b20796f75722066726f67206261636b000000000060448201526064016104f4565b6004818101805460ff19166001179055600654600283015460405163a9059cbb60e01b8152339381019390935260248301526001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156105b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105da9190611acc565b5050565b6060600380546105ed90611aee565b80601f016020809104026020016040519081016040528092919081815260200182805461061990611aee565b80156106665780601f1061063b57610100808354040283529160200191610666565b820191906000526020600020905b81548152906001019060200180831161064957829003601f168201915b5050505050905090565b336000908152600e6020908152604080832063ffffffff8516845290915290206002810154610100900460ff16156106ea5760405162461bcd60e51b815260206004820152601860248201527f596f7520616c726561647920617465207468656d20757021000000000000000060448201526064016104f4565b805460028201546000916107009160ff16611162565b90504281106107515760405162461bcd60e51b815260206004820152601d60248201527f54686520737465616b206973206e6f74206772696c6c6564207965742100000060448201526064016104f4565b61075e8162015180611ab9565b421061079c5760405162461bcd60e51b815260206004820152600d60248201526c04f766572636f6f6b6564203a5609c1b60448201526064016104f4565b60028201805461ff001981166101001790915560018301546107cb9133916107c69160ff16611210565b6112cc565b505050565b6000336107de81858561138b565b60019150505b92915050565b806000811161080b5760405162461bcd60e51b81526004016104f490611b28565b6005546040516323b872dd60e01b81526001600160a01b03909116906323b872dd9061083f90339030908790600401611b54565b6020604051808303816000875af115801561085e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108829190611acc565b5081600960008282546108959190611ab9565b90915550505050565b336000908152600f60205260409020600b54815442916108bd91611ab9565b1061090a5760405162461bcd60e51b815260206004820152601860248201527f596f757220737465616b206973206e6f7420726561647921000000000000000060448201526064016104f4565b6000600c548260030154600c54600b5485600001546109299190611ab9565b6109339190611ab9565b421161093f574261095b565b600c54600b5485546109519190611ab9565b61095b9190611ab9565b6109659190611b78565b83600101546109749190611b8b565b61097e9190611ba2565b42600384015590506105da33826112cc565b60003361099e8582856114af565b6109a9858585611529565b506001949350505050565b6109bc6117ff565b6001600160a01b0383166000908152600e6020908152604080832063ffffffff861684528252918290208251608081018452815481526001820154928101929092526002810154919290919083019060ff166004811115610a1f57610a1f611983565b6004811115610a3057610a30611983565b815260029190910154610100900460ff1615156020909101529392505050565b6000336107de818585610a638383610f24565b610a6d9190611ab9565b61138b565b73c54a1581309bb22ef1366a4cd5e34c20b84d67b13314610a9257600080fd5b600680546001600160a01b0319166001600160a01b039690961695909517909455600792909255600a55600b55600c55565b8060008111610ae55760405162461bcd60e51b81526004016104f490611b28565b6005546040516323b872dd60e01b81526001600160a01b03909116906323b872dd90610b1990339030908790600401611b54565b6020604051808303816000875af1158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c9190611acc565b5081600860008282546108959190611ab9565b6060600480546105ed90611aee565b60003381610b8c8286610f24565b905083811015610bec5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016104f4565b6109a9828686840361138b565b6000336107de818585611529565b8160008111610c285760405162461bcd60e51b81526004016104f490611b28565b6005546040516323b872dd60e01b81526001600160a01b03909116906323b872dd90610c5c90339030908890600401611b54565b6020604051808303816000875af1158015610c7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9f9190611acc565b506000610cac8484611210565b600854909150610cbc8583611b78565b1115610d305760405162461bcd60e51b815260206004820152603b60248201527f537465616b206973206f7574206f662073746f636b2e20506c6561736520776160448201527f697420666f7220746865206e657874205374616b65686f75736521000000000060648201526084016104f4565b610d3a8482611b78565b60086000828254610d4b9190611b78565b9091555050336000908152600e60209081526040808320600d83528184205463ffffffff16845290915290204281556001818101869055600282018054869260ff1990911690836004811115610da357610da3611983565b0217905550336000908152600d60205260408120805460019290610dce90849063ffffffff16611bc4565b92506101000a81548163ffffffff021916908363ffffffff1602179055505050505050565b8060008111610e145760405162461bcd60e51b81526004016104f490611b28565b610e1e33836116cd565b60055460405163a9059cbb60e01b8152336004820152602481018490526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610e6f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cb9190611acc565b610ec76040518060a00160405280600081526020016000815260200160008152602001600081526020016000151581525090565b506001600160a01b03166000908152600f6020908152604091829020825160a081018452815481526001820154928101929092526002810154928201929092526003820154606082015260049091015460ff161515608082015290565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b8060008111610f705760405162461bcd60e51b81526004016104f490611b28565b6006546001600160a01b031615801590610f8b575060075415155b610fd75760405162461bcd60e51b815260206004820152601760248201527f5761697420666f72206d696e7574657320706c7a203a4400000000000000000060448201526064016104f4565b6006546040516323b872dd60e01b81526001600160a01b03909116906323b872dd9061100b90339030908790600401611b54565b6020604051808303816000875af115801561102a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104e9190611acc565b50336000908152600f602052604090206001810154156110bc5760405162461bcd60e51b815260206004820152602360248201527f596f752063616e2074617374652066726f6720737465616b206f6e6c79206f6e60448201526231b29760e91b60648201526084016104f4565b428155600281018390556007546110d39084611b8b565b6001820155600b5481546110e79190611ab9565b6003820155600181015460095410156111425760405162461bcd60e51b815260206004820152601d60248201527f5065706520737465616b206973206f7574206f662073746f636b203b5000000060448201526064016104f4565b8060010154600960008282546111589190611b78565b9091555050505050565b60008082600481111561117757611177611983565b036111835750816107e4565b600182600481111561119757611197611983565b036111b0576111a98362015180611ab9565b90506107e4565b60028260048111156111c4576111c4611983565b036111d6576111a9836203f480611ab9565b60038260048111156111ea576111ea611983565b036111fc576111a98362069780611ab9565b6112098362093a80611ab9565b9392505050565b60008082600481111561122557611225611983565b036112315750816107e4565b600182600481111561124557611245611983565b03611263576127106112598461272e611b8b565b6111a99190611ba2565b600282600481111561127757611277611983565b0361128b5761271061125984612783611b8b565b600382600481111561129f5761129f611983565b036112b357612710611259846127f1611b8b565b6127106112c28461286e611b8b565b6112099190611ba2565b6001600160a01b0382166113225760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104f4565b80600260008282546113349190611ab9565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0383166113ed5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f4565b6001600160a01b03821661144e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f4565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006114bb8484610f24565b9050600019811461152357818110156115165760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104f4565b611523848484840361138b565b50505050565b6001600160a01b03831661158d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f4565b6001600160a01b0382166115ef5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f4565b6001600160a01b038316600090815260208190526040902054818110156116675760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104f4565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611523565b6001600160a01b03821661172d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016104f4565b6001600160a01b038216600090815260208190526040902054818110156117a15760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016104f4565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b604051806080016040528060008152602001600081526020016000600481111561182b5761182b611983565b8152600060209091015290565b600060208083528351808285015260005b8181101561186557858101830151858201604001528201611849565b506000604082860101526040601f19601f8301168501019250505092915050565b803563ffffffff8116811461189a57600080fd5b919050565b6000602082840312156118b157600080fd5b61120982611886565b80356001600160a01b038116811461189a57600080fd5b600080604083850312156118e457600080fd5b6118ed836118ba565b946020939093013593505050565b60006020828403121561190d57600080fd5b5035919050565b60008060006060848603121561192957600080fd5b611932846118ba565b9250611940602085016118ba565b9150604084013590509250925092565b6000806040838503121561196357600080fd5b61196c836118ba565b915061197a60208401611886565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b815181526020808301519082015260408201516080820190600581106119cf57634e487b7160e01b600052602160045260246000fd5b8060408401525060608301511515606083015292915050565b6000602082840312156119fa57600080fd5b611209826118ba565b600080600080600060a08688031215611a1b57600080fd5b611a24866118ba565b97602087013597506040870135966060810135965060800135945092505050565b60008060408385031215611a5857600080fd5b82359150602083013560058110611a6e57600080fd5b809150509250929050565b60008060408385031215611a8c57600080fd5b611a95836118ba565b915061197a602084016118ba565b634e487b7160e01b600052601160045260246000fd5b808201808211156107e4576107e4611aa3565b600060208284031215611ade57600080fd5b8151801515811461120957600080fd5b600181811c90821680611b0257607f821691505b602082108103611b2257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601290820152715a45524f204d45414e53204e4f5448494e4760701b604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b818103818111156107e4576107e4611aa3565b80820281158282048414176107e4576107e4611aa3565b600082611bbf57634e487b7160e01b600052601260045260246000fd5b500490565b63ffffffff818116838216019080821115611be157611be1611aa3565b509291505056fea264697066735822122010e84fab2f8a86162fd0ad97cdf05842bd0a1aeece36db0e382f85d336dee01e64736f6c63430008120033