0 txs
556 calls
constructor
No constructor.
functions
activeBridge
viewfunction activeBridge() view returns (bytes32)
activeSwap
viewfunction activeSwap() view returns (bytes32)
bridgeParams
viewfunction bridgeParams() view returns (address bridge, bytes params)
bridgeToUse
viewfunction bridgeToUse(bytes32) view returns (string)
cowllector
viewfunction cowllector() view returns (bool sendFunds, address cowllector, uint256 amountCowllectorNeeds)
destinationAddress
viewfunction destinationAddress() view returns (address destination, bytes destinationBytes, string destinationString)
findHash
purefunction findHash(string _variable) pure returns (bytes32)
funds
viewfunction funds() view returns (address sender, bool fromInternalBalance, address recipient, bool toInternalBalance)
lastHarvest
viewfunction lastHarvest() view returns (uint256)
minBridgeAmount
viewfunction minBridgeAmount() view returns (uint256)
native
viewfunction native() view returns (address)
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
stable
viewfunction stable() view returns (address)
swapKind
viewfunction swapKind() view returns (uint8)
swapParams
viewfunction swapParams() view returns (address router, bytes params)
swapToUse
viewfunction swapToUse(bytes32) view returns (string)
bridgeAxelar
nonpayablefunction bridgeAxelar()
bridgeCircle
nonpayablefunction bridgeCircle()
bridgeStargate
nonpayablefunction bridgeStargate()
bridgeSynapse
nonpayablefunction bridgeSynapse()
bridgezkEVM
nonpayablefunction bridgezkEVM()
bridgezkSync
nonpayablefunction bridgezkSync()
harvest
nonpayablefunction harvest()
inCaseTokensGetStuck
nonpayablefunction inCaseTokensGetStuck(address _token, bool _native)
initialize
nonpayablefunction initialize()
renounceOwnership
nonpayablefunction renounceOwnership()
setActiveBridge
nonpayablefunction setActiveBridge(bytes32 _bridgeHash, tuple _params)
setActiveSwap
nonpayablefunction setActiveSwap(bytes32 _swapHash, tuple _params)
setCowllector
nonpayablefunction setCowllector(tuple _cowllector)
setDestinationAddress
nonpayablefunction setDestinationAddress(tuple _destination)
setMinBridgeAmount
nonpayablefunction setMinBridgeAmount(uint256 _amount)
setStable
nonpayablefunction setStable(address _stable, address _native)
setSwapHash
nonpayablefunction setSwapHash(string _name, string _variable)
swapAlgebra
nonpayablefunction swapAlgebra()
swapBalancer
nonpayablefunction swapBalancer()
swapBeefy
nonpayablefunction swapBeefy()
swapSolidly
nonpayablefunction swapSolidly()
swapUniV2
nonpayablefunction swapUniV2()
swapUniV3
nonpayablefunction swapUniV3()
swapUniV3Deadline
nonpayablefunction swapUniV3Deadline()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Bridged
event Bridged(address indexed stable, uint256 stableBridged)
CowllectorRefill
event CowllectorRefill(uint256 amount)
Harvested
event Harvested(uint256 amount)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SetBridge
event SetBridge(bytes32 bridge, (address bridge, bytes params) params)
SetDestinationAddress
event SetDestinationAddress((address destination, bytes destinationBytes, string destinationString) destinationAddress)
SetMinBridgeAmount
event SetMinBridgeAmount(uint256 amount)
SetStable
event SetStable(address oldStable, address newStable)
SetSwap
event SetSwap(bytes32 swap, (address router, bytes params) params)
Upgraded
event Upgraded(address indexed implementation)
errors
BridgeError
error BridgeError()
FailedToSendEther
error FailedToSendEther()
IncorrectRoute
error IncorrectRoute()
NotAuthorized
error NotAuthorized()
NotEnoughEth
error NotEnoughEth()
SwapError
error SwapError()
creation bytecode
0x60a06040523060805234801561001457600080fd5b50608051615f6f6200004d60003960008181610e4c01528181610e9501528181610f6a01528181610faa01526112c30152615f6f6000f3fe60806040526004361061026b5760003560e01c8063873d80ec11610144578063c89f2ce4116100b6578063ee63c1e51161007a578063ee63c1e514610727578063f1a392da1461073c578063f2fde38b14610752578063f3f1a71a14610772578063fe8d1ab014610792578063ff33d21f146107a757600080fd5b8063c89f2ce414610648578063ca325469146106b9578063cc5ea4ef146106dd578063d49b6408146106f2578063d7d66e711461070757600080fd5b8063b54653fb11610108578063b54653fb14610574578063b9f39147146105c8578063bac86af5146105dd578063bce4547a146105fd578063c3c2247514610612578063c4b00c4f1461062857600080fd5b8063873d80ec146104f25780638da5cb5b14610515578063943f8e96146105335780639c345b9f14610549578063a5131aaa1461055f57600080fd5b80635109d8b6116101dd5780636ae40711116101a15780636ae40711146104515780636d0a68911461046657806370c7510714610493578063715018a6146104b3578063748b3c05146104c85780638129fc1c146104dd57600080fd5b80635109d8b6146103bd57806352d1902d146103d2578063530728d5146103f557806364e510a11461040a578063671f6a261461042a57600080fd5b806322be3de11161022f57806322be3de114610315578063284eb663146103355780633659cfe6146103555780634641257d146103755780634f1ef2861461038a5780635066a7471461039d57600080fd5b80630278fb8a14610277578063057d1ae31461028e5780630d1f7833146102a357806311b0b42d146102b85780631610ee40146102f557600080fd5b3661027257005b600080fd5b34801561028357600080fd5b5061028c6107c7565b005b34801561029a57600080fd5b5061028c610959565b3480156102af57600080fd5b5061028c610bba565b3480156102c457600080fd5b5060cd546102d8906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561030157600080fd5b5061028c610310366004614696565b610d9f565b34801561032157600080fd5b5060cc546102d8906001600160a01b031681565b34801561034157600080fd5b5061028c610350366004614712565b610df0565b34801561036157600080fd5b5061028c610370366004614792565b610e42565b34801561038157600080fd5b5061028c610f2a565b61028c610398366004614866565b610f60565b3480156103a957600080fd5b5061028c6103b836600461490a565b611030565b3480156103c957600080fd5b5061028c6110c3565b3480156103de57600080fd5b506103e76112b6565b6040519081526020016102ec565b34801561040157600080fd5b5061028c611369565b34801561041657600080fd5b5061028c61042536600461490a565b611456565b34801561043657600080fd5b5060c9546104449060ff1681565b6040516102ec9190614972565b34801561045d57600080fd5b5061028c6114e4565b34801561047257600080fd5b50610486610481366004614980565b6116ca565b6040516102ec91906149e9565b34801561049f57600080fd5b506103e76104ae3660046149fc565b611764565b3480156104bf57600080fd5b5061028c611798565b3480156104d457600080fd5b5061028c6117ac565b3480156104e957600080fd5b5061028c61191c565b3480156104fe57600080fd5b50610507611a94565b6040516102ec929190614a3d565b34801561052157600080fd5b506033546001600160a01b03166102d8565b34801561053f57600080fd5b506103e760cf5481565b34801561055557600080fd5b506103e760ce5481565b34801561056b57600080fd5b5061028c611b35565b34801561058057600080fd5b5060d05460d1546105a39160ff8116916101009091046001600160a01b03169083565b6040805193151584526001600160a01b039092166020840152908201526060016102ec565b3480156105d457600080fd5b5061028c611ba1565b3480156105e957600080fd5b5061028c6105f8366004614a6f565b611d2d565b34801561060957600080fd5b5061028c611e27565b34801561061e57600080fd5b506103e760d95481565b34801561063457600080fd5b5061028c610643366004614aa8565b612052565b34801561065457600080fd5b5060ca5460cb54610684916001600160a01b038082169260ff600160a01b93849004811693928216929091041684565b6040516102ec94939291906001600160a01b039485168152921515602084015292166040820152901515606082015260800190565b3480156106c557600080fd5b506106ce612067565b6040516102ec93929190614ac4565b3480156106e957600080fd5b5061028c612196565b3480156106fe57600080fd5b50610507612331565b34801561071357600080fd5b5061028c610722366004614980565b61234f565b34801561073357600080fd5b5061028c61238f565b34801561074857600080fd5b506103e760dd5481565b34801561075e57600080fd5b5061028c61076d366004614792565b61251b565b34801561077e57600080fd5b5061048661078d366004614980565b612591565b34801561079e57600080fd5b5061028c6125aa565b3480156107b357600080fd5b5061028c6107c2366004614afa565b612733565b6107cf61280f565b600060d460010180546107e190614b28565b80601f016020809104026020016040519081016040528092919081815260200182805461080d90614b28565b801561085a5780601f1061082f5761010080835404028352916020019161085a565b820191906000526020600020905b81548152906001019060200180831161083d57829003601f168201915b50505050508060200190518101906108729190614bee565b60cd5481519192506001600160a01b031690829060009061089557610895614c22565b60200260200101516001600160a01b0316146108c4576040516376c252e160e11b815260040160405180910390fd5b60cc5481516001600160a01b039091169082906108e390600190614c4e565b815181106108f3576108f3614c22565b60200260200101516001600160a01b031614610922576040516376c252e160e11b815260040160405180910390fd5b600061092d8261282f565b905060006109396128e8565b60d454909150610953906001600160a01b0316838361295b565b50505050565b61096161280f565b600060d2600101805461097390614b28565b80601f016020809104026020016040519081016040528092919081815260200182805461099f90614b28565b80156109ec5780601f106109c1576101008083540402835291602001916109ec565b820191906000526020600020905b8154815290600101906020018083116109cf57829003601f168201915b5050505050806020019051810190610a049190614c61565b6040805160e081018252825161ffff16815260d6546001600160a01b0316602080830191909152633b9aca00828401819052606083015282516000808252818301855260808401919091528351818152808301855260a0840152835191820190935282815260c0820152919250610a7a826129fa565b9050610a898160000151612a81565b610a91612af4565b6000610a9b612b55565b905060d954811115610b84576040805160e081018252855161ffff16815260d6546001600160a01b039081166020808401919091528284018590526000606084018190528451818152808301865260808501528451818152808301865260a085015284519182018552815260c083015260d2548551935163cbef2aa960e01b8152929650169163cbef2aa991610b3990879087903090600401614d4c565b60006040518083038185885af1158015610b57573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052610b809190810190614e1c565b5050505b60cc546040518281526001600160a01b0390911690600080516020615ed38339815191529060200160405180910390a250505050565b610bc261280f565b60008060d46001018054610bd590614b28565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0190614b28565b8015610c4e5780601f10610c2357610100808354040283529160200191610c4e565b820191906000526020600020905b815481529060010190602001808311610c3157829003601f168201915b5050505050806020019051810190610c669190614f03565b60cd5481519294509092506001600160a01b0316908290600090610c8c57610c8c614c22565b60200260200101516001600160a01b031614610cbb576040516376c252e160e11b815260040160405180910390fd5b60cc5481516001600160a01b03909116908290610cda90600190614c4e565b81518110610cea57610cea614c22565b60200260200101516001600160a01b031614610d19576040516376c252e160e11b815260040160405180910390fd5b6000610d236128e8565b90506000610d318483612b86565b60d45460c9546040805160808101825260ca546001600160a01b03808216835260ff600160a01b9283900481161515602085015260cb548083169585019590955291909304811615156060830152949550610d989491909316929116908490879087612d8f565b5050505050565b610da7612ed9565b7f518f47fcfba5d9b707c3387a7fa4301136192d8091a43ea13ae8db7275ab5d3a81604051610dd6919061504f565b60405180910390a18060d6610deb8282615234565b505050565b610df8612ed9565b818160dc60008787604051602001610e1192919061532d565b6040516020818303038152906040528051906020012081526020019081526020016000209182610d9892919061517b565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610e935760405162461bcd60e51b8152600401610e8a90615341565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610edc600080516020615ef3833981519152546001600160a01b031690565b6001600160a01b031614610f025760405162461bcd60e51b8152600401610e8a9061538d565b610f0b81612f33565b60408051600080825260208201909252610f2791839190612f3b565b50565b610f326130a6565b610f3a613131565b610f426131a2565b6000610f4c6128e8565b1115610f5a57610f5a6132db565b4260dd55565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610fa85760405162461bcd60e51b8152600401610e8a90615341565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ff1600080516020615ef3833981519152546001600160a01b031690565b6001600160a01b0316146110175760405162461bcd60e51b8152600401610e8a9061538d565b61102082612f33565b61102c82826001612f3b565b5050565b611038612ed9565b7f25f7dd6fc737add5174192a11292dfd270c1397f9c4f641fb6336a208b5efbed8282604051611069929190615413565b60405180910390a160cd5460d45461108d916001600160a01b03908116911661330b565b60cf8290558060d461109f8282615508565b505060cd5461102c906001600160a01b03166110be6020840184614792565b61339a565b6110cb61280f565b600060d460010180546110dd90614b28565b80601f016020809104026020016040519081016040528092919081815260200182805461110990614b28565b80156111565780601f1061112b57610100808354040283529160200191611156565b820191906000526020600020905b81548152906001019060200180831161113957829003601f168201915b505050505080602001905181019061116e9190615512565b9050600061117b82613427565b60cd5481519192506001600160a01b031690829060009061119e5761119e614c22565b60200260200101516001600160a01b0316146111cd576040516376c252e160e11b815260040160405180910390fd5b60cc5481516001600160a01b039091169082906111ec90600190614c4e565b815181106111fc576111fc614c22565b60200260200101516001600160a01b03161461122b576040516376c252e160e11b815260040160405180910390fd5b60006112356128e8565b60d454604051631e82ecdb60e31b81529192506001600160a01b03169063f41766d89061126f9084906000908890309042906004016155ea565b6000604051808303816000875af115801561128e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610953919081019061567f565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113565760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610e8a565b50600080516020615ef383398151915290565b61137161280f565b611379612af4565b6000611383612b55565b905060d9548111156114235760d25460d65460cc5460405163cd58657960e01b81526000600482018190526001600160a01b0393841660248301526044820186905291831660648201526001608482015260c060a482015260c481019190915291169063cd5865799060e4015b600060405180830381600087803b15801561140a57600080fd5b505af115801561141e573d6000803e3d6000fd5b505050505b60cc546040518281526001600160a01b0390911690600080516020615ed38339815191529060200160405180910390a250565b61145e612ed9565b7f5e355369ceaccb04ff615500f99b96912ce9f237ed35ae521487c19064e2318d828260405161148f929190615413565b60405180910390a160cc5460d2546114b3916001600160a01b03908116911661330b565b60ce8290558060d26114c58282615508565b505060cc5461102c906001600160a01b03166110be6020840184614792565b6114ec61280f565b600060d460010180546114fe90614b28565b80601f016020809104026020016040519081016040528092919081815260200182805461152a90614b28565b80156115775780601f1061154c57610100808354040283529160200191611577565b820191906000526020600020905b81548152906001019060200180831161155a57829003601f168201915b505050505080602001905181019061158f9190614bee565b60cd5481519192506001600160a01b03169082906000906115b2576115b2614c22565b60200260200101516001600160a01b0316146115e1576040516376c252e160e11b815260040160405180910390fd5b60cc5481516001600160a01b0390911690829061160090600190614c4e565b8151811061161057611610614c22565b60200260200101516001600160a01b03161461163f576040516376c252e160e11b815260040160405180910390fd5b60006116496128e8565b60d4546040516338ed173960e01b81529192506001600160a01b0316906338ed173990611683908490600090879030904290600401615753565b6000604051808303816000875af11580156116a2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610deb919081019061567f565b60db60205260009081526040902080546116e390614b28565b80601f016020809104026020016040519081016040528092919081815260200182805461170f90614b28565b801561175c5780601f106117315761010080835404028352916020019161175c565b820191906000526020600020905b81548152906001019060200180831161173f57829003601f168201915b505050505081565b6000828260405160200161177992919061532d565b6040516020818303038152906040528051906020012090505b92915050565b6117a0612ed9565b6117aa6000613545565b565b6117b461280f565b600060d260010180546117c690614b28565b80601f01602080910402602001604051908101604052809291908181526020018280546117f290614b28565b801561183f5780601f106118145761010080835404028352916020019161183f565b820191906000526020600020905b81548152906001019060200180831161182257829003601f168201915b5050505050806020019051810190611857919061578f565b9050611861612af4565b600061186b612b55565b905060d9548111156118e75760d254825160208401516040516326ef699d60e01b81526001600160a01b03909316926326ef699d926118b492909160d89190879060040161581f565b600060405180830381600087803b1580156118ce57600080fd5b505af11580156118e2573d6000803e3d6000fd5b505050505b60cc546040518281526001600160a01b0390911690600080516020615ed3833981519152906020015b60405180910390a25050565b600054610100900460ff161580801561193c5750600054600160ff909116105b806119565750303b158015611956575060005460ff166001145b6119b95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610e8a565b6000805460ff1916600117905580156119dc576000805461ff0019166101001790555b6119e4613597565b6119ec6135c6565b6119f46138ed565b604080516080810182523080825260006020830181905292820181905260609091019190915260ca805460ff60a01b199092166001600160a81b0319928316811790915560cb805490921617905560c9805460ff191690558015610f27576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60d4805460d580546001600160a01b039092169291611ab290614b28565b80601f0160208091040260200160405190810160405280929190818152602001828054611ade90614b28565b8015611b2b5780601f10611b0057610100808354040283529160200191611b2b565b820191906000526020600020905b815481529060010190602001808311611b0e57829003601f168201915b5050505050905082565b611b3d61280f565b611b45612af4565b6000611b4f612b55565b905060d9548111156114235760d25460d65460cc54604051636ce5768960e11b81526001600160a01b03928316600482015290821660248201526044810184905291169063d9caed12906064016113f0565b611ba961280f565b600060d46001018054611bbb90614b28565b80601f0160208091040260200160405190810160405280929190818152602001828054611be790614b28565b8015611c345780601f10611c0957610100808354040283529160200191611c34565b820191906000526020600020905b815481529060010190602001808311611c1757829003601f168201915b5050505050806020019051810190611c4c91906158d5565b90506000611c5982613bf6565b60cd5481519192506001600160a01b0316908290600090611c7c57611c7c614c22565b60200260200101516001600160a01b031614611cab576040516376c252e160e11b815260040160405180910390fd5b60cc5481516001600160a01b03909116908290611cca90600190614c4e565b81518110611cda57611cda614c22565b60200260200101516001600160a01b031614611d09576040516376c252e160e11b815260040160405180910390fd5b6000611d136128e8565b60d454909150610953906001600160a01b0316848361295b565b611d35612ed9565b8015611da6576040514790600090339083908381818185875af1925050503d8060008114611d7f576040519150601f19603f3d011682016040523d82523d6000602084013e611d84565b606091505b505090508061095357604051630dcf35db60e41b815260040160405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015611ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e119190615909565b9050610deb6001600160a01b0384163383613cf9565b611e2f61280f565b600060d46001018054611e4190614b28565b80601f0160208091040260200160405190810160405280929190818152602001828054611e6d90614b28565b8015611eba5780601f10611e8f57610100808354040283529160200191611eba565b820191906000526020600020905b815481529060010190602001808311611e9d57829003601f168201915b5050505050806020019051810190611ed29190614bee565b60cd5481519192506001600160a01b0316908290600090611ef557611ef5614c22565b60200260200101516001600160a01b031614611f24576040516376c252e160e11b815260040160405180910390fd5b60cc5481516001600160a01b03909116908290611f4390600190614c4e565b81518110611f5357611f53614c22565b60200260200101516001600160a01b031614611f82576040516376c252e160e11b815260040160405180910390fd5b6000611f8c6128e8565b60d45483519192506001600160a01b03169063df791e50908490600090611fb557611fb5614c22565b60200260200101518460018651611fcc9190614c4e565b81518110611fdc57611fdc614c22565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260448101849052606401600060405180830381600087803b15801561203657600080fd5b505af115801561204a573d6000803e3d6000fd5b505050505050565b61205a612ed9565b8060d0610deb8282615922565b60d6805460d780546001600160a01b03909216929161208590614b28565b80601f01602080910402602001604051908101604052809291908181526020018280546120b190614b28565b80156120fe5780601f106120d3576101008083540402835291602001916120fe565b820191906000526020600020905b8154815290600101906020018083116120e157829003601f168201915b50505050509080600201805461211390614b28565b80601f016020809104026020016040519081016040528092919081815260200182805461213f90614b28565b801561218c5780601f106121615761010080835404028352916020019161218c565b820191906000526020600020905b81548152906001019060200180831161216f57829003601f168201915b5050505050905083565b61219e61280f565b600060d260010180546121b090614b28565b80601f01602080910402602001604051908101604052809291908181526020018280546121dc90614b28565b80156122295780601f106121fe57610100808354040283529160200191612229565b820191906000526020600020905b81548152906001019060200180831161220c57829003601f168201915b50505050508060200190518101906122419190615991565b905061224b612af4565b6000612255612b55565b905060d9548111156118e75760d25460d6548351606085015160208601516040870151608088015160a08901516001600160a01b0397881697639f3307279716959493929189916000914291836122ae84610e10615a2a565b6040516001600160e01b031960e08f901b1681526001600160a01b039c8d166004820152602481019b909b529a90981660448a015260ff96871660648a0152948616608489015260a488019390935260c487019190915260e4860152821661010485015216610124830152610144820152610164810191909152610184016118b4565b60d2805460d380546001600160a01b039092169291611ab290614b28565b612357612ed9565b6040518181527ff4f47d85dc8207b9d9c6dfd289d4f5008b33df899eda3da90658d75c351e54759060200160405180910390a160d955565b61239761280f565b600060d460010180546123a990614b28565b80601f01602080910402602001604051908101604052809291908181526020018280546123d590614b28565b80156124225780601f106123f757610100808354040283529160200191612422565b820191906000526020600020905b81548152906001019060200180831161240557829003601f168201915b505050505080602001905181019061243a91906158d5565b9050600061244782613bf6565b60cd5481519192506001600160a01b031690829060009061246a5761246a614c22565b60200260200101516001600160a01b031614612499576040516376c252e160e11b815260040160405180910390fd5b60cc5481516001600160a01b039091169082906124b890600190614c4e565b815181106124c8576124c8614c22565b60200260200101516001600160a01b0316146124f7576040516376c252e160e11b815260040160405180910390fd5b60006125016128e8565b60d454909150610953906001600160a01b03168483613d5c565b612523612ed9565b6001600160a01b0381166125885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610e8a565b610f2781613545565b60dc60205260009081526040902080546116e390614b28565b6125b261280f565b600060d260010180546125c490614b28565b80601f01602080910402602001604051908101604052809291908181526020018280546125f090614b28565b801561263d5780601f106126125761010080835404028352916020019161263d565b820191906000526020600020905b81548152906001019060200180831161262057829003601f168201915b50505050508060200190518101906126559190615a3d565b905061265f612af4565b6000612669612b55565b905060d9548111156118e75760d25460d65460cc546040516337e9a82760e11b81526004810185905263ffffffff861660248201526001600160a01b0392831660448201529082166064820152911690636fd3504e906084016020604051808303816000875af11580156126e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127059190615a63565b5060cc546040518281526001600160a01b0390911690600080516020615ed383398151915290602001611910565b61273b612ed9565b60da5460ff166127805760cc80546001600160a01b039384166001600160a01b03199182161790915560cd805492909316911617905560da805460ff19166001179055565b60cc54604080516001600160a01b03928316815291841660208301527f4239efeca0761c0d170bd15a6e85542dbe0376ba0f5f1551b39c6045866ff735910160405180910390a160cc5460d2546127e3916001600160a01b03908116911661330b565b60cc80546001600160a01b0319166001600160a01b0384811691821790925560d25461102c921661339a565b3330146117aa5760405163ea8e4eb560e01b815260040160405180910390fd5b60608160008151811061284457612844614c22565b6020026020010151604051602001612874919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f19818403018152919052905060015b82518110156128e257818382815181106128a5576128a5614c22565b60200260200101516040516020016128be929190615a7e565b604051602081830303815290604052915080806128da90615ab5565b915050612889565b50919050565b60cd546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a08231906024015b602060405180830381865afa158015612932573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129569190615909565b905090565b6040805160a081018252838152306020820152428183015260608101839052600060808201819052915163c04b8d5960e01b81526001600160a01b0386169063c04b8d59906129ae908490600401615ace565b6020604051808303816000875af11580156129cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f19190615909565b95945050505050565b604080518082019091526000808252602082015260d254604051633b6f743b60e01b81526001600160a01b0390911690633b6f743b90612a41908590600090600401615b26565b6040805180830381865afa158015612a5d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117929190615b4a565b6000612a8b6128e8565b905081811061102c5760cd54604051632e1a7d4d60e01b8152600481018490526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b158015612ada57600080fd5b505af1925050508015612aeb575060015b1561102c575050565b60cf54600090815260dc6020526040908190208151600481526024810192839052610f27929091612b2491615b66565b6040519081900390206020820180516001600160e01b03166001600160e01b03199092169190911790523090613da9565b60cc546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401612915565b6060600083516001600160401b03811115612ba357612ba36147af565b604051908082528060200260200182016040528015612c0957816020015b612bf66040518060a0016040528060008019168152602001600081526020016000815260200160008152602001606081525090565b815260200190600190039081612bc15790505b50905060005b8451811015612d875780600003612cd3576040518060a0016040528086600081518110612c3e57612c3e614c22565b602002602001015160000151815260200186600081518110612c6257612c62614c22565b602002602001015160200151815260200186600081518110612c8657612c86614c22565b60200260200101516040015181526020018581526020016040518060200160405280600081525081525082600081518110612cc357612cc3614c22565b6020026020010181905250612d7f565b6040518060a00160405280868381518110612cf057612cf0614c22565b6020026020010151600001518152602001868381518110612d1357612d13614c22565b6020026020010151602001518152602001868381518110612d3657612d36614c22565b60200260200101516040015181526020016000815260200160405180602001604052806000815250815250828281518110612d7357612d73614c22565b60200260200101819052505b600101612c0f565b509392505050565b6060600084516001600160401b03811115612dac57612dac6147af565b604051908082528060200260200182016040528015612dd5578160200160208202803683370190505b50905060005b8551811015612e4f5780600003612e11578382600081518110612e0057612e00614c22565b602002602001018181525050612e47565b60018651612e1f9190614c4e565b8103612e4757600019828281518110612e3a57612e3a614c22565b6020026020010181815250505b600101612ddb565b5060405163945bcec960e01b81526001600160a01b0389169063945bcec990612e86908a908a908a908a9088904290600401615c0c565b6000604051808303816000875af1158015612ea5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612ecd919081019061567f565b98975050505050505050565b6033546001600160a01b031633146117aa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610e8a565b610f27612ed9565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612f6e57610deb83613df4565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612fc8575060408051601f3d908101601f19168201909252612fc591810190615909565b60015b61302b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610e8a565b600080516020615ef3833981519152811461309a5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610e8a565b50610deb838383613e90565b734fed5491693007f0cd49f4614ffc38ab6a04b6196130cd6033546001600160a01b031690565b6001600160a01b0316336001600160a01b0316141580156130f75750336001600160a01b03821614155b8015613113575060d05461010090046001600160a01b03163314155b15610f275760405163ea8e4eb560e01b815260040160405180910390fd5b478015610f275760cd60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004016000604051808303818588803b15801561318857600080fd5b505af19350505050801561319a575060015b15610f275750565b60d05460ff16156117aa5760cd5460d0546040516370a0823160e01b81526101009091046001600160a01b03908116600483015260009216906370a0823190602401602060405180830381865afa158015613201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132259190615909565b60d054613241919061010090046001600160a01b031631615a2a565b60d154909150811015610f275760006132586128e8565b905060008260d06001015461326d9190614c4e565b905081811161327c578061327e565b815b60d05460cd549192506132a3916001600160a01b039081169161010090041683613cf9565b6040518181527feb722ef3dbafc24e43f4627f9b306563a93d546865b49eb1e64fbaffdab73d5c9060200160405180910390a1505050565b60ce54600090815260db6020526040908190208151600481526024810192839052610f27929091612b2491615b66565b604051636eb1769f60e11b81523060048201526001600160a01b0382811660248301526000919084169063dd62ed3e90604401602060405180830381865afa15801561335b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061337f9190615909565b111561102c5761102c6001600160a01b038316826000613eb5565b604051636eb1769f60e11b81523060048201526001600160a01b03828116602483015283169063dd62ed3e90604401602060405180830381865afa1580156133e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061340a9190615909565b60000361102c5761102c6001600160a01b03831682600019613eb5565b60606000825160016134399190615a2a565b6001600160401b03811115613450576134506147af565b604051908082528060200260200182016040528015613479578160200160208202803683370190505b5090508260008151811061348f5761348f614c22565b602002602001015160000151816000815181106134ae576134ae614c22565b60200260200101906001600160a01b031690816001600160a01b03168152505060005b835181101561353e578381815181106134ec576134ec614c22565b602002602001015160200151828260016135069190615a2a565b8151811061351657613516614c22565b6001600160a01b039092166020928302919091019091015261353781615ab5565b90506134d1565b5092915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166135be5760405162461bcd60e51b8152600401610e8a90615d25565b6117aa613fca565b6040518060400160405280600e81526020016d627269646765436972636c65282960901b81525060db600060405160200161361b90602080825260069082015265434952434c4560d01b604082015260600190565b604051602081830303815290604052805190602001208152602001908152602001600020908161364b9190615d70565b506040518060400160405280601081526020016f6272696467655374617267617465282960801b81525060db60006040516020016136a590602080825260089082015267535441524741544560c01b604082015260600190565b60405160208183030381529060405280519060200120815260200190815260200160002090816136d59190615d70565b506040518060400160405280600e81526020016d6272696467654178656c6172282960901b81525060db600060405160200161372b9060208082526006908201526520ac22a620a960d11b604082015260600190565b604051602081830303815290604052805190602001208152602001908152602001600020908161375b9190615d70565b506040518060400160405280600f81526020016e62726964676553796e61707365282960881b81525060db60006040516020016137b39060208082526007908201526653594e4150534560c81b604082015260600190565b60405160208183030381529060405280519060200120815260200190815260200160002090816137e39190615d70565b506040518060400160405280600d81526020016c6272696467657a6b45564d282960981b81525060db6000604051602001613837906020808252600590820152647a6b45564d60d81b604082015260600190565b60405160208183030381529060405280519060200120815260200190815260200160002090816138679190615d70565b506040518060400160405280600e81526020016d6272696467657a6b53796e63282960901b81525060db60006040516020016138bd906020808252600690820152657a6b53594e4360d01b604082015260600190565b6040516020818303038152906040528051906020012081526020019081526020016000209081610f279190615d70565b6040518060400160405280600b81526020016a73776170556e695632282960a81b81525060dc6000604051602001613943906020808252600a90820152692aa724a9aba0a82fab1960b11b604082015260600190565b60405160208183030381529060405280519060200120815260200190815260200160002090816139739190615d70565b506040518060400160405280600d81526020016c73776170536f6c69646c79282960981b81525060dc60006040516020016139c990602080825260079082015266534f4c49444c5960c81b604082015260600190565b60405160208183030381529060405280519060200120815260200190815260200160002090816139f99190615d70565b506040518060400160405280600b81526020016a73776170556e695633282960a81b81525060dc6000604051602001613a50906020808252600a9082015269554e49535741505f563360b01b604082015260600190565b6040516020818303038152906040528051906020012081526020019081526020016000209081613a809190615d70565b506040518060400160405280601381526020017273776170556e695633446561646c696e65282960681b81525060dc6000604051602001613ae890602080825260139082015272554e49535741505f56335f444541444c494e4560681b604082015260600190565b6040516020818303038152906040528051906020012081526020019081526020016000209081613b189190615d70565b506040518060400160405280600d81526020016c73776170416c6765627261282960981b81525060dc6000604051602001613b6e90602080825260079082015266414c474542524160c81b604082015260600190565b6040516020818303038152906040528051906020012081526020019081526020016000209081613b9e9190615d70565b506040518060400160405280600e81526020016d7377617042616c616e636572282960901b81525060dc60006040516020016138bd906020808252600890820152672120a620a721a2a960c11b604082015260600190565b60606000613c0383613ffa565b90506000613c12826001615a2a565b6001600160401b03811115613c2957613c296147af565b604051908082528060200260200182016040528015613c52578160200160208202803683370190505b50905060005b82811015612d8757600080613c6c87614020565b509150915081848481518110613c8457613c84614c22565b6001600160a01b03909216602092830291909101909101528084613ca9856001615a2a565b81518110613cb957613cb9614c22565b60200260200101906001600160a01b031690816001600160a01b031681525050613ce28761405c565b965050508080613cf190615ab5565b915050613c58565b6040516001600160a01b038316602482015260448101829052610deb90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261408d565b60408051608081018252838152306020820152808201839052600060608201819052915163b858183f60e01b81526001600160a01b0386169063b858183f906129ae908490600401615e29565b6060613ded838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250614162565b9392505050565b6001600160a01b0381163b613e615760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610e8a565b600080516020615ef383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b613e998361423f565b600082511180613ea65750805b15610deb57610953838361427f565b801580613f2f5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015613f09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f2d9190615909565b155b613f9a5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610e8a565b6040516001600160a01b038316602482015260448101829052610deb90849063095ea7b360e01b90606401613d25565b600054610100900460ff16613ff15760405162461bcd60e51b8152600401610e8a90615d25565b6117aa33613545565b600061400860036014615a2a565b601483516140169190614c4e565b6117929190615e77565b6000808061402e84826142a4565b925061403b846014614358565b905061405361404c60036014615a2a565b85906142a4565b91509193909250565b606061179261406d60036014615a2a565b61407960036014615a2a565b84516140859190614c4e565b849190614403565b60006140e2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661455a9092919063ffffffff16565b90508051600014806141035750808060200190518101906141039190615e99565b610deb5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610e8a565b6060824710156141c35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610e8a565b600080866001600160a01b031685876040516141df9190615eb6565b60006040518083038185875af1925050503d806000811461421c576040519150601f19603f3d011682016040523d82523d6000602084013e614221565b606091505b509150915061423287838387614569565b925050505b949350505050565b61424881613df4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060613ded8383604051806060016040528060278152602001615f13602791396145e2565b6000816142b2816014615a2a565b10156142f55760405162461bcd60e51b8152602060048201526012602482015271746f416464726573735f6f766572666c6f7760701b6044820152606401610e8a565b614300826014615a2a565b835110156143485760405162461bcd60e51b8152602060048201526015602482015274746f416464726573735f6f75744f66426f756e647360581b6044820152606401610e8a565b500160200151600160601b900490565b600081614366816003615a2a565b10156143a85760405162461bcd60e51b8152602060048201526011602482015270746f55696e7432345f6f766572666c6f7760781b6044820152606401610e8a565b6143b3826003615a2a565b835110156143fa5760405162461bcd60e51b8152602060048201526014602482015273746f55696e7432345f6f75744f66426f756e647360601b6044820152606401610e8a565b50016003015190565b60608161441181601f615a2a565b10156144505760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610e8a565b8261445b8382615a2a565b101561449a5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610e8a565b6144a48284615a2a565b845110156144e85760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610e8a565b6060821580156145075760405191506000825260208201604052614551565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015614540578051835260209283019201614528565b5050858452601f01601f1916604052505b50949350505050565b60606142378484600085614162565b606083156145d85782516000036145d1576001600160a01b0385163b6145d15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610e8a565b5081614237565b614237838361465a565b6060600080856001600160a01b0316856040516145ff9190615eb6565b600060405180830381855af49150503d806000811461463a576040519150601f19603f3d011682016040523d82523d6000602084013e61463f565b606091505b509150915061465086838387614569565b9695505050505050565b81511561466a5781518083602001fd5b8060405162461bcd60e51b8152600401610e8a91906149e9565b6000606082840312156128e257600080fd5b6000602082840312156146a857600080fd5b81356001600160401b038111156146be57600080fd5b61423784828501614684565b60008083601f8401126146dc57600080fd5b5081356001600160401b038111156146f357600080fd5b60208301915083602082850101111561470b57600080fd5b9250929050565b6000806000806040858703121561472857600080fd5b84356001600160401b038082111561473f57600080fd5b61474b888389016146ca565b9096509450602087013591508082111561476457600080fd5b50614771878288016146ca565b95989497509550505050565b6001600160a01b0381168114610f2757600080fd5b6000602082840312156147a457600080fd5b8135613ded8161477d565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156147e7576147e76147af565b60405290565b604051606081016001600160401b03811182821017156147e7576147e76147af565b604051601f8201601f191681016001600160401b0381118282101715614837576148376147af565b604052919050565b60006001600160401b03821115614858576148586147af565b50601f01601f191660200190565b6000806040838503121561487957600080fd5b82356148848161477d565b915060208301356001600160401b0381111561489f57600080fd5b8301601f810185136148b057600080fd5b80356148c36148be8261483f565b61480f565b8181528660208385010111156148d857600080fd5b816020840160208301376000602083830101528093505050509250929050565b6000604082840312156128e257600080fd5b6000806040838503121561491d57600080fd5b8235915060208301356001600160401b0381111561493a57600080fd5b614946858286016148f8565b9150509250929050565b6002811061496e57634e487b7160e01b600052602160045260246000fd5b9052565b602081016117928284614950565b60006020828403121561499257600080fd5b5035919050565b60005b838110156149b457818101518382015260200161499c565b50506000910152565b600081518084526149d5816020860160208601614999565b601f01601f19169290920160200192915050565b602081526000613ded60208301846149bd565b60008060208385031215614a0f57600080fd5b82356001600160401b03811115614a2557600080fd5b614a31858286016146ca565b90969095509350505050565b6001600160a01b0383168152604060208201819052600090614237908301846149bd565b8015158114610f2757600080fd5b60008060408385031215614a8257600080fd5b8235614a8d8161477d565b91506020830135614a9d81614a61565b809150509250929050565b600060608284031215614aba57600080fd5b613ded8383614684565b6001600160a01b0384168152606060208201819052600090614ae8908301856149bd565b828103604084015261465081856149bd565b60008060408385031215614b0d57600080fd5b8235614b188161477d565b91506020830135614a9d8161477d565b600181811c90821680614b3c57607f821691505b6020821081036128e257634e487b7160e01b600052602260045260246000fd5b60006001600160401b03821115614b7557614b756147af565b5060051b60200190565b600082601f830112614b9057600080fd5b81516020614ba06148be83614b5c565b82815260059290921b84018101918181019086841115614bbf57600080fd5b8286015b84811015614be3578051614bd68161477d565b8352918301918301614bc3565b509695505050505050565b600060208284031215614c0057600080fd5b81516001600160401b03811115614c1657600080fd5b61423784828501614b7f565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561179257611792614c38565b600060808284031215614c7357600080fd5b604051608081018181106001600160401b0382111715614c9557614c956147af565b604052825161ffff81168114614caa57600080fd5b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b63ffffffff81511682526020810151602083015260408101516040830152606081015160608301526000608082015160e06080850152614d1960e08501826149bd565b905060a083015184820360a0860152614d3282826149bd565b91505060c083015184820360c08601526129f182826149bd565b608081526000614d5f6080830186614cd6565b8451602084810191909152909401516040830152506001600160a01b0391909116606090910152919050565b80516001600160401b0381168114614da257600080fd5b919050565b600060408284031215614db957600080fd5b614dc16147c5565b9050815181526020820151602082015292915050565b600082601f830112614de857600080fd5b8151614df66148be8261483f565b818152846020838601011115614e0b57600080fd5b614237826020830160208701614999565b600080600083850360e0811215614e3257600080fd5b6080811215614e4057600080fd5b50614e496147ed565b84518152614e5960208601614d8b565b6020820152614e6b8660408701614da7565b60408201529250614e7f8560808601614da7565b915060c08401516001600160401b0380821115614e9b57600080fd5b9085019060408288031215614eaf57600080fd5b614eb76147c5565b825168ffffffffffffffffff81168114614ed057600080fd5b8152602083015182811115614ee457600080fd5b614ef089828601614dd7565b6020830152508093505050509250925092565b6000806040808486031215614f1757600080fd5b83516001600160401b0380821115614f2e57600080fd5b818601915086601f830112614f4257600080fd5b81516020614f526148be83614b5c565b8281526060928302850182019282820191908b851115614f7157600080fd5b958301955b84871015614fb95780878d031215614f8e5760008081fd5b614f966147ed565b875181528488015185820152888801518982015283529586019591830191614f76565b5091890151919750909450505080831115614fd357600080fd5b505061494685828601614b7f565b6000808335601e19843603018112614ff857600080fd5b83016020810192503590506001600160401b0381111561501757600080fd5b80360382131561470b57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600082356150608161477d565b6001600160a01b031660208381019190915261507e90840184614fe1565b60606040850152615093608085018284615026565b9150506150a36040850185614fe1565b848303601f19016060860152614650838284615026565b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000808335601e198436030181126150f157600080fd5b8301803591506001600160401b0382111561510b57600080fd5b60200191503681900382131561470b57600080fd5b601f821115610deb57600081815260208120601f850160051c810160208610156151475750805b601f850160051c820191505b8181101561204a57828155600101615153565b600019600383901b1c191660019190911b1790565b6001600160401b03831115615192576151926147af565b6151a6836151a08354614b28565b83615120565b6000601f8411600181146151d457600085156151c25750838201355b6151cc8682615166565b845550610d98565b600083815260209020601f19861690835b8281101561520557868501358255602094850194600190920191016151e5565b50868210156152225760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b813561523f8161477d565b61524981836150ba565b506001808201602061525d818601866150da565b6001600160401b03811115615274576152746147af565b615288816152828654614b28565b86615120565b6000601f8211600181146152b657600083156152a45750838201355b6152ae8482615166565b87555061530b565b600086815260209020601f19841690835b828110156152e457868501358255938701939089019087016152c7565b50848210156153015760001960f88660031b161c19848701351681555b50508683881b0186555b5050505050505061531f60408301836150da565b61095381836002860161517b565b602081526000614237602083018486615026565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600081356153e68161477d565b6001600160a01b031683526153fe6020830183614fe1565b604060208601526129f1604086018284615026565b82815260406020820152600061423760408301846153d9565b81356154378161477d565b61544181836150ba565b5060018082016020615455818601866150da565b6001600160401b0381111561546c5761546c6147af565b61547a816152828654614b28565b6000601f8211600181146154a857600083156154965750838201355b6154a08482615166565b8755506154fd565b600086815260209020601f19841690835b828110156154d657868501358255938701939089019087016154b9565b50848210156154f35760001960f88660031b161c19848701351681555b50508683881b0186555b505050505050505050565b61102c828261542c565b6000602080838503121561552557600080fd5b82516001600160401b0381111561553b57600080fd5b8301601f8101851361554c57600080fd5b805161555a6148be82614b5c565b8181526060918202830184019184820191908884111561557957600080fd5b938501935b838510156155de5780858a0312156155965760008081fd5b61559e6147ed565b85516155a98161477d565b8152858701516155b88161477d565b818801526040868101516155cb81614a61565b908201528352938401939185019161557e565b50979650505050505050565b600060a0820187835260208781850152604060a08186015282885180855260c087019150838a01945060005b8181101561565357855180516001600160a01b03908116855286820151168685015284015115158484015294840194606090920191600101615616565b50506001600160a01b0388166060870152935061566f92505050565b8260808301529695505050505050565b6000602080838503121561569257600080fd5b82516001600160401b038111156156a857600080fd5b8301601f810185136156b957600080fd5b80516156c76148be82614b5c565b81815260059190911b820183019083810190878311156156e657600080fd5b928401925b82841015615704578351825292840192908401906156eb565b979650505050505050565b600081518084526020808501945080840160005b838110156157485781516001600160a01b031687529582019590820190600101615723565b509495945050505050565b85815284602082015260a06040820152600061577260a083018661570f565b6001600160a01b0394909416606083015250608001529392505050565b6000602082840312156157a157600080fd5b81516001600160401b03808211156157b857600080fd5b90830190604082860312156157cc57600080fd5b6157d46147c5565b8251828111156157e357600080fd5b6157ef87828601614dd7565b82525060208301518281111561580457600080fd5b61581087828601614dd7565b60208301525095945050505050565b60808152600061583260808301876149bd565b6020838203818501526000875461584881614b28565b80855260018281168015615863576001811461587d576158ab565b60ff1984168787015282151560051b8701860194506158ab565b8b6000528560002060005b848110156158a3578154898201890152908301908701615888565b880187019550505b5050505084810360408601526158c181886149bd565b935050505082606083015295945050505050565b6000602082840312156158e757600080fd5b81516001600160401b038111156158fd57600080fd5b61423784828501614dd7565b60006020828403121561591b57600080fd5b5051919050565b813561592d81614a61565b815460ff19811691151560ff169182178355602084013561594d8161477d565b6001600160a81b03199190911690911760089190911b610100600160a81b03161781556040919091013560019190910155565b805160ff81168114614da257600080fd5b600060c082840312156159a357600080fd5b60405160c081018181106001600160401b03821117156159c5576159c56147af565b604052825181526159d860208401615980565b60208201526159e960408401615980565b604082015260608301516159fc8161477d565b6060820152615a0d60808401615980565b6080820152615a1e60a08401615980565b60a08201529392505050565b8082018082111561179257611792614c38565b600060208284031215615a4f57600080fd5b815163ffffffff81168114613ded57600080fd5b600060208284031215615a7557600080fd5b613ded82614d8b565b60008351615a90818460208801614999565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b600060018201615ac757615ac7614c38565b5060010190565b602081526000825160a06020840152615aea60c08401826149bd565b905060018060a01b0360208501511660408401526040840151606084015260608401516080840152608084015160a08401528091505092915050565b604081526000615b396040830185614cd6565b905082151560208301529392505050565b600060408284031215615b5c57600080fd5b613ded8383614da7565b6000808354615b7481614b28565b60018281168015615b8c5760018114615ba157615bd0565b60ff1984168752821515830287019450615bd0565b8760005260208060002060005b85811015615bc75781548a820152908401908201615bae565b50505082870194505b50929695505050505050565b600081518084526020808501945080840160005b8381101561574857815187529582019590820190600101615bf0565b6000610120808301615c1e848b614950565b60208481019290925288519081905261014080850192600583901b8601909101918a820160005b82811015615ca85787850361013f190186528151805186528481015185870152604080820151908701526060808201519087015260809081015160a091870182905290615c94818801836149bd565b978601979650505090830190600101615c45565b505050508381036040850152615cbe818961570f565b915050615cfe606084018780516001600160a01b039081168352602080830151151590840152604080830151909116908301526060908101511515910152565b82810360e0840152615d108186615bdc565b91505082610100830152979650505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b81516001600160401b03811115615d8957615d896147af565b615d9d81615d978454614b28565b84615120565b602080601f831160018114615dcc5760008415615dba5750858301515b615dc48582615166565b86555061204a565b600085815260208120601f198616915b82811015615dfb57888601518255948401946001909101908401615ddc565b5085821015615e195787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825160806020840152615e4560a08401826149bd565b905060018060a01b03602085015116604084015260408401516060840152606084015160808401528091505092915050565b600082615e9457634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215615eab57600080fd5b8151613ded81614a61565b60008251615ec8818460208701614999565b919091019291505056fe48b87fc02925b37a6aefac60c14fa9d8e9988d7dfadf262d4bd845872ca40730360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209d3154a5ff01ffa587e844e85a2b2c3df6b6f39fe8fcc515e813d95d7924d42764736f6c63430008130033