0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063586c64d2116100ad578063a457c2d711610071578063a457c2d7146103a9578063a9059cbb146103d5578063aa271e1a14610401578063c4a9e11614610427578063dd62ed3e1461042f5761012c565b8063586c64d21461030357806370a082311461034b57806395d89b4114610371578063983b2d561461037957806398650275146103a15761012c565b8063313ce567116100f4578063313ce5671461027d578063355274ea1461029b57806339509351146102a357806340c10f19146102cf5780634b5c8bdf146102fb5761012c565b806306fdde0314610131578063095ea7b3146101ae57806318160ddd146101ee57806323b872dd146102085780632f273fe01461023e575b600080fd5b61013961045d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b0381351690602001356104eb565b604080519115158252519081900360200190f35b6101f6610501565b60408051918252519081900360200190f35b6101da6004803603606081101561021e57600080fd5b506001600160a01b03813581169160208101359091169060400135610507565b6102616004803603602081101561025457600080fd5b503563ffffffff1661055e565b604080516001600160a01b039092168252519081900360200190f35b61028561057f565b6040805160ff9092168252519081900360200190f35b6101f6610588565b6101da600480360360408110156102b957600080fd5b506001600160a01b03813516906020013561058e565b6101da600480360360408110156102e557600080fd5b506001600160a01b0381351690602001356105ca565b6101f661061a565b610261600480360360a081101561031957600080fd5b5063ffffffff81358116916001600160a01b036020820135169160408201359160608101359160809091013516610620565b6101f66004803603602081101561036157600080fd5b50356001600160a01b031661089a565b6101396108b5565b61039f6004803603602081101561038f57600080fd5b50356001600160a01b0316610910565b005b61039f610960565b6101da600480360360408110156103bf57600080fd5b506001600160a01b03813516906020013561096b565b6101da600480360360408110156103eb57600080fd5b506001600160a01b0381351690602001356109a7565b6101da6004803603602081101561041757600080fd5b50356001600160a01b03166109b4565b6101f66109cd565b6101f66004803603604081101561044557600080fd5b506001600160a01b03813581169160200135166109de565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104e35780601f106104b8576101008083540402835291602001916104e3565b820191906000526020600020905b8154815290600101906020018083116104c657829003601f168201915b505050505081565b60006104f8338484610a09565b50600192915050565b60025490565b6000610514848484610af5565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461055491869161054f908663ffffffff610c3716565b610a09565b5060019392505050565b63ffffffff166000908152600960205260409020546001600160a01b031690565b60075460ff1681565b60045490565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104f891859061054f908663ffffffff610c9416565b60006105d5336109b4565b6106105760405162461bcd60e51b81526004018080602001828103825260308152602001806115fe6030913960400191505060405180910390fd5b6104f88383610cf5565b60085490565b600061062b336109b4565b6106665760405162461bcd60e51b81526004018080602001828103825260308152602001806115fe6030913960400191505060405180910390fd5b63ffffffff86166000908152600960205260409020546001600160a01b0316156106c15760405162461bcd60e51b815260040180806020018281038252602381526020018061164f6023913960400191505060405180910390fd5b836106cb3361089a565b10156107085760405162461bcd60e51b815260040180806020018281038252602b815260200180611708602b913960400191505060405180910390fd5b828410156107475760405162461bcd60e51b815260040180806020018281038252602b815260200180611708602b913960400191505060405180910390fd5b60003086858560405161075990611040565b6001600160a01b03948516815292909316602083015260408083019190915263ffffffff9092166060820152905190819003608001906000f0801580156107a4573d6000803e3d6000fd5b506040519091506001600160a01b038216907f46d8ab1385f70e5a3673e97c23c764f7600f7ed7a09b6687deae7131d51752e290600090a26107e681866109a7565b6108215760405162461bcd60e51b815260040180806020018281038252602b8152602001806116dd602b913960400191505060405180910390fd5b6007805463ffffffff610100808304821660010182160264ffffffff001990921691909117909155600854610858918790610c9416565b60085563ffffffff8716600090815260096020526040902080546001600160a01b039283166001600160a01b0319909116179081905516905095945050505050565b6001600160a01b031660009081526020819052604090205490565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104e35780601f106104b8576101008083540402835291602001916104e3565b610919336109b4565b6109545760405162461bcd60e51b81526004018080602001828103825260308152602001806115fe6030913960400191505060405180910390fd5b61095d81610d71565b50565b61096933610db9565b565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104f891859061054f908663ffffffff610c3716565b60006104f8338484610af5565b60006109c760038363ffffffff610e0116565b92915050565b600754610100900463ffffffff1690565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b038316610a4e5760405162461bcd60e51b81526004018080602001828103825260248152602001806116b96024913960400191505060405180910390fd5b6001600160a01b038216610a935760405162461bcd60e51b81526004018080602001828103825260228152602001806115dc6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610b3a5760405162461bcd60e51b81526004018080602001828103825260258152602001806116946025913960400191505060405180910390fd5b6001600160a01b038216610b7f5760405162461bcd60e51b81526004018080602001828103825260238152602001806115b96023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610ba8908263ffffffff610c3716565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610bdd908263ffffffff610c9416565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610c8e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610cee576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600454610d1082610d04610501565b9063ffffffff610c9416565b1115610d63576040805162461bcd60e51b815260206004820152601960248201527f45524332304361707065643a2063617020657863656564656400000000000000604482015290519081900360640190fd5b610d6d8282610e68565b5050565b610d8260038263ffffffff610f5816565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b610dca60038263ffffffff610fd916565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b038216610e485760405162461bcd60e51b81526004018080602001828103825260228152602001806116726022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6001600160a01b038216610ec3576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610ed6908263ffffffff610c9416565b6002556001600160a01b038216600090815260208190526040902054610f02908263ffffffff610c9416565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b610f628282610e01565b15610fb4576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b610fe38282610e01565b61101e5760405162461bcd60e51b815260040180806020018281038252602181526020018061162e6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b61056b8061104e8339019056fe608060405234801561001057600080fd5b5060405161056b38038061056b8339818101604052608081101561003357600080fd5b50805160208201516040830151606090930151600080546001600160a01b039485166001600160a01b031991821617909155600180549490931693169290921790556003805460029390935564010000000063ffffffff92831663ffffffff19909416939093179182169290920263ffffffff60201b199091161790556104ac806100bf6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b91d40011161005b578063b91d4001146100dc578063c062dc5f146100fd578063dfaf734a14610105578063fc0c546a1461010d5761007d565b806338af3eed1461008257806386d1a69f146100a6578063b69ef8a8146100c2575b600080fd5b61008a610115565b604080516001600160a01b039092168252519081900360200190f35b6100ae610124565b604080519115158252519081900360200190f35b6100ca610360565b60408051918252519081900360200190f35b6100e46103dd565b6040805163ffffffff9092168252519081900360200190f35b6100ca6103e9565b6100e46103ef565b61008a610403565b6001546001600160a01b031690565b60008054604080516370a0823160e01b8152306004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561016f57600080fd5b505afa158015610183573d6000803e3d6000fd5b505050506040513d602081101561019957600080fd5b50519050806101ef576040805162461bcd60e51b815260206004820152601d60248201527f53335374616b653a206e6f20746f6b656e7320746f2072656c65617365000000604482015290519081900360640190fd5b600354429063ffffffff168110156102385760405162461bcd60e51b815260040180806020018281038252602c815260200180610413602c913960400191505060405180910390fd5b60035462093a8063ffffffff6401000000009092048216019081168210156102915760405162461bcd60e51b815260040180806020018281038252603981526020018061043f6039913960400191505060405180910390fd5b600060025484116102a257836102a6565b6002545b600080546001546040805163a9059cbb60e01b81526001600160a01b03928316600482015260248101869052905194955091169263a9059cbb92604480840193602093929083900390910190829087803b15801561030357600080fd5b505af1158015610317573d6000803e3d6000fd5b505050506040513d602081101561032d57600080fd5b50506003805463ffffffff9093166401000000000267ffffffff0000000019909316929092179091555060019250505090565b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156103ac57600080fd5b505afa1580156103c0573d6000803e3d6000fd5b505050506040513d60208110156103d657600080fd5b5051905090565b60035463ffffffff1690565b60025490565b600354640100000000900463ffffffff1690565b6000546001600160a01b03169056fe53335374616b653a2063757272656e742074696d65206973206265666f72652072656c656173652074696d6553335374616b653a20746f6b656e206973206f6e6c792061626c6520746f2072656c656173652065616368207765656b202837206461797329a265627a7a72315820bdd7c6d51db62238f2aabc0dece9a2ba286f3cfc952f33e416a1dba2922f932264736f6c634300050b003245524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c655333436f696e3a207374616b65207769746820494420616c7265616479206578697374526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735333436f696e3a207472616e7366657220746f6b656e7320746f206e6577207374616b65206661696c65645333436f696e3a207468657265206973206e6f7420656e6f75676820746f6b656e7320746f207374616b65a265627a7a723158201fe190f8c8035fb92c8f7c4525e5af1921fd0f1c362ff9f411508142f8a1500c64736f6c634300050b0032
0x60c0604052600760808190527f533320434f494e0000000000000000000000000000000000000000000000000060a090815262000040916005919062000668565b506040805180820190915260038082527f53334300000000000000000000000000000000000000000000000000000000006020909201918252620000879160069162000668565b506007805464ffffffff001960ff199091166012171690556000600855348015620000b157600080fd5b5060405162001ef638038062001ef683398181016040526040811015620000d757600080fd5b50805160209091015181620000f5336001600160e01b03620001e816565b600081116200016557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f45524332304361707065643a2063617020697320300000000000000000000000604482015290519081900360640190fd5b600455670de0b6b3a76400008211620001ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018062001e816023913960400191505060405180910390fd5b620001df33826001600160e01b036200023a16565b5050506200070a565b62000203816003620002c560201b62000f581790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b600062000250336001600160e01b036200036c16565b620002a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018062001ea46030913960400191505060405180910390fd5b620002bc83836001600160e01b036200038f16565b50600192915050565b620002da82826001600160e01b036200044716565b156200034757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b6000620003898260036200044760201b62000e011790919060201c565b92915050565b600454620003be82620003aa6001600160e01b03620004ca16565b620004d160201b62000c941790919060201c565b11156200042c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f45524332304361707065643a2063617020657863656564656400000000000000604482015290519081900360640190fd5b6200044382826200054d60201b62000e681760201c565b5050565b60006001600160a01b038216620004aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018062001ed46022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6002545b90565b6000828201838110156200054657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216620005c357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620005df81600254620004d160201b62000c941790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200061291839062000c94620004d1821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620006ab57805160ff1916838001178555620006db565b82800160010185558215620006db579182015b82811115620006db578251825591602001919060010190620006be565b50620006e9929150620006ed565b5090565b620004ce91905b80821115620006e95760008155600101620006f4565b611767806200071a6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063586c64d2116100ad578063a457c2d711610071578063a457c2d7146103a9578063a9059cbb146103d5578063aa271e1a14610401578063c4a9e11614610427578063dd62ed3e1461042f5761012c565b8063586c64d21461030357806370a082311461034b57806395d89b4114610371578063983b2d561461037957806398650275146103a15761012c565b8063313ce567116100f4578063313ce5671461027d578063355274ea1461029b57806339509351146102a357806340c10f19146102cf5780634b5c8bdf146102fb5761012c565b806306fdde0314610131578063095ea7b3146101ae57806318160ddd146101ee57806323b872dd146102085780632f273fe01461023e575b600080fd5b61013961045d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b0381351690602001356104eb565b604080519115158252519081900360200190f35b6101f6610501565b60408051918252519081900360200190f35b6101da6004803603606081101561021e57600080fd5b506001600160a01b03813581169160208101359091169060400135610507565b6102616004803603602081101561025457600080fd5b503563ffffffff1661055e565b604080516001600160a01b039092168252519081900360200190f35b61028561057f565b6040805160ff9092168252519081900360200190f35b6101f6610588565b6101da600480360360408110156102b957600080fd5b506001600160a01b03813516906020013561058e565b6101da600480360360408110156102e557600080fd5b506001600160a01b0381351690602001356105ca565b6101f661061a565b610261600480360360a081101561031957600080fd5b5063ffffffff81358116916001600160a01b036020820135169160408201359160608101359160809091013516610620565b6101f66004803603602081101561036157600080fd5b50356001600160a01b031661089a565b6101396108b5565b61039f6004803603602081101561038f57600080fd5b50356001600160a01b0316610910565b005b61039f610960565b6101da600480360360408110156103bf57600080fd5b506001600160a01b03813516906020013561096b565b6101da600480360360408110156103eb57600080fd5b506001600160a01b0381351690602001356109a7565b6101da6004803603602081101561041757600080fd5b50356001600160a01b03166109b4565b6101f66109cd565b6101f66004803603604081101561044557600080fd5b506001600160a01b03813581169160200135166109de565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104e35780601f106104b8576101008083540402835291602001916104e3565b820191906000526020600020905b8154815290600101906020018083116104c657829003601f168201915b505050505081565b60006104f8338484610a09565b50600192915050565b60025490565b6000610514848484610af5565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461055491869161054f908663ffffffff610c3716565b610a09565b5060019392505050565b63ffffffff166000908152600960205260409020546001600160a01b031690565b60075460ff1681565b60045490565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104f891859061054f908663ffffffff610c9416565b60006105d5336109b4565b6106105760405162461bcd60e51b81526004018080602001828103825260308152602001806115fe6030913960400191505060405180910390fd5b6104f88383610cf5565b60085490565b600061062b336109b4565b6106665760405162461bcd60e51b81526004018080602001828103825260308152602001806115fe6030913960400191505060405180910390fd5b63ffffffff86166000908152600960205260409020546001600160a01b0316156106c15760405162461bcd60e51b815260040180806020018281038252602381526020018061164f6023913960400191505060405180910390fd5b836106cb3361089a565b10156107085760405162461bcd60e51b815260040180806020018281038252602b815260200180611708602b913960400191505060405180910390fd5b828410156107475760405162461bcd60e51b815260040180806020018281038252602b815260200180611708602b913960400191505060405180910390fd5b60003086858560405161075990611040565b6001600160a01b03948516815292909316602083015260408083019190915263ffffffff9092166060820152905190819003608001906000f0801580156107a4573d6000803e3d6000fd5b506040519091506001600160a01b038216907f46d8ab1385f70e5a3673e97c23c764f7600f7ed7a09b6687deae7131d51752e290600090a26107e681866109a7565b6108215760405162461bcd60e51b815260040180806020018281038252602b8152602001806116dd602b913960400191505060405180910390fd5b6007805463ffffffff610100808304821660010182160264ffffffff001990921691909117909155600854610858918790610c9416565b60085563ffffffff8716600090815260096020526040902080546001600160a01b039283166001600160a01b0319909116179081905516905095945050505050565b6001600160a01b031660009081526020819052604090205490565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104e35780601f106104b8576101008083540402835291602001916104e3565b610919336109b4565b6109545760405162461bcd60e51b81526004018080602001828103825260308152602001806115fe6030913960400191505060405180910390fd5b61095d81610d71565b50565b61096933610db9565b565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104f891859061054f908663ffffffff610c3716565b60006104f8338484610af5565b60006109c760038363ffffffff610e0116565b92915050565b600754610100900463ffffffff1690565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b038316610a4e5760405162461bcd60e51b81526004018080602001828103825260248152602001806116b96024913960400191505060405180910390fd5b6001600160a01b038216610a935760405162461bcd60e51b81526004018080602001828103825260228152602001806115dc6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610b3a5760405162461bcd60e51b81526004018080602001828103825260258152602001806116946025913960400191505060405180910390fd5b6001600160a01b038216610b7f5760405162461bcd60e51b81526004018080602001828103825260238152602001806115b96023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610ba8908263ffffffff610c3716565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610bdd908263ffffffff610c9416565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610c8e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610cee576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600454610d1082610d04610501565b9063ffffffff610c9416565b1115610d63576040805162461bcd60e51b815260206004820152601960248201527f45524332304361707065643a2063617020657863656564656400000000000000604482015290519081900360640190fd5b610d6d8282610e68565b5050565b610d8260038263ffffffff610f5816565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b610dca60038263ffffffff610fd916565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b038216610e485760405162461bcd60e51b81526004018080602001828103825260228152602001806116726022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6001600160a01b038216610ec3576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610ed6908263ffffffff610c9416565b6002556001600160a01b038216600090815260208190526040902054610f02908263ffffffff610c9416565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b610f628282610e01565b15610fb4576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b610fe38282610e01565b61101e5760405162461bcd60e51b815260040180806020018281038252602181526020018061162e6021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b61056b8061104e8339019056fe608060405234801561001057600080fd5b5060405161056b38038061056b8339818101604052608081101561003357600080fd5b50805160208201516040830151606090930151600080546001600160a01b039485166001600160a01b031991821617909155600180549490931693169290921790556003805460029390935564010000000063ffffffff92831663ffffffff19909416939093179182169290920263ffffffff60201b199091161790556104ac806100bf6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b91d40011161005b578063b91d4001146100dc578063c062dc5f146100fd578063dfaf734a14610105578063fc0c546a1461010d5761007d565b806338af3eed1461008257806386d1a69f146100a6578063b69ef8a8146100c2575b600080fd5b61008a610115565b604080516001600160a01b039092168252519081900360200190f35b6100ae610124565b604080519115158252519081900360200190f35b6100ca610360565b60408051918252519081900360200190f35b6100e46103dd565b6040805163ffffffff9092168252519081900360200190f35b6100ca6103e9565b6100e46103ef565b61008a610403565b6001546001600160a01b031690565b60008054604080516370a0823160e01b8152306004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561016f57600080fd5b505afa158015610183573d6000803e3d6000fd5b505050506040513d602081101561019957600080fd5b50519050806101ef576040805162461bcd60e51b815260206004820152601d60248201527f53335374616b653a206e6f20746f6b656e7320746f2072656c65617365000000604482015290519081900360640190fd5b600354429063ffffffff168110156102385760405162461bcd60e51b815260040180806020018281038252602c815260200180610413602c913960400191505060405180910390fd5b60035462093a8063ffffffff6401000000009092048216019081168210156102915760405162461bcd60e51b815260040180806020018281038252603981526020018061043f6039913960400191505060405180910390fd5b600060025484116102a257836102a6565b6002545b600080546001546040805163a9059cbb60e01b81526001600160a01b03928316600482015260248101869052905194955091169263a9059cbb92604480840193602093929083900390910190829087803b15801561030357600080fd5b505af1158015610317573d6000803e3d6000fd5b505050506040513d602081101561032d57600080fd5b50506003805463ffffffff9093166401000000000267ffffffff0000000019909316929092179091555060019250505090565b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156103ac57600080fd5b505afa1580156103c0573d6000803e3d6000fd5b505050506040513d60208110156103d657600080fd5b5051905090565b60035463ffffffff1690565b60025490565b600354640100000000900463ffffffff1690565b6000546001600160a01b03169056fe53335374616b653a2063757272656e742074696d65206973206265666f72652072656c656173652074696d6553335374616b653a20746f6b656e206973206f6e6c792061626c6520746f2072656c656173652065616368207765656b202837206461797329a265627a7a72315820bdd7c6d51db62238f2aabc0dece9a2ba286f3cfc952f33e416a1dba2922f932264736f6c634300050b003245524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c655333436f696e3a207374616b65207769746820494420616c7265616479206578697374526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735333436f696e3a207472616e7366657220746f6b656e7320746f206e6577207374616b65206661696c65645333436f696e3a207468657265206973206e6f7420656e6f75676820746f6b656e7320746f207374616b65a265627a7a723158201fe190f8c8035fb92c8f7c4525e5af1921fd0f1c362ff9f411508142f8a1500c64736f6c634300050b00325333436f696e3a20636170206d7573742067726561746572207468616e2031305e31384d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420697320746865207a65726f20616464726573730000000000000000000000000000000000000000033b2e3c9fd0803ce8000000000000000000000000000000000000000000000000f8277896582678ac000000