0 txs
0 calls
constructor
No constructor.
functions
calculateL2TokenAddress
viewfunction calculateL2TokenAddress(address l1ERC20) view returns (address)
counterpartGateway
viewfunction counterpartGateway() view returns (address)
encodeWithdrawal
purefunction encodeWithdrawal(uint256 _exitNum, address _initialDestination) pure returns (bytes32)
gasReserveIfCallRevert
purefunction gasReserveIfCallRevert() pure returns (uint256)
getExternalCall
viewfunction getExternalCall(uint256 _exitNum, address _initialDestination, bytes _initialData) view returns (address target, bytes data)
getOutboundCalldata
viewfunction getOutboundCalldata(address _l1Token, address _from, address _to, uint256 _amount, bytes _data) view returns (bytes outboundCalldata)
inbox
viewfunction inbox() view returns (address)
l1ToL2Token
viewfunction l1ToL2Token(address) view returns (address)
owner
viewfunction owner() view returns (address)
redirectedExits
viewfunction redirectedExits(bytes32) view returns (bool isExit, address _newTo, bytes _newData)
router
viewfunction router() view returns (address)
whitelist
viewfunction whitelist() view returns (address)
finalizeInboundTransfer
payablefunction finalizeInboundTransfer(address _token, address _from, address _to, uint256 _amount, bytes _data) payable returns (bytes)
forceRegisterTokenToL2
payablefunction forceRegisterTokenToL2(address[] _l1Addresses, address[] _l2Addresses, uint256 _maxGas, uint256 _gasPriceBid, uint256 _maxSubmissionCost) payable returns (uint256)
inboundEscrowAndCall
nonpayablefunction inboundEscrowAndCall(address _l2Address, uint256 _amount, address _from, address _to, bytes _data)
initialize
nonpayablefunction initialize(address _l1Counterpart, address _l1Router, address _inbox, address _owner)
outboundTransfer
payablefunction outboundTransfer(address _l1Token, address _to, uint256 _amount, uint256 _maxGas, uint256 _gasPriceBid, bytes _data) payable returns (bytes)
postUpgradeInit
nonpayablefunction postUpgradeInit()
registerTokenToL2
payablefunction registerTokenToL2(address _l2Address, uint256 _maxGas, uint256 _gasPriceBid, uint256 _maxSubmissionCost, address _creditBackAddress) payable returns (uint256)
registerTokenToL2
payablefunction registerTokenToL2(address _l2Address, uint256 _maxGas, uint256 _gasPriceBid, uint256 _maxSubmissionCost) payable returns (uint256)
transferExitAndCall
nonpayablefunction transferExitAndCall(uint256 _exitNum, address _initialDestination, address _newDestination, bytes _newData, bytes _data)
updateWhitelistSource
nonpayablefunction updateWhitelistSource(address newSource)
events
DepositInitiated
event DepositInitiated(address l1Token, address indexed _from, address indexed _to, uint256 indexed _sequenceNumber, uint256 _amount)
TokenSet
event TokenSet(address indexed l1Address, address indexed l2Address)
TransferAndCallTriggered
event TransferAndCallTriggered(bool success, address indexed _from, address indexed _to, uint256 _amount, bytes callHookData)
TxToL2
event TxToL2(address indexed _from, address indexed _to, uint256 indexed _seqNum, bytes _data)
WhitelistSourceUpdated
event WhitelistSourceUpdated(address newSource)
WithdrawalFinalized
event WithdrawalFinalized(address l1Token, address indexed _from, address indexed _to, uint256 indexed _exitNum, uint256 _amount)
WithdrawRedirected
event WithdrawRedirected(address indexed from, address indexed to, uint256 indexed exitNum, bytes newData, bytes data, bool madeExternalCall)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50612da3806100206000396000f3fe6080604052600436106101345760003560e01c8063a0c76a96116100ab578063d2ce7d651161006f578063d2ce7d651461081c578063f26bdead146108b6578063f68a9082146108ee578063f887ea4014610a45578063f8c8765e14610a5a578063fb0e722b14610aa557610134565b8063a0c76a961461051d578063a7e28d48146105f6578063bcf2e6eb14610629578063bd5f3e7d146106ef578063ca346d4a146107da57610134565b80632e567b36116100fd5780632e567b361461036d57806347466f98146104785780638a2dc014146104ab5780638da5cb5b146104de57806393e59dc1146104f357806395fcea781461050857610134565b8062aa3a9b14610139578063020a6058146102125780630f09eb511461025d5780631d3a689f146102725780632db09c1c1461033c575b600080fd5b34801561014557600080fd5b50610210600480360360a081101561015c57600080fd5b6001600160a01b0382358116926020810135926040820135831692606083013516919081019060a081016080820135600160201b81111561019c57600080fd5b8201836020820111156101ae57600080fd5b803590602001918460018302840111600160201b831117156101cf57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610aba945050505050565b005b34801561021e57600080fd5b5061024b6004803603604081101561023557600080fd5b50803590602001356001600160a01b0316610cb4565b60408051918252519081900360200190f35b34801561026957600080fd5b5061024b610ce9565b61024b600480360360a081101561028857600080fd5b810190602081018135600160201b8111156102a257600080fd5b8201836020820111156102b457600080fd5b803590602001918460208302840111600160201b831117156102d557600080fd5b919390929091602081019035600160201b8111156102f257600080fd5b82018360208201111561030457600080fd5b803590602001918460208302840111600160201b8311171561032557600080fd5b919350915080359060208101359060400135610cf0565b34801561034857600080fd5b50610351610f71565b604080516001600160a01b039092168252519081900360200190f35b610403600480360360a081101561038357600080fd5b6001600160a01b03823581169260208101358216926040820135909216916060820135919081019060a081016080820135600160201b8111156103c557600080fd5b8201836020820111156103d757600080fd5b803590602001918460018302840111600160201b831117156103f857600080fd5b509092509050610f80565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561043d578181015183820152602001610425565b50505050905090810190601f16801561046a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561048457600080fd5b506102106004803603602081101561049b57600080fd5b50356001600160a01b03166112fe565b3480156104b757600080fd5b50610351600480360360208110156104ce57600080fd5b50356001600160a01b03166113a1565b3480156104ea57600080fd5b506103516113bc565b3480156104ff57600080fd5b506103516113cb565b34801561051457600080fd5b506102106113da565b34801561052957600080fd5b50610403600480360360a081101561054057600080fd5b6001600160a01b03823581169260208101358216926040820135909216916060820135919081019060a081016080820135600160201b81111561058257600080fd5b82018360208201111561059457600080fd5b803590602001918460018302840111600160201b831117156105b557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611437945050505050565b34801561060257600080fd5b506103516004803603602081101561061957600080fd5b50356001600160a01b031661153e565b34801561063557600080fd5b506106536004803603602081101561064c57600080fd5b503561155c565b6040518084151515158152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156106b257818101518382015260200161069a565b50505050905090810190601f1680156106df5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b3480156106fb57600080fd5b50610210600480360360a081101561071257600080fd5b8135916001600160a01b03602082013581169260408301359091169190810190608081016060820135600160201b81111561074c57600080fd5b82018360208201111561075e57600080fd5b803590602001918460018302840111600160201b8311171561077f57600080fd5b919390929091602081019035600160201b81111561079c57600080fd5b8201836020820111156107ae57600080fd5b803590602001918460018302840111600160201b831117156107cf57600080fd5b509092509050611613565b61024b600480360360a08110156107f057600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608090910135166118ec565b610403600480360360c081101561083257600080fd5b6001600160a01b0382358116926020810135909116916040820135916060810135916080820135919081019060c0810160a0820135600160201b81111561087857600080fd5b82018360208201111561088a57600080fd5b803590602001918460018302840111600160201b831117156108ab57600080fd5b509092509050611b72565b61024b600480360360808110156108cc57600080fd5b506001600160a01b038135169060208101359060408101359060600135611c5b565b3480156108fa57600080fd5b506109b46004803603606081101561091157600080fd5b8135916001600160a01b0360208201351691810190606081016040820135600160201b81111561094057600080fd5b82018360208201111561095257600080fd5b803590602001918460018302840111600160201b8311171561097357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611c73945050505050565b60405180836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610a095781810151838201526020016109f1565b50505050905090810190601f168015610a365780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b348015610a5157600080fd5b50610351611d5e565b348015610a6657600080fd5b5061021060048036036080811015610a7d57600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516611d6d565b348015610ab157600080fd5b50610351611da4565b333014610b0e576040805162461bcd60e51b815260206004820152601f60248201527f4d696e742063616e206f6e6c792062652063616c6c65642062792073656c6600604482015290519081900360640190fd5b610b20826001600160a01b0316611db3565b610b71576040805162461bcd60e51b815260206004820152601e60248201527f44657374696e6174696f6e206d757374206265206120636f6e74726163740000604482015290519081900360640190fd5b610b7c858386611db9565b6000610b86610ce9565b5a039050805a11610bc85760405162461bcd60e51b815260040180806020018281038252602b815260200180612d19602b913960400191505060405180910390fd5b826001600160a01b031663a4c0ed36828688866040518563ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c45578181015183820152602001610c2d565b50505050905090810190601f168015610c725780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600088803b158015610c9357600080fd5b5087f1158015610ca7573d6000803e3d6000fd5b5050505050505050505050565b604080516020808201949094526001600160a01b03929092168282015280518083038201815260609092019052805191012090565b6175305b90565b6005546000906001600160a01b03163314610d3f576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b868514610d85576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4c454e4754485360881b604482015290519081900360640190fd5b60005b87811015610e8e57868682818110610d9c57fe5b905060200201356001600160a01b0316600460008b8b85818110610dbc57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550868682818110610e1c57fe5b905060200201356001600160a01b03166001600160a01b0316898983818110610e4157fe5b905060200201356001600160a01b03166001600160a01b03167f0dd664a155dd89526bb019e22b00291bb7ca9d07ba3ec4a1a76b410da9797ceb60405160405180910390a3600101610d88565b50606063d4f5532f60e01b898989896040516024018080602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600083820181905260408051601f909301601f199081169095018381039095018352939093526020810180516001600160e01b03166001600160e01b0319909c169b909b17909a52506002548154999a50610f64996001600160a01b03918216995016965033955034945092508a91508c90508b89611dd8565b9998505050505050505050565b6000546001600160a01b031681565b6002546060906001600160a01b03166000610f9a82611feb565b9050336001600160a01b03821614610feb576040805162461bcd60e51b815260206004820152600f60248201526e4e4f545f46524f4d5f42524944474560881b604482015290519081900360640190fd5b6000610ff683612058565b6000549091506001600160a01b03808316911614611056576040805162461bcd60e51b81526020600482015260186024820152774f4e4c595f434f554e544552504152545f4741544557415960401b604482015290519081900360640190fd5b60006060611064888861218a565b91509150611073828b83611c73565b8051919b5091501561126e576000306001600160a01b031662aa3a9b8e8c8f8f876040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561112e578181015183820152602001611116565b50505050905090810190601f16801561115b5780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15801561117e57600080fd5b505af192505050801561118f575060015b6111a35761119e8d8d8c611db9565b6111a7565b5060015b8a6001600160a01b03168c6001600160a01b03167f11ff8525c5d96036231ee652c108808dee4c40728a6117830a75029298bb7de6838d86604051808415151515815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561122c578181015183820152602001611214565b50505050905090810190601f1680156112595780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a350611279565b6112798c8b8b611db9565b818a6001600160a01b03168c6001600160a01b03167f891afe029c75c4f8c5855fc3480598bc5a53739344f6ae575bdb7ea2a79f56b38f8d60405180836001600160a01b03166001600160a01b031681526020018281526020019250505060405180910390a450506040805160208101909152600081529a9950505050505050505050565b6006546001600160a01b0316331461134d576040805162461bcd60e51b815260206004820152600d60248201526c1393d517d19493d357d31254d5609a1b604482015290519081900360640190fd5b600680546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f37389c47920d5cc3229678a0205d0455002c07541a4139ebdce91ac2274657779181900360200190a150565b6004602052600090815260409020546001600160a01b031681565b6005546001600160a01b031681565b6006546001600160a01b031681565b60006113e4612237565b9050336001600160a01b03821614611434576040805162461bcd60e51b815260206004820152600e60248201526d2727aa2fa32927a6afa0a226a4a760911b604482015290519081900360640190fd5b50565b60408051602081019091526000815260609063172b3d9b60e11b8787878761145f868961225c565b6040516001600160a01b0380871660248301908152868216604484015290851660648301526084820184905260a060a48301908152835160c484015283519192909160e490910190602085019080838360005b838110156114ca5781810151838201526020016114b2565b50505050905090810190601f1680156114f75780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909a1699909917909852509597505050505050505095945050505050565b6001600160a01b039081166000908152600460205260409020541690565b600360209081526000918252604091829020805460018083018054865160026101009483161585026000190190921691909104601f810187900487028201870190975286815260ff841696929093046001600160a01b0316949091908301828280156116095780601f106115de57610100808354040283529160200191611609565b820191906000526020600020905b8154815290600101906020018083116115ec57829003601f168201915b5050505050905083565b600061162f888860405180602001604052806000815250611c73565b509050336001600160a01b03821614611685576040805162461bcd60e51b81526020600482015260136024820152722727aa2fa2ac2822a1aa22a22fa9a2a72222a960691b604482015290519081900360640190fd5b6116c788888888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061234e92505050565b811561182f576116df866001600160a01b0316611db3565b611722576040805162461bcd60e51b815260206004820152600f60248201526e1513d7d393d517d0d3d395149050d5608a1b604482015290519081900360640190fd5b6000866001600160a01b031663592e2070838b87876040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b1580156117b857600080fd5b505af11580156117cc573d6000803e3d6000fd5b505050506040513d60208110156117e257600080fd5b505190508061182d576040805162461bcd60e51b81526020600482015260126024820152711514905394d1915497d213d3d2d7d190525360721b604482015290519081900360640190fd5b505b87866001600160a01b0316826001600160a01b03167f56735ccb9dc7d2222ce4177fc3aea44c33882e2a2c73e0fb1c6b93c9c13a04d48888888860008b8b905011604051808060200180602001841515151581526020018381038352888882818152602001925080828437600083820152601f01601f191690910184810383528681526020019050868680828437600083820152604051601f909101601f1916909201829003995090975050505050505050a45050505050505050565b60006118f733611db3565b61193b576040805162461bcd60e51b815260206004820152601060248201526f135554d517d09157d0d3d395149050d560821b604482015290519081900360640190fd5b336000908152600460205260409081902080546001600160a01b0389166001600160a01b031990911617905580516001808252818301909252606091816020016020820280368337505060408051600180825281830190925292935060609291506020808301908036833701905050905033826000815181106119ba57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505087816000815181106119e857fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080600081518110611a1557fe5b60200260200101516001600160a01b031682600081518110611a3357fe5b60200260200101516001600160a01b03167f0dd664a155dd89526bb019e22b00291bb7ca9d07ba3ec4a1a76b410da9797ceb60405160405180910390a3606063d4f5532f60e01b8383604051602401808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611ac3578181015183820152602001611aab565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611b02578181015183820152602001611aea565b505060408051601f199690940184810396909601845294909452506020810180516001600160e01b03166001600160e01b0319909a1699909917909852505060025460008054979850610f64976001600160a01b03928316975090911694508b935034925090508b8e8e89611dd8565b6006546060906001600160a01b031615611c40576006546040805163babcc53960e01b815233600482015290516001600160a01b039092169163babcc53991602480820192602092909190829003018186803b158015611bd157600080fd5b505afa158015611be5573d6000803e3d6000fd5b505050506040513d6020811015611bfb57600080fd5b5051611c40576040805162461bcd60e51b815260206004820152600f60248201526e1393d517d5d2125511531254d51151608a1b604482015290519081900360640190fd5b611c4f888888888888886123df565b98975050505050505050565b6000611c6a85858585336118ec565b95945050505050565b600060606000611c838686610cb4565b600081815260036020526040902080549192509060ff1615611d4d5780546001808301805460408051602060026101009685161587026000190190941693909304601f8101849004840282018401909252818152939094046001600160a01b0316939192918391830182828015611d3b5780601f10611d1057610100808354040283529160200191611d3b565b820191906000526020600020905b815481529060010190602001808311611d1e57829003601f168201915b50505050509050935093505050611d56565b85859350935050505b935093915050565b6001546001600160a01b031681565b611d78848484612682565b600580546001600160a01b039092166001600160a01b0319928316179055600680549091169055505050565b6002546001600160a01b031681565b3b151590565b611dd36001600160a01b038416838363ffffffff61268d16565b505050565b6000808a6001600160a01b031663679b6ded898c8a8a8e8f8c8c8c6040518a63ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001888152602001878152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b0316815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611e9f578181015183820152602001611e87565b50505050905090810190601f168015611ecc5780820380516001836020036101000a031916815260200191505b5099505050505050505050506020604051808303818588803b158015611ef157600080fd5b505af1158015611f05573d6000803e3d6000fd5b50505050506040513d6020811015611f1c57600080fd5b81019080805190602001909291905050509050808a6001600160a01b03168a6001600160a01b03167fc1d1490cf25c3b40d600dfb27c7680340ed1ab901b7e8f3551280968a3b372b0866040518080602001828103825283818151815260200191508051906020019080838360005b83811015611fa3578181015183820152602001611f8b565b50505050905090810190601f168015611fd05780820380516001836020036101000a031916815260200191505b509250505060405180910390a49a9950505050505050505050565b6000816001600160a01b031663e78cea926040518163ffffffff1660e01b815260040160206040518083038186803b15801561202657600080fd5b505afa15801561203a573d6000803e3d6000fd5b505050506040513d602081101561205057600080fd5b505192915050565b60008061206483611feb565b6001600160a01b031663ab5d89436040518163ffffffff1660e01b815260040160206040518083038186803b15801561209c57600080fd5b505afa1580156120b0573d6000803e3d6000fd5b505050506040513d60208110156120c657600080fd5b505160408051634032458160e11b815290519192506000916001600160a01b038416916380648b02916004808301926020929190829003018186803b15801561210e57600080fd5b505afa158015612122573d6000803e3d6000fd5b505050506040513d602081101561213857600080fd5b505190506001600160a01b038116612183576040805162461bcd60e51b81526020600482015260096024820152682727afa9a2a72222a960b91b604482015290519081900360640190fd5b9392505050565b600060608383604081101561219e57600080fd5b81359190810190604081016020820135600160201b8111156121bf57600080fd5b8201836020820111156121d157600080fd5b803590602001918460018302840111600160201b831117156121f257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969b929a509198505050505050505050565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b60608282604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b838110156122a457818101518382015260200161228c565b50505050905090810190601f1680156122d15780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156123045781810151838201526020016122ec565b50505050905090810190601f1680156123315780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291905298975050505050505050565b600061235a8585610cb4565b6040805160608101825260018082526001600160a01b0387811660208085019182528486018981526000888152600383529690962085518154935160ff1990941690151517610100600160a81b03191661010093909416929092029290921781559351805195965092946123d5939285019290910190612c5a565b5050505050505050565b6060600080606060006123f1336126df565b1561240a5761240087876126f3565b9094509150612447565b33935086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294505050505b81806020019051604081101561245c57600080fd5b815160208301805160405192949293830192919084600160201b82111561248257600080fd5b90830190602082018581111561249757600080fd5b8251600160201b8111828201881017156124b057600080fd5b82525081516020918201929091019080838360005b838110156124dd5781810151838201526020016124c5565b50505050905090810190601f16801561250a5780820380516001836020036101000a031916815260200191505b506040525091945091925061252a9150506001600160a01b038d16611db3565b61256d576040805162461bcd60e51b815260206004820152600f60248201526e130c57d393d517d0d3d395149050d5608a1b604482015290519081900360640190fd5b60006125788d61153e565b90506001600160a01b0381166125c7576040805162461bcd60e51b815260206004820152600f60248201526e1393d7d30c97d513d2d15397d4d155608a1b604482015290519081900360640190fd5b6125d28d868d612731565b6125df8d868e8e87611437565b95506125ef858c8c8c868b61274c565b93505050818a6001600160a01b0316846001600160a01b03167fb8910b9960c443aac3240b98585384e3a6f109fbf6969e264c3f183d69aba7e18e8d60405180836001600160a01b03166001600160a01b031681526020018281526020019250505060405180910390a4506040805160208082019390935281518082039093018352810190529998505050505050505050565b611dd383838361279a565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611dd3908490612857565b6001546001600160a01b0390811691161490565b600060608383604081101561270757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156121bf57600080fd5b611dd36001600160a01b03841683308463ffffffff61290816565b600254600080546040805160608101825286815260208101899052908101879052919261278f926001600160a01b0391821692909116908a903490869088612968565b979650505050505050565b6127a48383612987565b6001600160a01b0382166127ec576040805162461bcd60e51b815260206004820152600a6024820152692120a22fa927aaaa22a960b11b604482015290519081900360640190fd5b6001600160a01b038116612833576040805162461bcd60e51b81526020600482015260096024820152680848288be929c849eb60bb1b604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b60606128ac826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612a539092919063ffffffff16565b805190915015611dd3578080602001905160208110156128cb57600080fd5b5051611dd35760405162461bcd60e51b815260040180806020018281038252602a815260200180612d44602a913960400191505060405180910390fd5b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612962908590612857565b50505050565b6000611c4f8888888888886000015189602001518a604001518a611dd8565b6001600160a01b0382166129d8576040805162461bcd60e51b81526020600482015260136024820152721253959053125117d0d3d55395115494105495606a1b604482015290519081900360640190fd5b6000546001600160a01b031615612a25576040805162461bcd60e51b815260206004820152600c60248201526b1053149150511657d253925560a21b604482015290519081900360640190fd5b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b6060612a628484600085612a6a565b949350505050565b606082471015612aab5760405162461bcd60e51b8152600401808060200182810382526026815260200180612cf36026913960400191505060405180910390fd5b612ab485611db3565b612b05576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310612b445780518252601f199092019160209182019101612b25565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612ba6576040519150601f19603f3d011682016040523d82523d6000602084013e612bab565b606091505b509150915061278f82828660608315612bc5575081612183565b825115612bd55782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c1f578181015183820152602001612c07565b50505050905090810190601f168015612c4c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612c9b57805160ff1916838001178555612cc8565b82800160010185558215612cc8579182015b82811115612cc8578251825591602001919060010190612cad565b50612cd4929150612cd8565b5090565b610ced91905b80821115612cd45760008155600101612cde56fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4d696e7420616e642063616c6c20676173206c6566742063616c63756c6174696f6e20756e6465666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212203ef9d75ff9a34fb702690c2dcd3168585c9d078e016c8e08bc874e172385238864736f6c634300060b0033