0 txs
54 calls
constructor
No constructor.
functions
borrower
viewfunction borrower() view returns (address _borrower)
checkFlashLock
viewfunction checkFlashLock(address _owner) view returns (bool _isLocked)
CHECKPOINT_BUFFER
viewfunction CHECKPOINT_BUFFER() view returns (uint256)
collFloor
viewfunction collFloor() view returns (uint256)
currencyOS
viewfunction currencyOS() view returns (address _currencyOS)
depositor
viewfunction depositor() view returns (address _depositor)
feePool
viewfunction feePool() view returns (address)
getDeps
viewfunction getDeps() view returns (address[10])
getImplementation
viewfunction getImplementation() view returns (address)
getIndividualStates
viewfunction getIndividualStates(address owner) view returns (uint256 coll, uint256 debt, bool isCreated, tuple lock)
getPledge
viewfunction getPledge(address _owner) view returns (tuple)
getStates
viewfunction getStates() view returns (uint256, uint256, uint8, uint8, uint8, uint8)
getTotalDebt
viewfunction getTotalDebt() view returns (uint256)
governance
viewfunction governance() view returns (address)
GRR
viewfunction GRR() view returns (uint8)
maxRedeemableCount
viewfunction maxRedeemableCount() view returns (uint256)
MCR
viewfunction MCR() view returns (uint8)
paused
viewfunction paused() view returns (bool)
pendingGovernance
viewfunction pendingGovernance() view returns (address)
permitDeps
viewfunction permitDeps(address _sender) view returns (bool)
pool
viewfunction pool() view returns (address _pool)
priceFeed
viewfunction priceFeed() view returns (address)
priorityRegistry
viewfunction priorityRegistry() view returns (address _priorityRegistry)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
redeemer
viewfunction redeemer() view returns (address _redeemer)
repayer
viewfunction repayer() view returns (address _repayer)
RRR
viewfunction RRR() view returns (uint8)
scoreRegistry
viewfunction scoreRegistry() view returns (address _scoreRegistry)
SRR
viewfunction SRR() view returns (uint8)
sweeper
viewfunction sweeper() view returns (address _sweeper)
tester
viewfunction tester() view returns (address)
withdrawer
viewfunction withdrawer() view returns (address _withdrawer)
yamato
viewfunction yamato() view returns (address)
acceptGovernance
nonpayablefunction acceptGovernance()
borrow
nonpayablefunction borrow(uint256 borrowAmountInCurrency)
deposit
payablefunction deposit() payable
initialize
nonpayablefunction initialize(address _currencyOS)
redeem
nonpayablefunction redeem(uint256 maxRedemptionCurrencyAmount, bool isCoreRedemption)
repay
nonpayablefunction repay(uint256 currencyAmount)
revokeGovernance
nonpayablefunction revokeGovernance()
revokeTester
nonpayablefunction revokeTester()
setDeps
nonpayablefunction setDeps(address _yamatoDepositor, address _yamatoBorrower, address _yamatoRepayer, address _yamatoWithdrawer, address _yamatoRedeemer, address _yamatoSweeper, address _pool, address _priorityRegistry)
setFlashLock
nonpayablefunction setFlashLock(address _owner)
setGovernance
nonpayablefunction setGovernance(address _newGoverner)
setPledge
nonpayablefunction setPledge(address _owner, tuple _p)
setPledges
nonpayablefunction setPledges(tuple[] _pledges)
setPriorityRegistry
nonpayablefunction setPriorityRegistry(address _priorityRegistry)
setScoreRegistry
nonpayablefunction setScoreRegistry(address _scoreRegistry)
setTotalColl
nonpayablefunction setTotalColl(uint256 _totalColl)
setTotalDebt
nonpayablefunction setTotalDebt(uint256 _totalDebt)
sweep
nonpayablefunction sweep()
toggle
nonpayablefunction toggle()
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdraw
nonpayablefunction withdraw(uint256 ethAmount)
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Borrowed
event Borrowed(address indexed sender, uint256 currencyAmount, uint256 fee)
Deposited
event Deposited(address indexed sender, uint256 ethAmount)
Initialized
event Initialized(uint8 version)
NewPendingGovernance
event NewPendingGovernance(address _sender)
Paused
event Paused(address account)
Redeemed
event Redeemed(address indexed sender, uint256 currencyAmount, uint256 ethAmount, address[] pledgesOwner)
RedeemedMeta
event RedeemedMeta(address indexed sender, uint256 price, bool isCoreRedemption, uint256 gasCompensationAmount)
Repaid
event Repaid(address indexed sender, uint256 currencyAmount)
RevokeGovernance
event RevokeGovernance(address _sender)
Swept
event Swept(address indexed sender, uint256 currencyAmount, uint256 gasCompensationAmount, address[] pledgesOwner)
Unpaused
event Unpaused(address account)
UpdateGovernance
event UpdateGovernance(address _sender)
Upgraded
event Upgraded(address indexed implementation)
Withdrawn
event Withdrawn(address indexed sender, uint256 ethAmount)
errors
No errors.
creation bytecode
0x60a06040523060601b60805234801561001757600080fd5b5060805160601c6139f961005260003960008181610ed501528181610f5a0152818161120c01528181611291015261137b01526139f96000f3fe6080604052600436106103605760003560e01c80637df1f1b9116101c6578063be4b9820116100f7578063d65a06b011610095578063e12cd4f61161006f578063e12cd4f61461094f578063e2a60f0d1461096f578063f27e939d1461098f578063f39c38a0146109b157600080fd5b8063d65a06b0146108a2578063d8ab8274146108c2578063d9a1e1e91461090857600080fd5b8063c7c4ff46116100d1578063c7c4ff4614610850578063cdc1842414610865578063cf5a42601461087a578063d0e30db01461089a57600080fd5b8063be4b9820146107fb578063c4d66de814610810578063c5ebeaec1461083057600080fd5b8063925fbba611610164578063ab033ea91161013e578063ab033ea914610791578063ae2e933b146107b1578063aed40bdb146107c6578063b1ddc24e146107e657600080fd5b8063925fbba61461073c578063aa558d2e1461075c578063aaf10f421461077c57600080fd5b806385450bf7116101a057806385450bf71461068557806390769e0e146106a55780639189a59e14610712578063918e16591461072757600080fd5b80637df1f1b9146106305780638308abd41461064557806384ce47091461066557600080fd5b8063371fd8e6116102a05780635c975abb1161023e5780636f2c155b116102185780636f2c155b146105dc578063741bef1a146105f15780637651a6ad14610606578063794e57241461061b57600080fd5b80635c975abb146105855780635e4f6054146105a95780635eb6ee8e146105bc57600080fd5b80634438e9d31161027a5780634438e9d3146105285780634f1ef2861461053d57806352d1902d146105505780635aa6e6751461056557600080fd5b8063371fd8e6146104de5780633eb8104a146104fe57806340a3d2461461051357600080fd5b8063238efcbc1161030d5780633436ec80116102e75780633436ec801461047e57806334ce998a1461049357806335faa416146104a95780633659cfe6146104be57600080fd5b8063238efcbc146104345780632ba29d38146104495780632e1a7d4d1461045e57600080fd5b8063196e07291161033e578063196e0729146103e357806319eb292c146103f85780631c7a75451461040d57600080fd5b8063015a2c3a146103655780630167c07c1461039457806316f0115b146103b6575b600080fd5b34801561037157600080fd5b5061038167016345785d8a000081565b6040519081526020015b60405180910390f35b3480156103a057600080fd5b506103b46103af366004613363565b6109d1565b005b3480156103c257600080fd5b506103cb610ae8565b6040516001600160a01b03909116815260200161038b565b3480156103ef57600080fd5b506103cb610b3c565b34801561040457600080fd5b506103cb610b85565b34801561041957600080fd5b50610422600181565b60405160ff909116815260200161038b565b34801561044057600080fd5b506103b4610bce565b34801561045557600080fd5b506103cb610ca5565b34801561046a57600080fd5b506103b4610479366004613664565b610cee565b34801561048a57600080fd5b50610381603781565b34801561049f57600080fd5b5061010054610381565b3480156104b557600080fd5b506103b4610dbb565b3480156104ca57600080fd5b506103b46104d9366004613363565b610eca565b3480156104ea57600080fd5b506103b46104f9366004613664565b611043565b34801561050a57600080fd5b506103cb6110fe565b34801561051f57600080fd5b506103b4611147565b34801561053457600080fd5b506103cb6111b8565b6103b461054b366004613443565b611201565b34801561055c57600080fd5b5061038161136e565b34801561057157600080fd5b506065546103cb906001600160a01b031681565b34801561059157600080fd5b5060cd5460ff165b604051901515815260200161038b565b3480156105b557600080fd5b50306103cb565b3480156105c857600080fd5b506103b46105d7366004613363565b611433565b3480156105e857600080fd5b506103b46114f0565b3480156105fd57600080fd5b506103cb611558565b34801561061257600080fd5b50610422601481565b34801561062757600080fd5b50610422608281565b34801561063c57600080fd5b506103cb6115d7565b34801561065157600080fd5b506067546103cb906001600160a01b031681565b34801561067157600080fd5b50610599610680366004613363565b611620565b34801561069157600080fd5b506103b46106a0366004613664565b611697565b3480156106b157600080fd5b506106c56106c0366004613363565b6116f1565b60405161038b9190600060a08201905082518252602083015160208301526040830151151560408301526001600160a01b0360608401511660608301526080830151608083015292915050565b34801561071e57600080fd5b506103cb611791565b34801561073357600080fd5b50610422605081565b34801561074857600080fd5b506103b461075736600461339b565b6117da565b34801561076857600080fd5b506103b46107773660046134e5565b611b3a565b34801561078857600080fd5b506103cb611cb3565b34801561079d57600080fd5b506103b46107ac366004613363565b611ce6565b3480156107bd57600080fd5b506103cb611d90565b3480156107d257600080fd5b506103b46107e136600461351a565b611dd2565b3480156107f257600080fd5b506103b4611e96565b34801561080757600080fd5b50610381603281565b34801561081c57600080fd5b506103b461082b366004613363565b611f2c565b34801561083c57600080fd5b506103b461084b366004613664565b6120c1565b34801561085c57600080fd5b506103cb6121b0565b34801561087157600080fd5b506103cb6121f9565b34801561088657600080fd5b506103b4610895366004613664565b612242565b6103b461229d565b3480156108ae57600080fd5b506103b46108bd36600461367c565b61236b565b3480156108ce57600080fd5b5060ff54610100546040805192835260208301919091526082908201526050606082015260146080820152600160a082015260c00161038b565b34801561091457600080fd5b50610928610923366004613363565b6124f3565b6040805194855260208501939093529015159183019190915251606082015260800161038b565b34801561095b57600080fd5b5061059961096a366004613363565b612594565b34801561097b57600080fd5b506103b461098a366004613363565b61261d565b34801561099b57600080fd5b506109a46126bb565b60405161038b9190613708565b3480156109bd57600080fd5b506066546103cb906001600160a01b031681565b6109da33611620565b610a2b5760405162461bcd60e51b815260206004820152601c60248201527f596f7520617265206e6f742059616d61746f20636f6e74726163742e0000000060448201526064015b60405180910390fd5b6001600160a01b0381166000908152610102602052604090208054431015610ae25760405162461bcd60e51b8152602060048201526044602482018190527f466c6173684c6f636b2e6c6f636b6564426c6f636b4865696768742063616e27908201527f74206265206d6f7265207468616e2063757272656e637420626c6f636b68656960648201527f6768742e00000000000000000000000000000000000000000000000000000000608482015260a401610a22565b43905550565b6000806040518060400160405280600981526020016819195c1ccb941bdbdb60ba1b815250604051602001610b1d9190613743565b60408051601f1981840301815291905280516020909101205492915050565b6000806040518060400160405280601581526020017f646570732e5072696f7269747952656769737472790000000000000000000000815250604051602001610b1d9190613743565b6000806040518060400160405280600f81526020017f646570732e43757272656e63794f530000000000000000000000000000000000815250604051602001610b1d9190613743565b6066546001600160a01b03163314610c4e5760405162461bcd60e51b815260206004820152602160248201527f596f7520617265206e6f74207468652070656e64696e6720676f7665726e657260448201527f2e000000000000000000000000000000000000000000000000000000000000006064820152608401610a22565b606654606580546001600160a01b0319166001600160a01b0390921691821790556040519081527f8d55d160c0009eb3d739442df0a3ca089ed64378bfac017e7ddad463f9815b87906020015b60405180910390a1565b6000806040518060400160405280601381526020017f646570732e59616d61746f52656465656d657200000000000000000000000000815250604051602001610b1d9190613743565b610cf661279e565b610cfe6121f9565b6040517fa7b129ce000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b03919091169063a7b129ce90604401600060405180830381600087803b158015610d6157600080fd5b505af1158015610d75573d6000803e3d6000fd5b50506040518381523392507f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5915060200160405180910390a2610db86001606955565b50565b610dc361279e565b610dcb6127ff565b6000806000610dd8611791565b6040517f495057340000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b039190911690634950573490602401600060405180830381600087803b158015610e3457600080fd5b505af1158015610e48573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e70919081019061369e565b925092509250336001600160a01b03167f2ce8a681369de77a5a62a016256f711719912db2558c032551ddd80eb06bdd94848484604051610eb39392919061381c565b60405180910390a2505050610ec86001606955565b565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610f585760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610a22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fb37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461101e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610a22565b61102781612852565b60408051600080825260208201909252610db8918391906128a8565b61104b6111b8565b6040517f497620e7000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b03919091169063497620e790604401600060405180830381600087803b1580156110ae57600080fd5b505af11580156110c2573d6000803e3d6000fd5b50506040518381523392507f0516911bcc3a0a7412a44601057c0a0a1ec628bde049a84284bc428866534488915060200160405180910390a250565b6000806040518060400160405280601281526020017f646570732e53636f726552656769737472790000000000000000000000000000815250604051602001610b1d9190613743565b6065546001600160a01b0316331461119d5760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b6044820152606401610a22565b60cd5460ff16156111b057610ec8612a57565b610ec8612aa4565b6000806040518060400160405280601281526020017f646570732e59616d61746f526570617965720000000000000000000000000000815250604051602001610b1d9190613743565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561128f5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610a22565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166112ea7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146113555760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610a22565b61135e82612852565b61136a828260016128a8565b5050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461140e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610a22565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6065546001600160a01b031633146114895760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b6044820152606401610a22565b60006040518060400160405280601281526020017f646570732e53636f7265526567697374727900000000000000000000000000008152506040516020016114d19190613743565b6040516020818303038152906040528051906020012090508181555050565b6065546001600160a01b031633146115465760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b6044820152606401610a22565b606780546001600160a01b0319169055565b6000611562610b85565b6001600160a01b031663741bef1a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561159a57600080fd5b505afa1580156115ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d2919061337f565b905090565b6000806040518060400160405280601381526020017f646570732e59616d61746f426f72726f77657200000000000000000000000000815250604051602001610b1d9190613743565b600080600061162d6126bb565b905060005b600a81101561168e578181600a811061165b57634e487b7160e01b600052603260045260246000fd5b60200201516001600160a01b0316856001600160a01b0316141561167e57600192505b6116878161394a565b9050611632565b50909392505050565b6116a033611620565b6116ec5760405162461bcd60e51b815260206004820152601c60248201527f596f7520617265206e6f742059616d61746f20636f6e74726163742e000000006044820152606401610a22565b60ff55565b61172e6040518060a00160405280600081526020016000815260200160001515815260200160006001600160a01b03168152602001600081525090565b506001600160a01b0390811660009081526101016020908152604091829020825160a08101845281548152600182015492810192909252600281015460ff8116151593830193909352610100909204909216606083015260030154608082015290565b6000806040518060400160405280601281526020017f646570732e59616d61746f537765657065720000000000000000000000000000815250604051602001610b1d9190613743565b6065546001600160a01b031633146118305760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b6044820152606401610a22565b60006040518060400160405280601481526020017f646570732e59616d61746f4465706f7369746f720000000000000000000000008152506040516020016118789190613743565b60405160208183030381529060405280519060200120905060006040518060400160405280601381526020017f646570732e59616d61746f426f72726f776572000000000000000000000000008152506040516020016118d89190613743565b60405160208183030381529060405280519060200120905060006040518060400160405280601281526020017f646570732e59616d61746f5265706179657200000000000000000000000000008152506040516020016119389190613743565b60405160208183030381529060405280519060200120905060006040518060400160405280601581526020017f646570732e59616d61746f5769746864726177657200000000000000000000008152506040516020016119989190613743565b60405160208183030381529060405280519060200120905060006040518060400160405280601381526020017f646570732e59616d61746f52656465656d6572000000000000000000000000008152506040516020016119f89190613743565b60405160208183030381529060405280519060200120905060006040518060400160405280601281526020017f646570732e59616d61746f537765657065720000000000000000000000000000815250604051602001611a589190613743565b60405160208183030381529060405280519060200120905060006040518060400160405280600981526020016819195c1ccb941bdbdb60ba1b815250604051602001611aa49190613743565b60405160208183030381529060405280519060200120905060006040518060400160405280601581526020017f646570732e5072696f7269747952656769737472790000000000000000000000815250604051602001611b049190613743565b60408051601f1981840301815291905280516020909101209f9097559c9094559990915596909655509290945590915591559055565b611b4333611620565b611b8f5760405162461bcd60e51b815260206004820152601c60248201527f596f7520617265206e6f742059616d61746f20636f6e74726163742e000000006044820152606401610a22565b6001600160a01b03821660009081526101016020908152604090912090820151158015611bbb57508151155b15611bd6576000606083018190526040830181905260808301525b8151815414611be457815181555b8160200151816001015414611bfe57602082015160018201555b6060820151600282015461010090046001600160a01b03908116911614611c645760608201516002820180546001600160a01b03909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9092169190911790555b6040820151600282015460ff16151590151514611c9457604082015160028201805460ff19169115159190911790555b8160800151816003015414611cae57608082015160038201555b505050565b60006115d27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6065546001600160a01b03163314611d3c5760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b6044820152606401610a22565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f90ad4c550d25bd23af61db38d1ff8671b89edaaa0bca0fc36bac5084ecc120bd9060200160405180910390a150565b6000611d9a610b85565b6001600160a01b031663ae2e933b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561159a57600080fd5b611ddb33611620565b611e275760405162461bcd60e51b815260206004820152601c60248201527f596f7520617265206e6f742059616d61746f20636f6e74726163742e000000006044820152606401610a22565b60005b815181101561136a576000828281518110611e5557634e487b7160e01b600052603260045260246000fd5b6020026020010151905080604001511515600015151415611e765750611e86565b611e84816060015182611b3a565b505b611e8f8161394a565b9050611e2a565b6065546001600160a01b03163314611eec5760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b6044820152606401610a22565b606580546001600160a01b03191690556040513381527f24e4875c487b4800d52ab8484eb3ad19b3485a88e0b19b6cfdac90da12ee55fd90602001610c9b565b600054610100900460ff1615808015611f4c5750600054600160ff909116105b80611f665750303b158015611f66575060005460ff166001145b611fd85760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a22565b6000805460ff191660011790558015611ffb576000805461ff0019166101001790555b60006040518060400160405280600f81526020017f646570732e43757272656e63794f5300000000000000000000000000000000008152506040516020016120439190613743565b604051602081830303815290604052805190602001209050828155612066612ae1565b61206e612b54565b61207730612bc7565b50801561136a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6120c96127ff565b60006120d36115d7565b6040517f0177b675000000000000000000000000000000000000000000000000000000008152336004820152602481018490526001600160a01b039190911690630177b67590604401602060405180830381600087803b15801561213657600080fd5b505af115801561214a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216e91906135b8565b604080518481526020810183905291925033917feae9cfbc77fdd40ca899f36b608256063b2bc9d8178b0220f7ad513e178d6730910160405180910390a25050565b6000806040518060400160405280601481526020017f646570732e59616d61746f4465706f7369746f72000000000000000000000000815250604051602001610b1d9190613743565b6000806040518060400160405280601581526020017f646570732e59616d61746f576974686472617765720000000000000000000000815250604051602001610b1d9190613743565b61224b33611620565b6122975760405162461bcd60e51b815260206004820152601c60248201527f596f7520617265206e6f742059616d61746f20636f6e74726163742e000000006044820152606401610a22565b61010055565b6122a561279e565b6122ad6127ff565b6122b56121b0565b6040517fa1c666490000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b03919091169063a1c666499034906024016000604051808303818588803b15801561231257600080fd5b505af1158015612326573d6000803e3d6000fd5b50506040513481523393507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c49250602001905060405180910390a2610ec86001606955565b61237361279e565b61237b6127ff565b6000612385610ca5565b604080516060810182523381526020810186815285151582840190815292517f1c35ed1a00000000000000000000000000000000000000000000000000000000815291516001600160a01b03908116600484015290516024830152915115156044820152911690631c35ed1a90606401600060405180830381600087803b15801561240f57600080fd5b505af1158015612423573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261244b91908101906135d0565b9050336001600160a01b03167f2988bbcf721e128e6bc3256b6079c68bf477f96a6592e2b85862c08cc7f8ef5c8260000151836020015184604001516040516124969392919061381c565b60405180910390a2606081810151608083015160408051928352851515602084015282015233917f6e4c97207fe0a187bac09d4f9fc6d450a1f2d5faf741661da10415ea03f8dd71910160405180910390a25061136a6001606955565b600080600061250e6040518060200160405280600081525090565b505050506001600160a01b03908116600081815261010160209081526040808320815160a08101835281548082526001830154828601819052600284015460ff8116151584870181905261010090910490991660608401526003909301546080909201919091529484526101028352928190208151928301909152548152919390929190565b600061259f33611620565b6125eb5760405162461bcd60e51b815260206004820152601c60248201527f596f7520617265206e6f742059616d61746f20636f6e74726163742e000000006044820152606401610a22565b6001600160a01b03821660009081526101026020526040902080544314156126165750600192915050565b505b919050565b6065546001600160a01b031633146126735760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b6044820152606401610a22565b60006040518060400160405280601581526020017f646570732e5072696f72697479526567697374727900000000000000000000008152506040516020016114d19190613743565b6126c36131c4565b604080516101408101909152308152602081016126de6121b0565b6001600160a01b031681526020016126f46115d7565b6001600160a01b0316815260200161270a6111b8565b6001600160a01b031681526020016127206121f9565b6001600160a01b03168152602001612736610ca5565b6001600160a01b0316815260200161274c611791565b6001600160a01b03168152602001612762610ae8565b6001600160a01b03168152602001612778610b3c565b6001600160a01b0316815260200161278e6110fe565b6001600160a01b03169052919050565b600260695414156127f15760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a22565b6002606955565b6001606955565b60cd5460ff1615610ec85760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610a22565b6065546001600160a01b03163314610db85760405162461bcd60e51b81526020600482015260196024820152782cb7ba9030b932903737ba103a34329033b7bb32b93732b91760391b6044820152606401610a22565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156128db57611cae83612bd0565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561291457600080fd5b505afa925050508015612944575060408051601f3d908101601f19168201909252612941918101906135b8565b60015b6129b65760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610a22565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612a4b5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610a22565b50611cae838383612c8e565b612a5f612cb9565b60cd805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b039091168152602001610c9b565b612aac6127ff565b60cd805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a8c3390565b600054610100900460ff16612b4c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610a22565b610ec8612d0b565b600054610100900460ff16612bbf5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610a22565b610ec8612d76565b610db881612ded565b6001600160a01b0381163b612c4d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610a22565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b612c9783612e69565b600082511180612ca45750805b15611cae57612cb38383612ea9565b50505050565b60cd5460ff16610ec85760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610a22565b600054610100900460ff166127f85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610a22565b600054610100900460ff16612de15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610a22565b60cd805460ff19169055565b600054610100900460ff16612e585760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610a22565b612e60612fb4565b610db881613027565b612e7281612bd0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b612f285760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610a22565b600080846001600160a01b031684604051612f4391906136ec565b600060405180830381855af49150503d8060008114612f7e576040519150601f19603f3d011682016040523d82523d6000602084013e612f83565b606091505b5091509150612fab828260405180606001604052806027815260200161399d602791396130eb565b95945050505050565b600054610100900460ff1661301f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610a22565b610ec861310b565b600054610100900460ff166130925760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610a22565b60408051808201909152600b8082527f646570732e59616d61746f00000000000000000000000000000000000000000060209092019182526130d6916068916131e3565b50600060686040516020016114d19190613776565b606083156130fa575081613104565b613104838361319a565b9392505050565b600054610100900460ff166131765760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610a22565b60658054336001600160a01b03199182168117909255606780549091169091179055565b8151156131aa5781518083602001fd5b8060405162461bcd60e51b8152600401610a229190613743565b604051806101400160405280600a906020820280368337509192915050565b8280546131ef90613915565b90600052602060002090601f0160209004810192826132115760008555613257565b82601f1061322a57805160ff1916838001178555613257565b82800160010185558215613257579182015b8281111561325757825182559160200191906001019061323c565b50613263929150613267565b5090565b5b808211156132635760008155600101613268565b600082601f83011261328c578081fd5b815160206132a161329c836138c5565b613894565b80838252828201915082860187848660051b89010111156132c0578586fd5b855b858110156132e75781516132d581613987565b845292840192908401906001016132c2565b5090979650505050505050565b8035801515811461261857600080fd5b600060a08284031215613315578081fd5b61331d61386b565b90508135815260208201356020820152613339604083016132f4565b6040820152606082013561334c81613987565b806060830152506080820135608082015292915050565b600060208284031215613374578081fd5b813561310481613987565b600060208284031215613390578081fd5b815161310481613987565b600080600080600080600080610100898b0312156133b7578384fd5b88356133c281613987565b975060208901356133d281613987565b965060408901356133e281613987565b955060608901356133f281613987565b9450608089013561340281613987565b935060a089013561341281613987565b925060c089013561342281613987565b915060e089013561343281613987565b809150509295985092959890939650565b60008060408385031215613455578182fd5b823561346081613987565b915060208381013567ffffffffffffffff8082111561347d578384fd5b818601915086601f830112613490578384fd5b8135818111156134a2576134a2613971565b6134b4601f8201601f19168501613894565b915080825287848285010111156134c9578485fd5b8084840185840137810190920192909252919491935090915050565b60008060c083850312156134f7578182fd5b823561350281613987565b91506135118460208501613304565b90509250929050565b6000602080838503121561352c578182fd5b823567ffffffffffffffff811115613542578283fd5b8301601f81018513613552578283fd5b803561356061329c826138c5565b8181528381019083850160a0808502860187018a101561357e578788fd5b8795505b848610156135aa576135948a83613304565b8452600195909501949286019290810190613582565b509098975050505050505050565b6000602082840312156135c9578081fd5b5051919050565b6000602082840312156135e1578081fd5b815167ffffffffffffffff808211156135f8578283fd5b9083019060a0828603121561360b578283fd5b61361361386b565b8251815260208301516020820152604083015182811115613632578485fd5b61363e8782860161327c565b604083015250606083015160608201526080830151608082015280935050505092915050565b600060208284031215613675578081fd5b5035919050565b6000806040838503121561368e578182fd5b82359150613511602084016132f4565b6000806000606084860312156136b2578081fd5b8351925060208401519150604084015167ffffffffffffffff8111156136d6578182fd5b6136e28682870161327c565b9150509250925092565b600082516136fe8184602087016138e9565b9190910192915050565b6101408101818360005b600a81101561373a5781516001600160a01b0316835260209283019290910190600101613712565b50505092915050565b60208152600082518060208401526137628160408501602087016138e9565b601f01601f19169190910160400192915050565b6000602080835281845483600182811c91508083168061379757607f831692505b8583108114156137b557634e487b7160e01b87526022600452602487fd5b8786018381526020018180156137d257600181146137e35761380d565b60ff1986168252878201965061380d565b60008b815260209020895b86811015613807578154848201529085019089016137ee565b83019750505b50949998505050505050505050565b60006060820185835260208581850152606060408501528185518084526080860191508287019350845b818110156135aa5784516001600160a01b031683529383019391830191600101613846565b60405160a0810167ffffffffffffffff8111828210171561388e5761388e613971565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156138bd576138bd613971565b604052919050565b600067ffffffffffffffff8211156138df576138df613971565b5060051b60200190565b60005b838110156139045781810151838201526020016138ec565b83811115612cb35750506000910152565b600181811c9082168061392957607f821691505b6020821081141561261657634e487b7160e01b600052602260045260246000fd5b600060001982141561396a57634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610db857600080fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206e103c9b5fa008bca96efcf11454f99ce5e6ece6f053f77ff3218de667fb277764736f6c63430008040033