608060405264089d5f32006000556101f460019081556002805460ff1916909117905534801561002e57600080fd5b50600280547450f849c788e12976e84a7aca89b48cbcb9b7509c0061010060a860020a0319909116179081905560008054610100909204600160a060020a0316815260036020526040902055610979806100896000396000f3006080604052600436106100fb5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610105578063095ea7b31461018f5780630ced8c69146101c757806318160ddd146101dc5780632095f2d41461020357806323b872dd146102185780632a8092df14610242578063313ce567146102575780633eaaf86b146102825780635c07ac9414610297578063664e9704146102af5780636d1b229d146102c457806370a08231146102dc5780638da5cb5b146102fd57806395d89b411461032e578063a9059cbb14610343578063b4427263146100fb578063dd62ed3e14610367575b61010361038e565b005b34801561011157600080fd5b5061011a61045c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015457818101518382015260200161013c565b50505050905090810190601f1680156101815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019b57600080fd5b506101b3600160a060020a0360043516602435610493565b604080519115158252519081900360200190f35b3480156101d357600080fd5b5061011a6104f9565b3480156101e857600080fd5b506101f1610530565b60408051918252519081900360200190f35b34801561020f57600080fd5b50610103610536565b34801561022457600080fd5b506101b3600160a060020a036004358116906024351660443561055e565b34801561024e57600080fd5b506101b36106cd565b34801561026357600080fd5b5061026c6106d6565b6040805160ff9092168252519081900360200190f35b34801561028e57600080fd5b506101f16106db565b3480156102a357600080fd5b506101036004356106e1565b3480156102bb57600080fd5b506101f1610702565b3480156102d057600080fd5b50610103600435610708565b3480156102e857600080fd5b506101f1600160a060020a0360043516610796565b34801561030957600080fd5b506103126107b1565b60408051600160a060020a039092168252519081900360200190f35b34801561033a57600080fd5b5061011a6107c5565b34801561034f57600080fd5b506101b3600160a060020a03600435166024356107fc565b34801561037357600080fd5b506101f1600160a060020a03600435811690602435166108d6565b60025460009060ff1615156001141561045457600034116103ae57600080fd5b6001546103c290349063ffffffff61090116565b336000908152600360205260409020549091506103e5908263ffffffff61092c16565b3360009081526003602052604081209190915554610409908263ffffffff61092c16565b6000908155600254604051600160a060020a0361010090920491909116913480156108fc02929091818181858888f1935050505015801561044e573d6000803e3d6000fd5b50610459565b600080fd5b50565b60408051808201909152600581527f54656e676f000000000000000000000000000000000000000000000000000000602082015281565b336000818152600460209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60408051808201909152601781527f546f67656e2e696f2062792050726f6f66205375697465000000000000000000602082015281565b60005490565b6002546101009004600160a060020a0316331461055257600080fd5b6002805460ff19169055565b600160a060020a038316600090815260046020908152604080832033845290915281205482118015906105a95750600160a060020a0384166000908152600360205260409020548211155b80156105b55750600082115b15156105c057600080fd5b600160a060020a0384166000908152600360205260409020546105e9908363ffffffff61093b16565b600160a060020a03808616600090815260036020526040808220939093559085168152205461061e908363ffffffff61092c16565b600160a060020a038085166000908152600360209081526040808320949094559187168152600482528281203382529091522054610662908363ffffffff61093b16565b600160a060020a03808616600081815260046020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60025460ff1681565b600081565b60005481565b6002546101009004600160a060020a031633146106fd57600080fd5b600155565b60015481565b6002546101009004600160a060020a0316331461072457600080fd5b3360009081526003602052604090205481118015906107435750600081115b151561074e57600080fd5b600054610761908263ffffffff61093b16565b600090815533815260036020526040902054610783908263ffffffff61093b16565b3360009081526003602052604090205550565b600160a060020a031660009081526003602052604090205490565b6002546101009004600160a060020a031681565b60408051808201909152600381527f54474f0000000000000000000000000000000000000000000000000000000000602082015281565b33600090815260036020526040812054821180159061081b5750600082115b151561082657600080fd5b33600090815260036020526040902054610846908363ffffffff61093b16565b3360009081526003602052604080822092909255600160a060020a03851681522054610878908363ffffffff61092c16565b600160a060020a0384166000818152600360209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600160a060020a03918216600090815260046020908152604080832093909416825291909152205490565b600082820283158061091d575082848281151561091a57fe5b04145b151561092557fe5b9392505050565b60008282018381101561092557fe5b60008282111561094757fe5b509003905600a165627a7a723058200ecf961cfdfc0a4130373a30e3bc7643a605658223d61fe88ceb37d39822066b0029