0 txs
77 calls
constructor
No constructor.
functions
auraBribe
viewfunction auraBribe() view returns (address)
BASIS
viewfunction BASIS() view returns (uint256)
bribeReceiver
viewfunction bribeReceiver() view returns (bytes)
chainId
viewfunction chainId() view returns (uint16)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
defaultSwapper
viewfunction defaultSwapper() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getSwapper
viewfunction getSwapper(address _tokenIn) view returns (address)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
routerETH
viewfunction routerETH() view returns (address)
slippage
viewfunction slippage() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
swappers
viewfunction swappers(address) view returns (address)
WETH
viewfunction WETH() view returns (address)
addKeeper
nonpayablefunction addKeeper(address _keeper)
bridge
nonpayablefunction bridge()
bridgingBribes
nonpayablefunction bridgingBribes(address _hiddenHandDistributor, tuple[] _claims, uint256[] minAmountOut, bytes[] _externalData)
claimBribes
nonpayablefunction claimBribes(address _hiddenHandDistributor, tuple[] _claims)
emergencyWithdraw
nonpayablefunction emergencyWithdraw(address _to, address[] _assets, bool _withdrawNative)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _keeper, address _bribeReceiver, address _defaultSwapper)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setTokenSwapper
nonpayablefunction setTokenSwapper(address tokenIn, address tokenSwapper, uint256 allowance)
swap
nonpayablefunction swap(address _token, uint256 _amount, uint256 _minAmountOut, bytes _externalData)
updateAuraBribe
nonpayablefunction updateAuraBribe(address _auraBribe)
updateBribeReceiver
nonpayablefunction updateBribeReceiver(address _bribeReceiver)
updateChainId
nonpayablefunction updateChainId(uint16 _chainId)
updateDefaultSwapper
nonpayablefunction updateDefaultSwapper(address _defaultSwapper)
updateRouterETH
nonpayablefunction updateRouterETH(address _routerETH)
updateSlippage
nonpayablefunction updateSlippage(uint256 _slippage)
events
BridgingBribes
event BridgingBribes(address indexed caller, bytes indexed to, uint256 amount, bool bridged)
EmergencyWithdrawal
event EmergencyWithdrawal(address indexed caller, address indexed receiver, address[] tokens, uint256 nativeBalanc)
Initialized
event Initialized(uint8 version)
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)
errors
FailSendETH
error FailSendETH()
InvalidToken
error InvalidToken()
NoSwapper
error NoSwapper()
OnlyGov
error OnlyGov()
OnlyKeeper
error OnlyKeeper()
ZeroAddress
error ZeroAddress()
creation bytecode
0x608060405234801561001057600080fd5b50612f11806100206000396000f3fe6080604052600436106101dc5760003560e01c80638ad41d2a11610102578063b2d8b31311610095578063d547741f11610064578063d547741f146105a6578063e5860b79146105c6578063e78cea92146105e6578063f0d05538146105fb57600080fd5b8063b2d8b31314610526578063b691d78c14610546578063bcf8699f14610566578063c0c53b8b1461058657600080fd5b80639a8a0592116100d15780639a8a05921461049c578063a0988333146104d1578063a217fddf146104f1578063ad5c46481461050657600080fd5b80638ad41d2a146104065780638cad7fbe146104265780639195ebc61461045c57806391d148541461047c57600080fd5b80633e032a3b1161017a5780634cbc3ae9116101495780634cbc3ae91461038d578063528cfa98146103ad578063617e1400146103c65780637d0780ca146103e657600080fd5b80633e032a3b146102ff5780634032b72b146103155780634322e9101461033557806346af4d321461036d57600080fd5b8063248a9ca3116101b6578063248a9ca31461025f5780632f2ff15d1461029d57806331a53c5c146102bd57806336568abe146102df57600080fd5b806301ffc9a7146101e85780631289ba4a1461021d57806315b0d4961461023f57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5061020861020336600461226c565b61061b565b60405190151581526020015b60405180910390f35b34801561022957600080fd5b5061023d6102383660046122ab565b610652565b005b34801561024b57600080fd5b5061023d61025a3660046122c8565b6106a1565b34801561026b57600080fd5b5061028f61027a3660046122c8565b60009081526065602052604090206001015490565b604051908152602001610214565b3480156102a957600080fd5b5061023d6102b83660046122e1565b6106ae565b3480156102c957600080fd5b506102d26106d8565b6040516102149190612369565b3480156102eb57600080fd5b5061023d6102fa3660046122e1565b610766565b34801561030b57600080fd5b5061028f60cf5481565b34801561032157600080fd5b5061023d6103303660046122ab565b6107e5565b34801561034157600080fd5b5060cd54610355906001600160a01b031681565b6040516001600160a01b039091168152602001610214565b34801561037957600080fd5b5061023d6103883660046122ab565b610841565b34801561039957600080fd5b5061023d6103a83660046122ab565b61086b565b3480156103b957600080fd5b5061028f64e8d4a5100081565b3480156103d257600080fd5b5061023d6103e136600461238c565b610895565b3480156103f257600080fd5b5061023d6104013660046122ab565b6108bf565b34801561041257600080fd5b5060ca54610355906001600160a01b031681565b34801561043257600080fd5b506103556104413660046122ab565b60cc602052600090815260409020546001600160a01b031681565b34801561046857600080fd5b5061023d610477366004612430565b6108e9565b34801561048857600080fd5b506102086104973660046122e1565b610b01565b3480156104a857600080fd5b5060c9546104be90600160a01b900461ffff1681565b60405161ffff9091168152602001610214565b3480156104dd57600080fd5b5061023d6104ec3660046124f3565b610b2c565b3480156104fd57600080fd5b5061028f600081565b34801561051257600080fd5b5060c954610355906001600160a01b031681565b34801561053257600080fd5b506103556105413660046122ab565b610bd0565b34801561055257600080fd5b5061023d6105613660046125a3565b610c4c565b34801561057257600080fd5b5060cb54610355906001600160a01b031681565b34801561059257600080fd5b5061023d6105a1366004612605565b610e50565b3480156105b257600080fd5b5061023d6105c13660046122e1565b610ec6565b3480156105d257600080fd5b5061023d6105e1366004612725565b610eeb565b3480156105f257600080fd5b5061023d61155c565b34801561060757600080fd5b5061023d61061636600461281c565b6116a7565b60006001600160e01b03198216637965db0b60e01b148061064c57506301ffc9a760e01b6001600160e01b03198316145b92915050565b61065a61183f565b6040516bffffffffffffffffffffffff19606083901b16602082015260340160405160208183030381529060405260ce908051906020019061069d9291906121d3565b5050565b6106a961183f565b60cf55565b6000828152606560205260409020600101546106c981611867565b6106d38383611871565b505050565b60ce80546106e590612870565b80601f016020809104026020016040519081016040528092919081815260200182805461071190612870565b801561075e5780601f106107335761010080835404028352916020019161075e565b820191906000526020600020905b81548152906001019060200180831161074157829003601f168201915b505050505081565b6001600160a01b03811633146107db5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b61069d82826118f7565b6107ed61183f565b6001600160a01b0381166108145760405163d92e233d60e01b815260040160405180910390fd5b61083e7f71a9859d7dd21b24504a6f306077ffc2d510b4d4b61128e931fe937441ad183682611871565b50565b61084961183f565b60cd80546001600160a01b0319166001600160a01b0392909216919091179055565b61087361183f565b60cb80546001600160a01b0319166001600160a01b0392909216919091179055565b61089d61183f565b60c9805461ffff909216600160a01b0261ffff60a01b19909216919091179055565b6108c761183f565b60ca80546001600160a01b0319166001600160a01b0392909216919091179055565b6108f161183f565b815160005b81811015610a1f576000848281518110610912576109126128a5565b60209081029190910101516040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610967573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098b91906128bb565b90508015610a085760405163a9059cbb60e01b81526001600160a01b0388811660048301526024820183905283169063a9059cbb906044016020604051808303816000875af11580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0691906128d4565b505b505060010180610a1781612907565b9150506108f6565b5047828015610a2e5750600081115b15610aa9576000856001600160a01b03168260405160006040518083038185875af1925050503d8060008114610a80576040519150601f19603f3d011682016040523d82523d6000602084013e610a85565b606091505b5050905080610aa75760405163505e179b60e11b815260040160405180910390fd5b505b6001600160a01b038516337f7dc5f7b59ca8f56b6fc2b00d2a5c9773cdadfc072a508b0ffae09949da8255ec8686610ae2576000610ae4565b845b604051610af2929190612922565b60405180910390a35050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b610b3461183f565b6001600160a01b03838116600081815260cc60205260409081902080546001600160a01b03191693861693841790555163095ea7b360e01b81526004810192909252602482018390529063095ea7b3906044016020604051808303816000875af1158015610ba6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bca91906128d4565b50505050565b6001600160a01b03808216600090815260cc60205260408120549091168015610bf95792915050565b610c028361195e565b8015610c1557506001600160a01b038116155b15610c2d57505060cd546001600160a01b0316919050565b60405163c1ab6dc160e01b815260040160405180910390fd5b50919050565b610c546119cd565b610c5c611a27565b6000610c6785610bd0565b90506001600160a01b038116610c90576040516324fe885560e01b815260040160405180910390fd5b60405163095ea7b360e01b81526001600160a01b0382811660048301526024820186905286169063095ea7b3906044016020604051808303816000875af1158015610cdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0391906128d4565b5060c9546040516384422d7160e01b81526001600160a01b03808416926384422d7192610d3d928a928a9291169089908990600401612973565b6020604051808303816000875af1158015610d5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8091906128bb565b5060c9546040516370a0823160e01b81523060048201526001600160a01b0390911690632e1a7d4d9082906370a0823190602401602060405180830381865afa158015610dd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df591906128bb565b6040518263ffffffff1660e01b8152600401610e1391815260200190565b600060405180830381600087803b158015610e2d57600080fd5b505af1158015610e41573d6000803e3d6000fd5b5050505050610bca6001609755565b610e5b838383611a6e565b505060c980546001600160a01b03199081167382af49447d8a07e3bd95bd0d56f35241523fbab11790915560ca8054821673928b06229a3f4bc7806d80fe54e48e777bb7453617905560cb805490911673bf22f0f184bccbea268df387a49ff5238dd23e4017905550565b600082815260656020526040902060010154610ee181611867565b6106d383836118f7565b610ef36119cd565b610efb611a27565b826000816001600160401b03811115610f1657610f166123a9565b604051908082528060200260200182016040528015610f3f578160200160208202803683370190505b50905060005b8281101561101657876001600160a01b031663938d967a888884818110610f6e57610f6e6128a5565b9050602002810190610f8091906129b8565b60405160e083901b6001600160e01b031916815290356004820152602401608060405180830381865afa158015610fbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdf91906129d8565b5050835184915083908110610ff657610ff66128a5565b6001600160a01b0390921660209283029190910190910152600101610f45565b50604051630ad0a67360e31b81526001600160a01b038816906356853398906110459089908990600401612a4d565b600060405180830381600087803b15801561105f57600080fd5b505af1158015611073573d6000803e3d6000fd5b5050505060005b828110156113475760006001600160a01b031682828151811061109f5761109f6128a5565b60200260200101516001600160a01b03161415806110ef575060c95482516001600160a01b03909116908390839081106110db576110db6128a5565b60200260200101516001600160a01b031614155b1561133f576000828281518110611108576111086128a5565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117c91906128bb565b9050801561133d5760006111a884848151811061119b5761119b6128a5565b6020026020010151610bd0565b90506001600160a01b0381166111d1576040516324fe885560e01b815260040160405180910390fd5b8383815181106111e3576111e36128a5565b602090810291909101015160405163095ea7b360e01b81526001600160a01b038381166004830152602482018590529091169063095ea7b3906044016020604051808303816000875af115801561123e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126291906128d4565b50806001600160a01b03166384422d71858581518110611284576112846128a5565b60200260200101518460c960009054906101000a90046001600160a01b03168b88815181106112b5576112b56128a5565b60200260200101518b89815181106112cf576112cf6128a5565b60200260200101516040518663ffffffff1660e01b81526004016112f7959493929190612973565b6020604051808303816000875af1158015611316573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133a91906128bb565b50505b505b60010161107a565b5060c9546040516370a0823160e01b81523060048201819052916001600160a01b031690632e1a7d4d9082906370a0823190602401602060405180830381865afa158015611399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bd91906128bb565b6040518263ffffffff1660e01b81526004016113db91815260200190565b600060405180830381600087803b1580156113f557600080fd5b505af1158015611409573d6000803e3d6000fd5b505050506001600160a01b038116316000611422611c8b565b9050808211156115065760cb5460c9546001600160a01b0390911690631114cd2a908490600160a01b900461ffff168660ce61145e8785612b38565b61147061146b898b612b38565b611f25565b6040518763ffffffff1660e01b8152600401611490959493929190612bc6565b6000604051808303818588803b1580156114a957600080fd5b505af11580156114bd573d6000803e3d6000fd5b505050505060ce6040516114d19190612c08565b6040805191829003822084835260016020840152913391600080516020612ebc833981519152910160405180910390a3611546565b60ce6040516115159190612c08565b6040805191829003822084835260006020840152913391600080516020612ebc833981519152910160405180910390a35b50505050506115556001609755565b5050505050565b6115646119cd565b61156c611a27565b3080316000611579611c8b565b9050808211156116585760cb5460c9546001600160a01b0390911690631114cd2a908490600160a01b900461ffff168660ce6115b58785612b38565b6115c261146b898b612b38565b6040518763ffffffff1660e01b81526004016115e2959493929190612bc6565b6000604051808303818588803b1580156115fb57600080fd5b505af115801561160f573d6000803e3d6000fd5b505050505060ce6040516116239190612c08565b6040805191829003822084835260016020840152913391600080516020612ebc833981519152910160405180910390a3611698565b60ce6040516116679190612c08565b6040805191829003822084835260006020840152913391600080516020612ebc833981519152910160405180910390a35b5050506116a56001609755565b565b6116af6119cd565b6116b7611a27565b806000816001600160401b038111156116d2576116d26123a9565b6040519080825280602002602001820160405280156116fb578160200160208202803683370190505b50905060005b828110156117d257856001600160a01b031663938d967a86868481811061172a5761172a6128a5565b905060200281019061173c91906129b8565b60405160e083901b6001600160e01b031916815290356004820152602401608060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b91906129d8565b50508351849150839081106117b2576117b26128a5565b6001600160a01b0390921660209283029190910190910152600101611701565b50604051630ad0a67360e31b81526001600160a01b038616906356853398906118019087908790600401612a4d565b600060405180830381600087803b15801561181b57600080fd5b505af115801561182f573d6000803e3d6000fd5b5050505050506106d36001609755565b61184a600033610b01565b6116a557604051639097750360e01b815260040160405180910390fd5b61083e8133611f3c565b61187b8282610b01565b61069d5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118b33390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6119018282610b01565b1561069d5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60ca5460405163559bfa4360e11b81526001600160a01b038381166004830152600092169063ab37f48690602401602060405180830381865afa1580156119a9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064c91906128d4565b60026097541415611a205760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107d2565b6002609755565b611a517f71a9859d7dd21b24504a6f306077ffc2d510b4d4b61128e931fe937441ad183633610b01565b6116a55760405163c60eb33560e01b815260040160405180910390fd5b600054610100900460ff1615808015611a8e5750600054600160ff909116105b80611aa85750303b158015611aa8575060005460ff166001145b611b0b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107d2565b6000805460ff191660011790558015611b2e576000805461ff0019166101001790555b611b36611f95565b6001600160a01b0384161580611b5357506001600160a01b038316155b80611b6557506001600160a01b038216155b15611b835760405163d92e233d60e01b815260040160405180910390fd5b6040516bffffffffffffffffffffffff19606085901b16602082015260340160405160208183030381529060405260ce9080519060200190611bc69291906121d3565b5060cd80546001600160a01b0319166001600160a01b038416179055611bf464e8d4a5100060636064612000565b60cf5560c9805461ffff60a01b1916606560a01b179055611c16600033611871565b611c407f71a9859d7dd21b24504a6f306077ffc2d510b4d4b61128e931fe937441ad183685611871565b8015610bca576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b6040805160608101825260008082526020808301829052835180850185526002815261060f60f31b818301528385015260cb548451631f06e1a760e11b81529451929485936001936001600160a01b0390931692633e0dc34e92600480820193918290030181865afa158015611d05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d299190612c7a565b60cb60009054906101000a90046001600160a01b03166001600160a01b0316633e0dc34e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da09190612c7a565b846000015160405180604001604052806001815260200160018152506040518060c001604052806001815260200160018152602001600181526020016001815260200160018152602001600181525060ce60405180602001604052806000815250604051602001611e18989796959493929190612c97565b60408051601f1981840301815282825260cb54632a795bcf60e21b845291519093506000926001600160a01b039092169163a9e56f3c9160048083019260209291908290030181865afa158015611e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e979190612d41565b6001600160a01b0316630a51236960c960149054906101000a900461ffff16600160ce86886040518663ffffffff1660e01b8152600401611edc959493929190612d5e565b6040805180830381865afa158015611ef8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1c9190612dd4565b50949350505050565b60cf5460009061064c90839064e8d4a51000612000565b611f468282610b01565b61069d57611f538161201f565b611f5e836020612031565b604051602001611f6f929190612df8565b60408051601f198184030181529082905262461bcd60e51b82526107d291600401612369565b600054610100900460ff166116a55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016107d2565b82820281151584158583048514171661201857600080fd5b0492915050565b606061064c6001600160a01b03831660145b60606000612040836002612e6d565b61204b906002612e8c565b6001600160401b03811115612062576120626123a9565b6040519080825280601f01601f19166020018201604052801561208c576020820181803683370190505b509050600360fc1b816000815181106120a7576120a76128a5565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106120d6576120d66128a5565b60200101906001600160f81b031916908160001a90535060006120fa846002612e6d565b612105906001612e8c565b90505b600181111561217d576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612139576121396128a5565b1a60f81b82828151811061214f5761214f6128a5565b60200101906001600160f81b031916908160001a90535060049490941c9361217681612ea4565b9050612108565b5083156121cc5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107d2565b9392505050565b8280546121df90612870565b90600052602060002090601f0160209004810192826122015760008555612247565b82601f1061221a57805160ff1916838001178555612247565b82800160010185558215612247579182015b8281111561224757825182559160200191906001019061222c565b50612253929150612257565b5090565b5b808211156122535760008155600101612258565b60006020828403121561227e57600080fd5b81356001600160e01b0319811681146121cc57600080fd5b6001600160a01b038116811461083e57600080fd5b6000602082840312156122bd57600080fd5b81356121cc81612296565b6000602082840312156122da57600080fd5b5035919050565b600080604083850312156122f457600080fd5b82359150602083013561230681612296565b809150509250929050565b60005b8381101561232c578181015183820152602001612314565b83811115610bca5750506000910152565b60008151808452612355816020860160208601612311565b601f01601f19169290920160200192915050565b6020815260006121cc602083018461233d565b61ffff8116811461083e57600080fd5b60006020828403121561239e57600080fd5b81356121cc8161237c565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156123e7576123e76123a9565b604052919050565b60006001600160401b03821115612408576124086123a9565b5060051b60200190565b801515811461083e57600080fd5b803561242b81612412565b919050565b60008060006060848603121561244557600080fd5b833561245081612296565b92506020848101356001600160401b0381111561246c57600080fd5b8501601f8101871361247d57600080fd5b803561249061248b826123ef565b6123bf565b81815260059190911b820183019083810190898311156124af57600080fd5b928401925b828410156124d65783356124c781612296565b825292840192908401906124b4565b80965050505050506124ea60408501612420565b90509250925092565b60008060006060848603121561250857600080fd5b833561251381612296565b9250602084013561252381612296565b929592945050506040919091013590565b600082601f83011261254557600080fd5b81356001600160401b0381111561255e5761255e6123a9565b612571601f8201601f19166020016123bf565b81815284602083860101111561258657600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156125b957600080fd5b84356125c481612296565b9350602085013592506040850135915060608501356001600160401b038111156125ed57600080fd5b6125f987828801612534565b91505092959194509250565b60008060006060848603121561261a57600080fd5b833561262581612296565b9250602084013561263581612296565b9150604084013561264581612296565b809150509250925092565b60008083601f84011261266257600080fd5b5081356001600160401b0381111561267957600080fd5b6020830191508360208260051b850101111561269457600080fd5b9250929050565b600082601f8301126126ac57600080fd5b813560206126bc61248b836123ef565b82815260059290921b840181019181810190868411156126db57600080fd5b8286015b8481101561271a5780356001600160401b038111156126fe5760008081fd5b61270c8986838b0101612534565b8452509183019183016126df565b509695505050505050565b60008060008060006080868803121561273d57600080fd5b853561274881612296565b94506020868101356001600160401b038082111561276557600080fd5b6127718a838b01612650565b9097509550604089013591508082111561278a57600080fd5b818901915089601f83011261279e57600080fd5b81356127ac61248b826123ef565b81815260059190911b8301840190848101908c8311156127cb57600080fd5b938501935b828510156127e9578435825293850193908501906127d0565b96505050606089013592508083111561280157600080fd5b505061280f8882890161269b565b9150509295509295909350565b60008060006040848603121561283157600080fd5b833561283c81612296565b925060208401356001600160401b0381111561285757600080fd5b61286386828701612650565b9497909650939450505050565b600181811c9082168061288457607f821691505b60208210811415610c4657634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000602082840312156128cd57600080fd5b5051919050565b6000602082840312156128e657600080fd5b81516121cc81612412565b634e487b7160e01b600052601160045260246000fd5b600060001982141561291b5761291b6128f1565b5060010190565b604080825283519082018190526000906020906060840190828701845b828110156129645781516001600160a01b03168452928401929084019060010161293f565b50505092019290925292915050565b6001600160a01b03868116825260208201869052841660408201526060810183905260a0608082018190526000906129ad9083018461233d565b979650505050505050565b60008235607e198336030181126129ce57600080fd5b9190910192915050565b600080600080608085870312156129ee57600080fd5b84516129f981612296565b60208601516040870151606090970151919890975090945092505050565b81835260006001600160fb1b03831115612a3057600080fd5b8260051b8083602087013760009401602001938452509192915050565b60208082528181018390526000906040808401600586811b8601830188865b89811015612b2957888303603f190185528135368c9003607e19018112612a9257600080fd5b8b0180358452608088820135612aa781612296565b6001600160a01b0316858a0152818801358886015260608083013536849003601e19018112612ad557600080fd5b830180356001600160401b03811115612aed57600080fd5b80891b3603851315612afe57600080fd5b8383890152612b12848901828e8501612a17565b998c01999750505093890193505050600101612a6c565b50909998505050505050505050565b600082821015612b4a57612b4a6128f1565b500390565b60008154612b5c81612870565b808552602060018381168015612b795760018114612b8d57612bbb565b60ff19851688840152604088019550612bbb565b866000528260002060005b85811015612bb35781548a8201860152908301908401612b98565b890184019650505b505050505092915050565b61ffff861681526001600160a01b038516602082015260a060408201819052600090612bf490830186612b4f565b606083019490945250608001529392505050565b6000808354612c1681612870565b60018281168015612c2e5760018114612c3f57612c6e565b60ff19841687528287019450612c6e565b8760005260208060002060005b85811015612c655781548a820152908401908201612c4c565b50505082870194505b50929695505050505050565b600060208284031215612c8c57600080fd5b81516121cc8161237c565b60006101c060ff8b16835261ffff808b166020850152808a1660408501525087606084015286516080840152602087015160a0840152855160c0840152602086015160e084015260408601516101008401526060860151610120840152608086015161014084015260a086015161016084015280610180840152612d1d81840186612b4f565b90508281036101a0840152612d32818561233d565b9b9a5050505050505050505050565b600060208284031215612d5357600080fd5b81516121cc81612296565b61ffff8616815260ff8516602082015260a060408201526000612d8460a0830186612b4f565b8281036060840152612d96818661233d565b905082810360808401528351815260208401516020820152604084015160606040830152612dc7606083018261233d565b9998505050505050505050565b60008060408385031215612de757600080fd5b505080516020909101519092909150565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612e30816017850160208801612311565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612e61816028840160208801612311565b01602801949350505050565b6000816000190483118215151615612e8757612e876128f1565b500290565b60008219821115612e9f57612e9f6128f1565b500190565b600081612eb357612eb36128f1565b50600019019056fe985dc4124cfa941a74bba905b08a6009503e7bcf89f033881c4e27ef4b28a543a2646970667358221220a8223c0375e86ba15f297b23afa6d6640f1125ba76a0ca0cc53744d7106a59c364736f6c634300080a0033