0 txs
1 call
constructor
No constructor.
functions
getAccountGlvDeposits
viewfunction getAccountGlvDeposits(address dataStore, address account, uint256 start, uint256 end) view returns (tuple[])
getAccountGlvWithdrawals
viewfunction getAccountGlvWithdrawals(address dataStore, address account, uint256 start, uint256 end) view returns (tuple[])
getGlv
viewfunction getGlv(address dataStore, address glv) view returns (tuple)
getGlvBySalt
viewfunction getGlvBySalt(address dataStore, bytes32 salt) view returns (tuple)
getGlvDeposit
viewfunction getGlvDeposit(address dataStore, bytes32 key) view returns (tuple)
getGlvDeposits
viewfunction getGlvDeposits(address dataStore, uint256 start, uint256 end) view returns (tuple[])
getGlvInfo
viewfunction getGlvInfo(address dataStore, address glv) view returns (tuple)
getGlvInfoList
viewfunction getGlvInfoList(address dataStore, uint256 start, uint256 end) view returns (tuple[])
getGlvs
viewfunction getGlvs(address dataStore, uint256 start, uint256 end) view returns (tuple[])
getGlvShift
viewfunction getGlvShift(address dataStore, bytes32 key) view returns (tuple)
getGlvShifts
viewfunction getGlvShifts(address dataStore, uint256 start, uint256 end) view returns (tuple[])
getGlvTokenPrice
viewfunction getGlvTokenPrice(address dataStore, address[] marketAddresses, tuple[] indexTokenPrices, tuple longTokenPrice, tuple shortTokenPrice, address glv, bool maximize) view returns (uint256, uint256, uint256)
getGlvValue
viewfunction getGlvValue(address dataStore, address[] marketAddresses, tuple[] indexTokenPrices, tuple longTokenPrice, tuple shortTokenPrice, address glv, bool maximize) view returns (uint256)
getGlvWithdrawal
viewfunction getGlvWithdrawal(address dataStore, bytes32 key) view returns (tuple)
getGlvWithdrawals
viewfunction getGlvWithdrawals(address dataStore, uint256 start, uint256 end) view returns (tuple[])
events
No events.
errors
EmptyMarketTokenSupply
error EmptyMarketTokenSupply()
GlvNegativeMarketPoolValue
error GlvNegativeMarketPoolValue(address glv, address market)
creation bytecode
0x6080604052348015600f57600080fd5b506130428061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100c45760003560e01c8062c53b81146100c957806327fde884146100f25780634015e2c2146101125780634cc8ea011461013257806352384a78146101525780636a8c6ab5146101745780638a9b0fc4146101945780638d3c65fa146101b4578063a645bde4146101d4578063b0b9e531146101f4578063c1b7027814610215578063ceb914ba14610228578063e80c9e121461023b578063f5f8e7261461025b578063f8e3ff3b1461027b575b600080fd5b6100dc6100d7366004611c3a565b61028e565b6040516100e99190611cc7565b60405180910390f35b610105610100366004611c3a565b610319565b6040516100e99190611e83565b610125610120366004611ea6565b61039f565b6040516100e99190611f05565b610145610140366004611ea6565b610530565b6040516100e99190611f18565b610165610160366004612125565b6105b2565b6040516100e993929190612247565b61018761018236600461225d565b6105d9565b6040516100e99190612292565b6101a76101a236600461225d565b61071d565b6040516100e991906122e0565b6101c76101c2366004612345565b610859565b6040516100e99190612500565b6101e76101e236600461225d565b6109a1565b6040516100e99190612559565b610207610202366004612125565b610af2565b6040519081526020016100e9565b610145610223366004611c3a565b610b87565b6101a7610236366004612345565b610bc8565b61024e61024936600461225d565b610d05565b6040516100e9919061259c565b61026e610269366004611c3a565b610de0565b6040516100e991906125f5565b6101c761028936600461225d565b610e66565b610296611993565b60405163fdfc26f360e01b815273fa1eee289c9006595fd0911e2ffcbfd6db0914d49063fdfc26f3906102cf9086908690600401612608565b60c060405180830381865af41580156102ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103109190612681565b90505b92915050565b6103216119e5565b60405163fdfc26f360e01b815273b013bb9c60c5ebe017fab08889869aec3635ff8f9063fdfc26f39061035a9086908690600401612608565b600060405180830381865af4158015610377573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103109190810190612889565b6103a7611a9a565b60006103b283610fa2565b6040516335ea805960e01b8152600481018290529091506000906001600160a01b038616906335ea805990602401602060405180830381865afa1580156103fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104219190612a0f565b90506000856001600160a01b031663e7e4148e846000856040518463ffffffff1660e01b815260040161045693929190612247565b600060405180830381865afa158015610473573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261049b9190810190612a28565b604080518082019182905263a8d8fff560e01b909152909150807335df0d75603dadf745d3374476de3be715f9995663a8d8fff56104dd8a8a60448601612a5c565b606060405180830381865af41580156104fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051e9190612a76565b81526020019190915295945050505050565b610538611aa9565b60405163a8d8fff560e01b81527335df0d75603dadf745d3374476de3be715f999569063a8d8fff5906105719086908690600401612a5c565b606060405180830381865af415801561058e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103109190612a76565b60008060006105c68a8a8a8a8a8a8a61102b565b9250925092509750975097945050505050565b606060006105e88585856110c7565b9050600081516001600160401b0381111561060557610605611f26565b60405190808252806020026020018201604052801561063e57816020015b61062b611993565b8152602001906001900390816106235790505b50905060005b825181101561071157600083828151811061066157610661612a92565b60200260200101519050600073fa1eee289c9006595fd0911e2ffcbfd6db0914d463fdfc26f38a846040518363ffffffff1660e01b81526004016106a6929190612608565b60c060405180830381865af41580156106c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e79190612681565b9050808484815181106106fc576106fc612a92565b60209081029190910101525050600101610644565b509150505b9392505050565b6060600061072c85858561118d565b9050600081516001600160401b0381111561074957610749611f26565b60405190808252806020026020018201604052801561078257816020015b61076f6119e5565b8152602001906001900390816107675790505b50905060005b82518110156107115760008382815181106107a5576107a5612a92565b60200260200101519050600073b013bb9c60c5ebe017fab08889869aec3635ff8f63fdfc26f38a846040518363ffffffff1660e01b81526004016107ea929190612608565b600060405180830381865af4158015610807573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261082f9190810190612889565b90508084848151811061084457610844612a92565b60209081029190910101525050600101610788565b60606000610869868686866111d5565b9050600081516001600160401b0381111561088657610886611f26565b6040519080825280602002602001820160405280156108bf57816020015b6108ac611ac9565b8152602001906001900390816108a45790505b50905060005b82518110156109965760008382815181106108e2576108e2612a92565b6020026020010151905060007314d2122f604c61f846c015d30efe5ccb44f06ffa63fdfc26f38b846040518363ffffffff1660e01b8152600401610927929190612608565b600060405180830381865af4158015610944573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261096c9190810190612b58565b90508084848151811061098157610981612a92565b602090810291909101015250506001016108c5565b509695505050505050565b606060006109ae8561125d565b9050808311156109bc578092505b60006109c98686866112f2565b9050600081516001600160401b038111156109e6576109e6611f26565b604051908082528060200260200182016040528015610a1f57816020015b610a0c611aa9565b815260200190600190039081610a045790505b50905060005b8251811015610996576000838281518110610a4257610a42612a92565b6020026020010151905060007335df0d75603dadf745d3374476de3be715f9995663a8d8fff58b846040518363ffffffff1660e01b8152600401610a87929190612a5c565b606060405180830381865af4158015610aa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac89190612a76565b905080848481518110610add57610add612a92565b60209081029190910101525050600101610a25565b60405163ac6c199160e01b815260009073f7a3a2e5b33fd0f66baa26c4e9cbf5df91f350d69063ac6c199190610b38908b908b908b908b908b908b908b90600401612d36565b602060405180830381865af4158015610b55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b799190612a0f565b90505b979650505050505050565b610b8f611aa9565b6040516329bc01e160e11b81527335df0d75603dadf745d3374476de3be715f999569063537803c2906105719086908690600401612608565b60606000610bd88686868661138d565b9050600081516001600160401b03811115610bf557610bf5611f26565b604051908082528060200260200182016040528015610c2e57816020015b610c1b6119e5565b815260200190600190039081610c135790505b50905060005b8251811015610996576000838281518110610c5157610c51612a92565b60200260200101519050600073b013bb9c60c5ebe017fab08889869aec3635ff8f63fdfc26f38b846040518363ffffffff1660e01b8152600401610c96929190612608565b600060405180830381865af4158015610cb3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cdb9190810190612889565b905080848481518110610cf057610cf0612a92565b60209081029190910101525050600101610c34565b60606000610d128561125d565b905080831115610d20578092505b6000610d2d8686866112f2565b9050600081516001600160401b03811115610d4a57610d4a611f26565b604051908082528060200260200182016040528015610d8357816020015b610d70611a9a565b815260200190600190039081610d685790505b50905060005b8251811015610996576000838281518110610da657610da6612a92565b60200260200101519050610dba898261039f565b838381518110610dcc57610dcc612a92565b602090810291909101015250600101610d89565b610de8611ac9565b60405163fdfc26f360e01b81527314d2122f604c61f846c015d30efe5ccb44f06ffa9063fdfc26f390610e219086908690600401612608565b600060405180830381865af4158015610e3e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103109190810190612b58565b60606000610e758585856113a7565b9050600081516001600160401b03811115610e9257610e92611f26565b604051908082528060200260200182016040528015610ecb57816020015b610eb8611ac9565b815260200190600190039081610eb05790505b50905060005b8251811015610711576000838281518110610eee57610eee612a92565b6020026020010151905060007314d2122f604c61f846c015d30efe5ccb44f06ffa63fdfc26f38a846040518363ffffffff1660e01b8152600401610f33929190612608565b600060405180830381865af4158015610f50573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f789190810190612b58565b905080848481518110610f8d57610f8d612a92565b60209081029190910101525050600101610ed1565b6000604051602001610fe19060208082526019908201527811d31597d4d5541413d495115117d3505492d15517d31254d5603a1b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b03841690820152606001604051602081830303815290604052805190602001209050919050565b6000806000806110408b8b8b8b8b8b8b6113ec565b90506000866001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a69190612a0f565b90506110b28282611483565b94509450945050509750975097945050505050565b6060836001600160a01b031663f069052a60405160200161110a906020808252600e908201526d11d31597d4d212519517d31254d560921b604082015260600190565b6040516020818303038152906040528051906020012085856040518463ffffffff1660e01b815260040161114093929190612247565b600060405180830381865afa15801561115d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111859190810190612de0565b949350505050565b6060836001600160a01b031663f069052a60405160200161110a9060208082526013908201527211d31597d5d2551211149055d05317d31254d5606a1b604082015260600190565b6060846001600160a01b031663f069052a6111ef866114e2565b85856040518463ffffffff1660e01b815260040161120f93929190612247565b600060405180830381865afa15801561122c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112549190810190612de0565b95945050505050565b6000816001600160a01b03166335ea805960405160200161127d90612e14565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016112b191815260200190565b602060405180830381865afa1580156112ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103139190612a0f565b6060836001600160a01b031663e7e4148e60405160200161131290612e14565b6040516020818303038152906040528051906020012085856040518463ffffffff1660e01b815260040161134893929190612247565b600060405180830381865afa158015611365573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111859190810190612a28565b6060846001600160a01b031663f069052a6111ef86611520565b6060836001600160a01b031663f069052a60405160200161110a9060208082526010908201526f11d31597d1115413d4d25517d31254d560821b604082015260600190565b60006113f6611b99565b60005b885181101561147257600089828151811061141657611416612a92565b6020026020010151905088828151811061143257611432612a92565b602002602001015183606001819052506114558b878386606001518c8c8b611561565b836040018181516114669190612e36565b905250506001016113f9565b506040015198975050505050505050565b6000806000836000036114a9575068327cb2734119d3b7a9601e1b9150839050826114db565b846000036114bf575060009150839050826114db565b6114d2670de0b6b3a76400008686611818565b85859250925092505b9250925092565b6000604051602001610fe1906020808252601890820152771050d0d3d5539517d1d31597d1115413d4d25517d31254d560421b604082015260600190565b6000604051602001610fe1906020808252601b908201527a1050d0d3d5539517d1d31597d5d2551211149055d05317d31254d5602a1b604082015260600190565b60008073d727120ac811e9136d4a5d5c6219aee37e27578563a8d8fff58a896040518363ffffffff1660e01b815260040161159d929190612a5c565b608060405180830381865af41580156115ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115de9190612e57565b9050600073f62e9cfa1ffd446e3516dc2f19f2818911bf7d966316ba2089896040518263ffffffff1660e01b81526004016116199190612ec0565b602060405180830381865af4158015611636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165a9190612a0f565b90506000896001600160a01b031663523fba7f8a6040518263ffffffff1660e01b815260040161168a9190612ec0565b602060405180830381865afa1580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116cb9190612a0f565b9050806000036116e15760009350505050610b7c565b600073f62e9cfa1ffd446e3516dc2f19f2818911bf7d9663f2e2a4f58d868c8c8c604051602001611741906020808252601b908201527a4d41585f504e4c5f464143544f525f464f525f4445504f5349545360281b604082015260600190565b604051602081830303815290604052805190602001208d6040518863ffffffff1660e01b815260040161177a9796959493929190612ed4565b61018060405180830381865af4158015611798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bc9190612f56565b90506000816000015112156117f1578a8a604051632e3780e560e01b81526004016117e8929190612a5c565b60405180910390fd5b611808826118028360000151611825565b8561187b565b9c9b505050505050505050505050565b60006111858484846118a9565b6000808212156118775760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f73697469766560448201526064016117e8565b5090565b60008160000361189e57604051630bb8f5a760e21b815260040160405180910390fd5b611185838584611818565b60008080600019858709858702925082811083820303915050806000036118e3578382816118d9576118d9612ff6565b0492505050610716565b80841161192a5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016117e8565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040805160a081018252600091810182815260608201839052608082019290925290819081526020016119e060405180606001604052806000815260200160008152602001600081525090565b905290565b60408051610180810190915260006080820181815260a0830182905260c0830182905260e0830182905261010083018290526101208301919091526060610140830181905261016083015281908152602001611a776040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b8152604080516020818101909252600081529101905b8152602001606081525090565b6040518060400160405280611a8d5b604080516060810182526000808252602082018190529181019190915290565b604080516101c0810190915260006080820181815260a0830182905260c0830182905260e08301829052610100830182905261012083018290526101408301829052610160830191909152606061018083018190526101a083015281908152602001611b7360405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b8152602001611a8d60405180604001604052806000151581526020016000151581525090565b6040518060e00160405280600080191681526020016000815260200160008152602001611bc4611c08565b8152602001611bd1611c08565b8152602001611bde611c08565b81526040805160808101825260008082526020828101829052928201819052606082015291015290565b604051806040016040528060008152602001600081525090565b6001600160a01b0381168114611c3757600080fd5b50565b60008060408385031215611c4d57600080fd5b8235611c5881611c22565b946020939093013593505050565b6001600160a01b03169052565b80516001600160a01b03908116835260208083015182169084015260409182015116910152565b611ca5828251611c73565b602090810151805160608401529081015160808301526040015160a090910152565b60c081016103138284611c9a565b600081518084526020840193506020830160005b82811015611d105781516001600160a01b0316865260209586019590910190600101611ce9565b5093949350505050565b600081518084526020840193506020830160005b82811015611d10578151865260209586019590910190600101611d2e565b805161014080845281516001600160a01b031690840152602081015160009190611d7a610160860182611c66565b506040810151611d8e610180860182611c66565b506060810151611da26101a0860182611c66565b506080810151611db66101c0860182611c66565b5060a0810151611dca6101e0860182611c66565b5060c0810151610100610200860152611de7610240860182611cd5565b905060e0820151915061013f1985820301610220860152611e088183611cd5565b9150506020830151611e5c6020860182805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c08301525050565b50604083015151151561010085015260608301518482036101208601526112548282611d1a565b6020815260006103106020830184611d4c565b8035611ea181611c22565b919050565b60008060408385031215611eb957600080fd5b8235611ec481611c22565b91506020830135611ed481611c22565b809150509250929050565b611eea828251611c73565b60006020820151608060608501526111856080850182611cd5565b6020815260006103106020830184611edf565b606081016103138284611c73565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715611f5e57611f5e611f26565b60405290565b604051606081016001600160401b0381118282101715611f5e57611f5e611f26565b604051608081016001600160401b0381118282101715611f5e57611f5e611f26565b60405161010081016001600160401b0381118282101715611f5e57611f5e611f26565b60405161014081016001600160401b0381118282101715611f5e57611f5e611f26565b60405161018081016001600160401b0381118282101715611f5e57611f5e611f26565b604051601f8201601f191681016001600160401b038111828210171561203957612039611f26565b604052919050565b60006001600160401b0382111561205a5761205a611f26565b5060051b60200190565b60006040828403121561207657600080fd5b61207e611f3c565b823581526020928301359281019290925250919050565b600082601f8301126120a657600080fd5b81356120b96120b482612041565b612011565b8082825260208201915060208360061b8601019250858311156120db57600080fd5b602085015b83811015612102576120f28782612064565b83526020909201916040016120e0565b5095945050505050565b8015158114611c3757600080fd5b8035611ea18161210c565b6000806000806000806000610120888a03121561214157600080fd5b873561214c81611c22565b965060208801356001600160401b0381111561216757600080fd5b8801601f81018a1361217857600080fd5b80356121866120b482612041565b8082825260208201915060208360051b85010192508c8311156121a857600080fd5b6020840193505b828410156121d35783356121c281611c22565b8252602093840193909101906121af565b985050505060408801356001600160401b038111156121f157600080fd5b6121fd8a828b01612095565b95505061220d8960608a01612064565b935061221c8960a08a01612064565b925061222a60e08901611e96565b9150612239610100890161211a565b905092959891949750929550565b9283526020830191909152604082015260600190565b60008060006060848603121561227257600080fd5b833561227d81611c22565b95602085013595506040909401359392505050565b602080825282518282018190526000918401906040840190835b818110156122d5576122bf838551611c9a565b6020939093019260c092909201916001016122ac565b509095945050505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561233957603f19878603018452612324858351611d4c565b94506020938401939190910190600101612308565b50929695505050505050565b6000806000806080858703121561235b57600080fd5b843561236681611c22565b9350602085013561237681611c22565b93969395505050506040820135916060013590565b6000815161018084526123a361018085018251611c66565b60208101516123b66101a0860182611c66565b5060408101516123ca6101c0860182611c66565b5060608101516123de6101e0860182611c66565b5060808101516123f2610200860182611c66565b5060a0810151612406610220860182611c66565b5060c081015161241a610240860182611c66565b5060e081015161242e610260860182611c66565b5061010081015161014061028086015261244c6102c0860182611cd5565b9050610120820151915061017f19858203016102a086015261246e8183611cd5565b91505060208301516124cc6020860182805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301525050565b5060408301518051151561012086015260200151151561014085015260608301518482036101608601526112548282611d1a565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561233957603f1987860301845261254485835161238b565b94506020938401939190910190600101612528565b602080825282518282018190526000918401906040840190835b818110156122d557612586838551611c73565b6020939093019260609290920191600101612573565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b8281101561233957603f198786030184526125e0858351611edf565b945060209384019391909101906001016125c4565b602081526000610310602083018461238b565b6001600160a01b03929092168252602082015260400190565b8051611ea181611c22565b60006060828403121561263e57600080fd5b612646611f64565b9050815161265381611c22565b8152602082015161266381611c22565b6020820152604082015161267681611c22565b604082015292915050565b600081830360c08112801561269557600080fd5b5060006126a0611f3c565b6126aa868661262c565b81526060605f19840112156126bd578182fd5b6126c5611f64565b60608601518152608086015160208083019190915260a09096015160408201529481019490945250919392505050565b600082601f83011261270657600080fd5b81516127146120b482612041565b8082825260208201915060208360051b86010192508583111561273657600080fd5b602085015b8381101561210257805161274e81611c22565b83526020928301920161273b565b600060e0828403121561276e57600080fd5b60405160e081016001600160401b038111828210171561279057612790611f26565b604090815283518252602080850151908301528381015190820152606080840151908201526080808401519082015260a0808401519082015260c0928301519281019290925250919050565b6000602082840312156127ee57600080fd5b604051602081016001600160401b038111828210171561281057612810611f26565b806040525080915082516128238161210c565b905292915050565b600082601f83011261283c57600080fd5b815161284a6120b482612041565b8082825260208201915060208360051b86010192508583111561286c57600080fd5b602085015b83811015612102578051835260209283019201612871565b60006020828403121561289b57600080fd5b81516001600160401b038111156128b157600080fd5b820161014081850312156128c457600080fd5b6128cc611f86565b81516001600160401b038111156128e257600080fd5b820161010081870312156128f557600080fd5b6128fd611fa8565b61290682612621565b815261291460208301612621565b602082015261292560408301612621565b604082015261293660608301612621565b606082015261294760808301612621565b608082015261295860a08301612621565b60a082015260c08201516001600160401b0381111561297657600080fd5b612982888285016126f5565b60c08301525060e08201516001600160401b038111156129a157600080fd5b6129ad888285016126f5565b60e0830152508252506129c3856020840161275c565b60208201526129d68561010084016127dc565b60408201526101208201516001600160401b038111156129f557600080fd5b612a018682850161282b565b606083015250949350505050565b600060208284031215612a2157600080fd5b5051919050565b600060208284031215612a3a57600080fd5b81516001600160401b03811115612a5057600080fd5b611185848285016126f5565b6001600160a01b0392831681529116602082015260400190565b600060608284031215612a8857600080fd5b610310838361262c565b634e487b7160e01b600052603260045260246000fd5b60006101008284031215612abb57600080fd5b612ac3611fa8565b825181526020808401519082015260408084015190820152606080840151908201526080808401519082015260a0808401519082015260c0808401519082015260e0928301519281019290925250919050565b600060408284031215612b2857600080fd5b612b30611f3c565b90508151612b3d8161210c565b81526020820151612b4d8161210c565b602082015292915050565b600060208284031215612b6a57600080fd5b81516001600160401b03811115612b8057600080fd5b82016101808185031215612b9357600080fd5b612b9b611f86565b81516001600160401b03811115612bb157600080fd5b82016101408187031215612bc457600080fd5b612bcc611fcb565b612bd582612621565b8152612be360208301612621565b6020820152612bf460408301612621565b6040820152612c0560608301612621565b6060820152612c1660808301612621565b6080820152612c2760a08301612621565b60a0820152612c3860c08301612621565b60c0820152612c4960e08301612621565b60e08201526101008201516001600160401b03811115612c6857600080fd5b612c74888285016126f5565b610100830152506101208201516001600160401b03811115612c9557600080fd5b612ca1888285016126f5565b61012083015250825250612cb88560208401612aa8565b6020820152612ccb856101208401612b16565b60408201526101608201516001600160401b038111156129f557600080fd5b80518252602090810151910152565b600081518084526020840193506020830160005b82811015611d1057612d20868351612cea565b6040959095019460209190910190600101612d0d565b6001600160a01b03881681526101206020808301829052885191830182905260009190890190610140840190835b81811015612d8b5783516001600160a01b0316835260209384019390920191600101612d64565b50508381036040850152612d9f818a612cf9565b92505050612db06060830187612cea565b612dbd60a0830186612cea565b612dca60e0830185611c66565b8215156101008301525b98975050505050505050565b600060208284031215612df257600080fd5b81516001600160401b03811115612e0857600080fd5b6111858482850161282b565b60208082526008908201526711d31597d31254d560c21b604082015260600190565b8082018082111561031357634e487b7160e01b600052601160045260246000fd5b60006080828403128015612e6a57600080fd5b50612e73611f86565b8251612e7e81611c22565b81526020830151612e8e81611c22565b60208201526040830151612ea181611c22565b60408201526060830151612eb481611c22565b60608201529392505050565b6001600160a01b0391909116815260200190565b6001600160a01b03888116825287518116602080840191909152880151811660408084019190915288015181166060808401919091528801511660808201526101a08101612f2560a0830188612cea565b612f3260e0830187612cea565b612f40610120830186612cea565b83610160830152612dd461018083018415159052565b6000610180828403128015612f6a57600080fd5b506000612f75611fee565b835181526020808501519082015260408085015190820152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e080850151908201526101008085015190820152610120808501519082015261014080850151908201526101609384015193810193909352509092915050565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220954e2551bd086c9d5b7c8a6ed24a222da12fa28e1f7b0e4d5749bae69874a38c64736f6c634300081d0033