0 txs
0 calls
constructor
constructor()
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
BRIDGER_ROLE
viewfunction BRIDGER_ROLE() view returns (bytes32)
decimals
viewfunction decimals() view returns (uint8)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
feeBps
viewfunction feeBps() view returns (uint256)
feeEarnedInETH
viewfunction feeEarnedInETH() view returns (uint256)
getRate
viewfunction getRate() view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
l1VaultETHForL2Chain
viewfunction l1VaultETHForL2Chain() view returns (address)
l2Bridge
viewfunction l2Bridge() view returns (address)
messenger
viewfunction messenger() view returns (address)
name
viewfunction name() view returns (string)
rsETHOracle
viewfunction rsETHOracle() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
viewSwapRsETHAmountAndFee
viewfunction viewSwapRsETHAmountAndFee(uint256 amount) view returns (uint256 rsETHAmount, uint256 fee)
wrsETH
viewfunction wrsETH() view returns (address)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
bridgeAssets
nonpayablefunction bridgeAssets()
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
deposit
payablefunction deposit(string referralId) payable
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
initialize
nonpayablefunction initialize(address admin, address bridger, address _wrsETH, uint256 _feeBps, address _rsETHOracle)
moveAssetsForBridging
nonpayablefunction moveAssetsForBridging()
reinitialize
nonpayablefunction reinitialize(address _l2Bridge, address _l1VaultETHForL2Chain, address _messenger)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setFeeBps
nonpayablefunction setFeeBps(uint256 _feeBps)
setL2Bridge
nonpayablefunction setL2Bridge(address _l2Bridge)
setRSETHOracle
nonpayablefunction setRSETHOracle(address _rsETHOracle)
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
withdrawFees
nonpayablefunction withdrawFees(address receiver)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
AssetsBridged
event AssetsBridged(uint256 ethBalanceMinusFees)
AssetsMovedForBridging
event AssetsMovedForBridging(uint256 ethBalanceMinusFees)
FeeBpsSet
event FeeBpsSet(uint256 feeBps)
FeesWithdrawn
event FeesWithdrawn(uint256 feeEarnedInETH)
Initialized
event Initialized(uint8 version)
OracleSet
event OracleSet(address oracle)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
SwapOccurred
event SwapOccurred(address indexed user, uint256 rsETHAmount, uint256 fee, string referralId)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
InvalidAmount
error InvalidAmount()
TransferFailed
error TransferFailed()
ZeroAddressNotAllowed
error ZeroAddressNotAllowed()
creation bytecode
0x608060405234801562000010575f80fd5b506200001b62000021565b620000df565b5f54610100900460ff16156200008d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff90811614620000dd575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6129bc80620000ed5f395ff3fe60806040526004361061025d575f3560e01c80636400e3851161014b578063a217fddf116100c6578063d547741f1161007c578063e129200f11610062578063e129200f1461073f578063f08442e81461076b578063f64f72151461078a575f80fd5b8063d547741f146106cf578063dd62ed3e146106ee575f80fd5b8063a457c2d7116100ac578063a457c2d714610665578063a9059cbb14610684578063ae1f6aaf146106a3575f80fd5b8063a217fddf1461063f578063a26e118614610652575f80fd5b806372c27b621161011b57806390ed579b1161010157806390ed579b146105c557806391d14854146105da57806395d89b411461062b575f80fd5b806372c27b62146105925780637b84c1a5146105b1575f80fd5b80636400e3851461050a578063679aefce14610529578063687b0a111461053d57806370a0823114610551575f80fd5b80632f2ff15d116101db5780633cb747bf116101ab5780633d75e451116101915780633d75e4511461048c578063530b97a4146104bf57806354d1d5e4146104de575f80fd5b80633cb747bf146104405780633d36d9711461046d575f80fd5b80632f2ff15d146103c8578063313ce567146103e757806336568abe146104025780633950935114610421575f80fd5b8063164e68de1161023057806323b872dd1161021657806323b872dd14610366578063248a9ca31461038557806324a9d853146103b3575f80fd5b8063164e68de1461032757806318160ddd14610348575f80fd5b806301ffc9a71461026157806306fdde0314610295578063095ea7b3146102b65780631092ca9e146102d5575b5f80fd5b34801561026c575f80fd5b5061028061027b3660046122c0565b6107be565b60405190151581526020015b60405180910390f35b3480156102a0575f80fd5b506102a9610856565b60405161028c919061236a565b3480156102c1575f80fd5b506102806102d03660046123a4565b6108e6565b3480156102e0575f80fd5b50610100546103029073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161028c565b348015610332575f80fd5b506103466103413660046123cc565b6108fd565b005b348015610353575f80fd5b506035545b60405190815260200161028c565b348015610371575f80fd5b506102806103803660046123e5565b610a00565b348015610390575f80fd5b5061035861039f36600461241e565b5f9081526097602052604090206001015490565b3480156103be575f80fd5b5061035860fc5481565b3480156103d3575f80fd5b506103466103e2366004612435565b610a23565b3480156103f2575f80fd5b506040516012815260200161028c565b34801561040d575f80fd5b5061034661041c366004612435565b610a4c565b34801561042c575f80fd5b5061028061043b3660046123a4565b610aea565b34801561044b575f80fd5b50610101546103029073ffffffffffffffffffffffffffffffffffffffff1681565b348015610478575f80fd5b506103466104873660046123cc565b610b35565b348015610497575f80fd5b506103587fc809a7fd521f10cdc3c068621a1c61d5fd9bb3f1502a773e53811bc248d919a881565b3480156104ca575f80fd5b506103466104d936600461245f565b610b90565b3480156104e9575f80fd5b5060fe546103029073ffffffffffffffffffffffffffffffffffffffff1681565b348015610515575f80fd5b506103466105243660046124b9565b610e4d565b348015610534575f80fd5b5061035861103a565b348015610548575f80fd5b506103466110d0565b34801561055c575f80fd5b5061035861056b3660046123cc565b73ffffffffffffffffffffffffffffffffffffffff165f9081526033602052604090205490565b34801561059d575f80fd5b506103466105ac36600461241e565b6111c3565b3480156105bc575f80fd5b50610346611246565b3480156105d0575f80fd5b5061035860fd5481565b3480156105e5575f80fd5b506102806105f4366004612435565b5f91825260976020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b348015610636575f80fd5b506102a961134b565b34801561064a575f80fd5b506103585f81565b610346610660366004612526565b61135a565b348015610670575f80fd5b5061028061067f3660046123a4565b6114a9565b34801561068f575f80fd5b5061028061069e3660046123a4565b61155f565b3480156106ae575f80fd5b5060ff546103029073ffffffffffffffffffffffffffffffffffffffff1681565b3480156106da575f80fd5b506103466106e9366004612435565b61156c565b3480156106f9575f80fd5b506103586107083660046125ef565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260346020908152604080832093909416825291909152205490565b34801561074a575f80fd5b5060fb546103029073ffffffffffffffffffffffffffffffffffffffff1681565b348015610776575f80fd5b506103466107853660046123cc565b611590565b348015610795575f80fd5b506107a96107a436600461241e565b611616565b6040805192835260208301919091520161028c565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061085057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606036805461086590612617565b80601f016020809104026020016040519081016040528092919081815260200182805461089190612617565b80156108dc5780601f106108b3576101008083540402835291602001916108dc565b820191905f5260205f20905b8154815290600101906020018083116108bf57829003601f168201915b5050505050905090565b5f336108f3818585611673565b5060019392505050565b7fc809a7fd521f10cdc3c068621a1c61d5fd9bb3f1502a773e53811bc248d919a8610927816117f1565b60fd80545f9182905560405190919073ffffffffffffffffffffffffffffffffffffffff85169083908381818185875af1925050503d805f8114610986576040519150601f19603f3d011682016040523d82523d5f602084013e61098b565b606091505b50509050806109c6576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518281527f9800e6f57aeb4360eaa72295a820a4293e1e66fbfcabcd8874ae141304a76deb906020015b60405180910390a150505050565b5f33610a0d8582856117fb565b610a188585856118b7565b506001949350505050565b5f82815260976020526040902060010154610a3d816117f1565b610a478383611add565b505050565b73ffffffffffffffffffffffffffffffffffffffff81163314610adc5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610ae68282611bcf565b5050565b335f81815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906108f39082908690610b30908790612695565b611673565b5f610b3f816117f1565b610b4882611c88565b5060ff80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b5f54610100900460ff1615808015610bae57505f54600160ff909116105b80610bc75750303b158015610bc757505f5460ff166001145b610c395760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ad3565b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610c95575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610c9e84611c88565b610ca782611c88565b610d1b6040518060400160405280600581526020017f72734554480000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f7273455448000000000000000000000000000000000000000000000000000000815250611cd5565b610d23611d5b565b610d2b611dd9565b610d355f87611add565b610d5f7fc809a7fd521f10cdc3c068621a1c61d5fd9bb3f1502a773e53811bc248d919a887611e5d565b610d897fc809a7fd521f10cdc3c068621a1c61d5fd9bb3f1502a773e53811bc248d919a886611e5d565b60fb805473ffffffffffffffffffffffffffffffffffffffff8087167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560fc85905560fe8054928516929091169190911790558015610e45575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b5f54600290610100900460ff16158015610e6d57505f5460ff8083169116105b610edf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ad3565b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff831617610100178155610f18816117f1565b60ff54610f3a9073ffffffffffffffffffffffffffffffffffffffff16611c88565b61010054610f5d9073ffffffffffffffffffffffffffffffffffffffff16611c88565b61010154610f809073ffffffffffffffffffffffffffffffffffffffff16611c88565b5060ff805473ffffffffffffffffffffffffffffffffffffffff8681167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617835561010080548783169084161790556101018054918616919092161790555f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405190821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016109f2565b60fe54604080517f679aefce00000000000000000000000000000000000000000000000000000000815290515f9273ffffffffffffffffffffffffffffffffffffffff169163679aefce9160048083019260209291908290030181865afa1580156110a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110cb91906126a8565b905090565b7fc809a7fd521f10cdc3c068621a1c61d5fd9bb3f1502a773e53811bc248d919a86110fa816117f1565b5f60fd544761110991906126bf565b6040519091505f90339083908381818185875af1925050503d805f811461114b576040519150601f19603f3d011682016040523d82523d5f602084013e611150565b606091505b505090508061118b576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518281527f52f82c8bf940e02934eb4517dd40f665fd2b0fa3f1d03a1e40edb3d4a12582ed9060200160405180910390a1505050565b5f6111cd816117f1565b612710821115611209576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fc8290556040518281527f4f78c4ceb393a616bbd264a4584a9ad15d722042ce1e135e6a8380217f5cb42b906020015b60405180910390a15050565b7fc809a7fd521f10cdc3c068621a1c61d5fd9bb3f1502a773e53811bc248d919a8611270816117f1565b5f60fd544761127f91906126bf565b6101015460ff54610100546040517f3cb1665a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529082166024820152604481018490529293501690633cb1665a9083906064015f604051808303818588803b158015611303575f80fd5b505af1158015611315573d5f803e3d5ffd5b50505050507f0d15a4162b14200f7d1317ef8e565c3f19fb7a0f19f4065866c5758bdd9eec018160405161123a91815260200190565b60606037805461086590612617565b611362611e67565b345f81900361139d576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f806113a883611616565b915091508060fd5f8282546113bd9190612695565b909155505060fb546040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff909116906340c10f19906044015f604051808303815f87803b158015611431575f80fd5b505af1158015611443573d5f803e3d5ffd5b505050503373ffffffffffffffffffffffffffffffffffffffff167f6fc20b1cf8f9d1126dbd5964e2517cd71083acf40aed30fb6e0c4850d251c94f838387604051611491939291906126d2565b60405180910390a25050506114a6600160c955565b50565b335f81815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156115525760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610ad3565b610a188286868403611673565b5f336108f38185856118b7565b5f82815260976020526040902060010154611586816117f1565b610a478383611bcf565b5f61159a816117f1565b6115a382611c88565b60fe80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f3f32684a32a11dabdbb8c0177de80aa3ae36a004d75210335b49e544e48cd0aa9060200161123a565b5f8061271060fc548461162991906126f9565b6116339190612710565b90505f61164082856126bf565b90505f61164b61103a565b90508061166083670de0b6b3a76400006126f9565b61166a9190612710565b93505050915091565b73ffffffffffffffffffffffffffffffffffffffff83166116fb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610ad3565b73ffffffffffffffffffffffffffffffffffffffff82166117845760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610ad3565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6114a68133611ec7565b73ffffffffffffffffffffffffffffffffffffffff8381165f908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118b157818110156118a45760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610ad3565b6118b18484848403611673565b50505050565b73ffffffffffffffffffffffffffffffffffffffff83166119405760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610ad3565b73ffffffffffffffffffffffffffffffffffffffff82166119c95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610ad3565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526033602052604090205481811015611a645760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610ad3565b73ffffffffffffffffffffffffffffffffffffffff8085165f8181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ad09086815260200190565b60405180910390a36118b1565b5f82815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610ae6575f82815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611b713390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b5f82815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610ae6575f82815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b73ffffffffffffffffffffffffffffffffffffffff81166114a6576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f54610100900460ff16611d515760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ad3565b610ae68282611f66565b5f54610100900460ff16611dd75760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ad3565b565b5f54610100900460ff16611e555760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ad3565b611dd7611ffb565b610ae68282611add565b600260c95403611eb95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ad3565b600260c955565b600160c955565b5f82815260976020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610ae657611f0681612077565b611f11836020612096565b604051602001611f22929190612748565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262461bcd60e51b8252610ad39160040161236a565b5f54610100900460ff16611fe25760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ad3565b6036611fee838261280d565b506037610a47828261280d565b5f54610100900460ff16611ec05760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ad3565b606061085073ffffffffffffffffffffffffffffffffffffffff831660145b60605f6120a48360026126f9565b6120af906002612695565b67ffffffffffffffff8111156120c7576120c76124f9565b6040519080825280601f01601f1916602001820160405280156120f1576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000815f8151811061212757612127612925565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061218957612189612925565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053505f6121c38460026126f9565b6121ce906001612695565b90505b600181111561226a577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061220f5761220f612925565b1a60f81b82828151811061222557612225612925565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535060049490941c9361226381612952565b90506121d1565b5083156122b95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ad3565b9392505050565b5f602082840312156122d0575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146122b9575f80fd5b5f5b83811015612319578181015183820152602001612301565b50505f910152565b5f81518084526123388160208601602086016122ff565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081525f6122b96020830184612321565b803573ffffffffffffffffffffffffffffffffffffffff8116811461239f575f80fd5b919050565b5f80604083850312156123b5575f80fd5b6123be8361237c565b946020939093013593505050565b5f602082840312156123dc575f80fd5b6122b98261237c565b5f805f606084860312156123f7575f80fd5b6124008461237c565b925061240e6020850161237c565b9150604084013590509250925092565b5f6020828403121561242e575f80fd5b5035919050565b5f8060408385031215612446575f80fd5b823591506124566020840161237c565b90509250929050565b5f805f805f60a08688031215612473575f80fd5b61247c8661237c565b945061248a6020870161237c565b93506124986040870161237c565b9250606086013591506124ad6080870161237c565b90509295509295909350565b5f805f606084860312156124cb575f80fd5b6124d48461237c565b92506124e26020850161237c565b91506124f06040850161237c565b90509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f60208284031215612536575f80fd5b813567ffffffffffffffff8082111561254d575f80fd5b818401915084601f830112612560575f80fd5b813581811115612572576125726124f9565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156125b8576125b86124f9565b816040528281528760208487010111156125d0575f80fd5b826020860160208301375f928101602001929092525095945050505050565b5f8060408385031215612600575f80fd5b6126098361237c565b91506124566020840161237c565b600181811c9082168061262b57607f821691505b602082108103612662577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561085057610850612668565b5f602082840312156126b8575f80fd5b5051919050565b8181038181111561085057610850612668565b838152826020820152606060408201525f6126f06060830184612321565b95945050505050565b808202811582820484141761085057610850612668565b5f82612743577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081525f835161277f8160178501602088016122ff565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516127bc8160288401602088016122ff565b01602801949350505050565b601f821115610a47575f81815260208120601f850160051c810160208610156127ee5750805b601f850160051c820191505b81811015610e45578281556001016127fa565b815167ffffffffffffffff811115612827576128276124f9565b61283b816128358454612617565b846127c8565b602080601f83116001811461288d575f84156128575750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610e45565b5f858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156128d9578886015182559484019460019091019084016128ba565b508582101561291557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8161296057612960612668565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220329345c59c24fae184ca35afe02e84cc963c4d1743593a05616dff4a43dba7d964736f6c63430008150033