6080604052620000126012600a6200036a565b6200002290633b9aca0062000382565b6000553480156200003257600080fd5b50600054600360006200004a6200025160201b60201c565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600054604051620000ad91815260200190565b60405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013591906200039c565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000183573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a991906200039c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021d91906200039c565b600180546001600160a01b039485166001600160a01b031991821617909155600280549290941691161790915550620003c7565b3390565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002ac57816000190482111562000290576200029062000255565b808516156200029e57918102915b93841c939080029062000270565b509250929050565b600082620002c55750600162000364565b81620002d45750600062000364565b8160018114620002ed5760028114620002f85762000318565b600191505062000364565b60ff8411156200030c576200030c62000255565b50506001821b62000364565b5060208310610133831016604e8410600b84101617156200033d575081810a62000364565b6200034983836200026b565b806000190482111562000360576200036062000255565b0290505b92915050565b60006200037b60ff841683620002b4565b9392505050565b808202811582820484141762000364576200036462000255565b600060208284031215620003af57600080fd5b81516001600160a01b03811681146200037b57600080fd5b610c7880620003d76000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806342966c6811610097578063a457c2d711610066578063a457c2d714610298578063a9059cbb146102ab578063dd62ed3e146102be578063e56202de1461025f57600080fd5b806342966c68146101f457806349bd5a5e1461020957806370a082311461022957806395d89b411461025f57600080fd5b806318160ddd116100d357806318160ddd146101ad57806323b872dd146101bf578063313ce567146101d257806339509351146101e157600080fd5b806306fdde03146100fa578063095ea7b3146101455780631694505e14610168575b600080fd5b60408051808201909152600a81527f4675636b205073796f700000000000000000000000000000000000000000000060208201525b60405161013c9190610a92565b60405180910390f35b610158610153366004610b27565b610304565b604051901515815260200161013c565b6001546101889073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013c565b6000545b60405190815260200161013c565b6101586101cd366004610b51565b61031b565b6040516012815260200161013c565b6101586101ef366004610b27565b61037a565b610207610202366004610b8d565b6103be565b005b6002546101889073ffffffffffffffffffffffffffffffffffffffff1681565b6101b1610237366004610ba6565b73ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b60408051808201909152600981527f4655434b5053594f500000000000000000000000000000000000000000000000602082015261012f565b6101586102a6366004610b27565b6103cb565b6101586102b9366004610b27565b61040f565b6101b16102cc366004610bc1565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260046020908152604080832093909416825291909152205490565b600061031133848461041c565b5060015b92915050565b60006103288484846105d5565b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203380855292529091205461037091869161036b908690610c23565b61041c565b5060019392505050565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161031191859061036b908690610c36565b6103c83382610880565b50565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161031191859061036b908690610c23565b60006103113384846105d5565b73ffffffffffffffffffffffffffffffffffffffff83166104c3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016104ba565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610678576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016104ba565b73ffffffffffffffffffffffffffffffffffffffff821661071b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016104ba565b600081116107ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f000000000000000000000000000000000000000000000060648201526084016104ba565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812080548392906107e0908490610c23565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260408120805483929061081a908490610c36565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105c891815260200190565b73ffffffffffffffffffffffffffffffffffffffff8216610923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016104ba565b61096d81604051806060016040528060228152602001610c4a6022913973ffffffffffffffffffffffffffffffffffffffff851660009081526003602052604090205491906109f5565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040812091909155546109a19082610a49565b600090815560405182815273ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60008184841115610a33576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ba9190610a92565b506000610a408486610c23565b95945050505050565b6000610a8b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109f5565b9392505050565b600060208083528351808285015260005b81811015610abf57858101830151858201604001528201610aa3565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b2257600080fd5b919050565b60008060408385031215610b3a57600080fd5b610b4383610afe565b946020939093013593505050565b600080600060608486031215610b6657600080fd5b610b6f84610afe565b9250610b7d60208501610afe565b9150604084013590509250925092565b600060208284031215610b9f57600080fd5b5035919050565b600060208284031215610bb857600080fd5b610a8b82610afe565b60008060408385031215610bd457600080fd5b610bdd83610afe565b9150610beb60208401610afe565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561031557610315610bf4565b8082018082111561031557610315610bf456fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365a164736f6c6343000813000a