0 txs
0 calls
constructor
No constructor.
functions
calcGaugePointsWithParams
viewfunction calcGaugePointsWithParams(address token, uint256 percentOfDepositedBdv) view returns (uint256)
getAverageGrownStalkPerBdv
viewfunction getAverageGrownStalkPerBdv() view returns (uint256)
getAverageGrownStalkPerBdvPerSeason
viewfunction getAverageGrownStalkPerBdvPerSeason() view returns (uint128)
getBeanGaugePointsPerBdv
viewfunction getBeanGaugePointsPerBdv() view returns (uint256)
getBeanToMaxLpGpPerBdvRatio
viewfunction getBeanToMaxLpGpPerBdvRatio() view returns (uint256)
getBeanToMaxLpGpPerBdvRatioScaled
viewfunction getBeanToMaxLpGpPerBdvRatioScaled() view returns (uint256)
getDeltaPodDemand
viewfunction getDeltaPodDemand() view returns (uint256)
getGaugePoints
viewfunction getGaugePoints(address token) view returns (uint256)
getGaugePointsPerBdvForToken
viewfunction getGaugePointsPerBdvForToken(address token) view returns (uint256)
getGaugePointsPerBdvForWell
viewfunction getGaugePointsPerBdvForWell(address well) view returns (uint256)
getGaugePointsWithParams
viewfunction getGaugePointsWithParams(address token) view returns (uint256)
getGrownStalkIssuedPerGp
viewfunction getGrownStalkIssuedPerGp() view returns (uint256)
getGrownStalkIssuedPerSeason
viewfunction getGrownStalkIssuedPerSeason() view returns (uint256)
getLargestGpPerBdv
viewfunction getLargestGpPerBdv() view returns (uint256)
getLiquidityToSupplyRatio
viewfunction getLiquidityToSupplyRatio() view returns (uint256)
getPodRate
viewfunction getPodRate(uint256 fieldId) view returns (uint256)
getSeedGauge
viewfunction getSeedGauge() view returns (tuple)
getTotalBdv
viewfunction getTotalBdv() view returns (uint256 totalBdv)
events
No events.
errors
SafeCastOverflowedIntDowncast
error SafeCastOverflowedIntDowncast(uint8 bits, int256 value)
T
error T()
creation bytecode
0x6080604052348015600e575f80fd5b50613f318061001c5f395ff3fe608060405234801561000f575f80fd5b50600436106100f3575f3560e01c80636bbf33051161008f5780636bbf3305146101805780637046c9a6146101885780637ba6cbf81461019b57806393523425146101a3578063b2b0556d146101de578063cb2d0a3c146101f1578063cc88d4f9146101f9578063eb0e121514610211578063f98da2de1461022c575f80fd5b806311242145146100f7578063141933bf1461011d578063383f170f146101305780635053915914610138578063648878521461014057806364b3496b14610153578063673c75f01461015b57806369aa7e02146101635780636af8e5a41461016b575b5f80fd5b61010a6101053660046133e5565b610234565b6040519081526020015b60405180910390f35b61010a61012b366004613413565b6102d6565b61010a61079d565b61010a610872565b61010a61014e366004613413565b610880565b61010a6108b4565b61010a6108ef565b61010a61090d565b61017361093e565b604051610114919061342e565b61010a6109b7565b61010a61019636600461348e565b610a11565b61010a610d56565b61010a6101b1366004613413565b6001600160a01b03165f90815260c86020526040902060010154600160281b90046001600160801b031690565b61010a6101ec366004613413565b610d5f565b61010a610e41565b60e654600160801b90046001600160801b031661010a565b60e6546040516001600160801b039091168152602001610114565b61010a610ec7565b600154604080516318160ddd60e01b815290515f9283926001600160a01b03909116916318160ddd916004808201926020929091908290030181865afa158015610280573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102a491906134b8565b5f8481526020805260409020600281015490549192506102ce916102c891906134e3565b82610fba565b519392505050565b5f806102e0610fef565b90505f8060d454610301906102fc9063ffffffff16600161350a565b6110f0565b6002811115610312576103126134f6565b0361031e57505f610322565b5060015b5f805f5b845181101561048c575f60ca81866002811115610345576103456134f6565b6002811115610356576103566134f6565b81526020019081526020015f205f8784815181106103765761037661352e565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f0160109054906101000a90046001600160801b03166001600160801b031690506104228161041c5f60010160c3016003015f8a87815181106103e2576103e261352e565b6020908102919091018101516001600160a01b031682528101919091526040015f20548790600160801b90046001600160801b031661110c565b9061110c565b93506104815f60010160c3016004015f8885815181106104445761044461352e565b6020908102919091018101516001600160a01b031682528101919091526040015f20600101548490600160a81b90046001600160401b031661110c565b925050600101610326565b506001600160a01b0386165f90815260c76020526040812054600160801b90046001600160801b0316906104ce846104c8846305f5e10061111e565b90611129565b6001600160a01b03808a165f90815260c86020908152604080832081516101608101835281546001600160e01b031960e082811b8216845264ffffffffff6401000000008404168488015265ffffffffffff600160481b8404168487015263ffffffff600160781b840416606080860191909152600160981b8404600b0b6080808701919091526001600160f81b0319600160f81b90950460f890811b861660a08801526001880154600481900b60c08901526001600160801b03600160281b820416858901526001600160401b03600160a81b90910416610100880152885191820189526002880180549c8d168352600160a01b8d0490941b90941698810198909852600160c01b90990490911b90911693850193909352600382018054979850949690959194610120870194939284019161060a90613542565b80601f016020809104026020016040519081016040528092919081815260200182805461063690613542565b80156106815780601f1061065857610100808354040283529160200191610681565b820191905f5260205f20905b81548152906001019060200180831161066457829003601f168201915b505050919092525050508152604080516080810182526004840180546001600160a01b0381168352600160a01b810460e01b6001600160e01b031916602080850191909152600160c01b90910460f81b6001600160f81b0319169383019390935260058501805493909401939192909160608401916106ff90613542565b80601f016020809104026020016040519081016040528092919081815260200182805461072b90613542565b80156107765780601f1061074d57610100808354040283529160200191610776565b820191905f5260205f20905b81548152906001019060200180831161075957829003601f168201915b505050505081525050815250509050610790818386611134565b9998505050505050505050565b5f806107a7610fef565b90505f805b825181101561081657825161080c9060c7905f908690859081106107d2576107d261352e565b6020908102919091018101516001600160a01b031682528101919091526040015f20548390600160801b90046001600160801b031661110c565b91506001016107ac565b506001546001600160a01b03165f90815260c7602052604090205461086b90620f4240906104c890610859908590600160801b90046001600160801b031661110c565b60e6546001600160801b03169061111e565b9250505090565b5f61087b61127d565b905090565b6001545f906001600160a01b03908116908316036108a6576108a061090d565b92915050565b6108a082610d5f565b919050565b5f6108ca60405180602001604052805f81525090565b6006546108e690600160801b90046001600160801b03166112ff565b50505192915050565b60e6545f9061087b90600160801b90046001600160801b03166114c7565b5f806109176108ef565b905061093868056bc75e2d631000006104c8836109326109b7565b9061111e565b91505090565b61094661339a565b604080516080808201835260e680546001600160801b038082168552600160801b90910416602084015260e75460ff16151583850152835191820193849052919260608401919060e89060049082845b81548152602001906001019080831161099657505050505081525050905090565b5f805f6109c2610fef565b90505f5b8151811015610a09575f6109f28383815181106109e5576109e561352e565b6020026020010151610d5f565b905083811115610a00578093505b506001016109c6565b509092915050565b5f80610a1b610fef565b90505f805b8251811015610a8d578251610a839060c8905f90869085908110610a4657610a4661352e565b6020908102919091018101516001600160a01b031682528101919091526040015f20600101548390600160a81b90046001600160401b031661110c565b9150600101610a20565b506001600160a01b038086165f90815260c8602090815260409182902082516101608101845281546001600160e01b031960e082811b8216845264ffffffffff6401000000008404168487015265ffffffffffff600160481b8404168488015263ffffffff600160781b840416606080860191909152600160981b8404600b0b6080808701919091526001600160f81b0319600160f81b90950460f890811b861660a08801526001880154600481900b60c08901526001600160801b03600160281b820416858901526001600160401b03600160a81b9091041661010088015289519182018a526002880180549b8c168352600160a01b8c0490941b90941697810197909752600160c01b90980490911b90911694840194909452600382018054610d4d96929593946101208701949093909290840191610bcd90613542565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf990613542565b8015610c445780601f10610c1b57610100808354040283529160200191610c44565b820191905f5260205f20905b815481529060010190602001808311610c2757829003601f168201915b505050919092525050508152604080516080810182526004840180546001600160a01b0381168352600160a01b810460e01b6001600160e01b031916602080850191909152600160c01b90910460f81b6001600160f81b031916938301939093526005850180549390940193919290916060840191610cc290613542565b80601f0160208091040260200160405190810160405280929190818152602001828054610cee90613542565b8015610d395780601f10610d1057610100808354040283529160200191610d39565b820191905f5260205f20905b815481529060010190602001808311610d1c57829003601f168201915b505050505081525050815250508583611134565b95945050505050565b5f61087b611527565b6001600160a01b0381165f90815260c8602052604081205460e01b6001600160e01b03191663c84c772760e01b03610dfe576001600160a01b0382165f90815260c8602090815260408083206001015460c7909252822054600160281b9091046001600160801b0390811692600160801b9092041690819003610de557505f9392505050565b610df6816104c884620f424061111e565b949350505050565b60405162461bcd60e51b8152602060048201526013602482015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b60448201526064015b60405180910390fd5b600154604080516318160ddd60e01b815290515f9283926001600160a01b03909116916318160ddd916004808201926020929091908290030181865afa158015610e8d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb191906134b8565b90505f610ebd82611563565b5050519392505050565b5f80610ed1610fef565b90505f805b8251811015610f43578251610f399060c8905f90869085908110610efc57610efc61352e565b6020908102919091018101516001600160a01b031682528101919091526040015f20600101548390600160281b90046001600160801b031661110c565b9150600101610ed6565b505f610f4d61079d565b6001546001600160a01b03165f90815260c76020526040902054909150610f9a90610f9390620f4240906104c890600160801b90046001600160801b031661093261090d565b839061110c565b9150610fb2826104c883670de0b6b3a764000061111e565b935050505090565b60408051602081019091525f81526040518060200160405280610fe685670de0b6b3a764000086611701565b90529392505050565b60c9546060905f9081816001600160401b038111156110105761101061357a565b604051908082528060200260200182016040528015611039578160200160208202803683370190505b5093505f5b828110156110e65760c9840180548290811061105c5761105c61352e565b5f91825260209091200154600160a81b900460ff16156110de5760c9840180548290811061108c5761108c61352e565b5f918252602090912001546001600160a01b031685836110ab8161358e565b9450815181106110bd576110bd61352e565b60200260200101906001600160a01b031690816001600160a01b0316815250505b60010161103e565b5080845250505090565b5f6110fa82611710565b6111055760016108a0565b5f92915050565b5f61111782846135a6565b9392505050565b5f61111782846135b9565b5f61111782846135e4565b610120830151515f906001600160a01b03811661114e5750305b610120850151602001516001600160e01b0319811661117157506335eddfa960e21b5b5f846305f5e1008861010001516001600160401b031661119191906135b9565b61119b91906135e4565b90505f80846001600160a01b0316848a60e00151858b8d6101200151606001516040516024016111ce9493929190613625565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161120c9190613668565b5f60405180830381855afa9150503d805f8114611244576040519150601f19603f3d011682016040523d82523d5f602084013e611249565b606091505b50915091508161126d578860e001516001600160801b031695505050505050611117565b6020015198975050505050505050565b5f805f611288611738565b90505f5b81518110156112f9576112ef8360010160c3016003015f8484815181106112b5576112b561352e565b6020908102919091018101516001600160a01b031682528101919091526040015f20548590600160801b90046001600160801b031661110c565b935060010161128c565b50505090565b60408051602081019091525f80825261010a54819060e190851015611343576113266117ef565b905490935063ffffffff600160a01b9091048116925090506114c0565b80546113599086906001600160801b031661180c565b815490945063ffffffff600160a01b909104811610156114ab578054600160801b900463ffffffff90811614806113a0575080546104b0600160a01b90910463ffffffff16105b806113f85750805461012c600160801b90910463ffffffff161180156113f8575080546113e19063ffffffff600160801b90910481169061012c9061185216565b815463ffffffff918216600160a01b909104909116105b156114155761140e670de0b6b3a764000061185d565b93506114ab565b80546114359063ffffffff600160801b90910481169061012c9061189116565b815463ffffffff918216600160a01b909104909116116114ab5761148161147a60408051602080820183525f9091528151908101909152670de0b6b3a7640000815290565b859061189c565b156114ab5760408051602080820183525f9091528151908101909152670de0b6b3a7640000815293505b5463ffffffff600160a01b9091048116925090505b9193909250565b60f35460d4545f918291600160801b900460ff16156114f85750610101810154600160801b90046001600160801b03165b60f28201545f9061150a9083906134e3565b9050610d4d8261041c68056bc75e2d631000006104c8898661111e565b5f805f61153261127d565b9050805f03611543575f9250505090565b60c482015461086b906402540be4009061155d9084611129565b906118af565b60408051602081019091525f81525f80835f03611590576115826117ef565b5f60019250925092506114c0565b5f611599610fef565b905060605f805f805b85518110156116b8576115cd8682815181106115c0576115c061352e565b60200260200101516118ba565b9450845f815181106115e1576115e161352e565b60200260200101515f1480156116105750846001815181106116055761160561352e565b60200260200101515f145b6116b0575f61163887838151811061162a5761162a61352e565b6020026020010151876118f1565b9050805f0361164657600197505b611678670de0b6b3a76400006104c8836109328b878151811061166b5761166b61352e565b6020026020010151611a20565b9250838311156116a2578293508682815181106116975761169761352e565b602002602001015198505b6116ac858461110c565b9450505b6001016115a2565b50825f036116db576116c86117ef565b5f600197509750975050505050506114c0565b6116f36116ed8464e8d4a51000611129565b8a610fba565b975050505050509193909250565b5f610df6826104c8868661111e565b5f61172663ffffffff80841690600290611bfc16565b63ffffffff16156111055760016108a0565b60c9546060905f90806001600160401b038111156117585761175861357a565b604051908082528060200260200182016040528015611781578160200160208202803683370190505b5092505f5b818110156112f95760c983018054829081106117a4576117a461352e565b5f9182526020909120015484516001600160a01b03909116908590839081106117cf576117cf61352e565b6001600160a01b0390921660209283029190910190910152600101611786565b60408051602080820183525f918290528251908101909252815290565b60408051602081019091525f8152825f03611830576118296117ef565b90506108a0565b815f0361184857611829670de0b6b3a764000061185d565b6111178383610fba565b5f6111178284613673565b60408051602081019091525f815260408051602081019091528061188984670de0b6b3a764000061111e565b905292915050565b5f611117828461350a565b5f6118a78383611c07565b159392505050565b5f61111782846134e3565b60606118c582611c37565b9050805f815181106118d9576118d961352e565b60200260200101516001036108af576108a082611cf2565b6001600160a01b0382165f908152601f60205260408120545f8061191486611e5d565b91509150600183111561196357611959836104c8670de0b6b3a76400008885815181106119435761194361352e565b602002602001015161111e90919063ffffffff16565b93505050506108a0565b825f03611975575f93505050506108a0565b5f826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119d69190613690565b9050611a156119e682600a613788565b6104c864e8d4a510006109328a8781518110611a0457611a0461352e565b602002602001015161093289611f7c565b979650505050505050565b6001600160a01b038181165f90815260c86020908152604080832081516080810183526004820180549687168252600160a01b870460e01b6001600160e01b03191694820194909452600160c01b90950460f81b6001600160f81b03191691850191909152600501805492938493849391926060840191611aa090613542565b80601f0160208091040260200160405190810160405280929190818152602001828054611acc90613542565b8015611b175780601f10611aee57610100808354040283529160200191611b17565b820191905f5260205f20905b815481529060010190602001808311611afa57829003601f168201915b5050509190925250508151919250506001600160a01b038116611b375750305b5f80826001600160a01b031684602001518560600151604051602401611b5d9190613796565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611b9b9190613668565b5f60405180830381855afa9150503d805f8114611bd3576040519150601f19603f3d011682016040523d82523d5f602084013e611bd8565b606091505b509150915081611bee57505f9695505050505050565b602001519695505050505050565b5f61111782846137a8565b805182515f919003611c1b575060016108a0565b8151835111611c2a575f611c2d565b60025b60ff169392505050565b60408051600280825260608281018452925f9291906020830190803683375050506001600160a01b0384165f908152601e8301602052604081205482519294506001600160801b031691849190611c9057611c9061352e565b6020908102919091018101919091526001600160a01b0384165f908152601e830190915260409020548251600160801b9091046001600160801b03169083906001908110611ce057611ce061352e565b60200260200101818152505050919050565b60605f80836001600160a01b031663a1d89d966040518163ffffffff1660e01b81526004015f60405180830381865afa158015611d31573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611d5891908101906138af565b9050805f81518110611d6c57611d6c61352e565b60200260200101515f01516001600160a01b031663d393b27a8584600101601c015f886001600160a01b03166001600160a01b031681526020019081526020015f208560010160d30160030154855f81518110611dcb57611dcb61352e565b6020026020010151602001516040518563ffffffff1660e01b8152600401611df694939291906139a0565b5f60405180830381865afa925050508015611e3257506040513d5f823e601f3d908101601f19168201604052611e2f9190810190613a84565b60015b611e545760408051600280825260608201835290916020830190803683370190505b50949350505050565b5f80805f846001600160a01b0316639d63848a6040518163ffffffff1660e01b81526004015f60405180830381865afa158015611e9c573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611ec39190810190613b39565b90505f5b8151811015611f3a57600183015482516001600160a01b0390911690839083908110611ef557611ef561352e565b60200260200101516001600160a01b031614611f3257818181518110611f1d57611f1d61352e565b60200260200101518194509450505050915091565b600101611ec7565b5060405162461bcd60e51b81526020600482015260166024820152752634b12bb2b6361d1034b73b30b634b2103bb2b6361d60511b6044820152606401610e38565b5f6108a0825f80611117835f845f610df68484845f8080806001600160a01b038781165f9081526022830160209081526040808320815160808101835281549586168152600160a01b860460e01b6001600160e01b03191693810193909352600160c01b90940460f81b6001600160f81b031916908201526001830180549495509193909291606084019161201090613542565b80601f016020809104026020016040519081016040528092919081815260200182805461203c90613542565b80156120875780601f1061205e57610100808354040283529160200191612087565b820191905f5260205f20905b81548152906001019060200180831161206a57829003601f168201915b5050509190925250505060408101519091506001600160f81b0319908116016120da576120d1815f015182606001518060200190518101906120c991906134b8565b8888886125bc565b92505050610df6565b60408101516001600160f81b031916607f60f91b016124a3575f815f01516001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015612133573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121579190613bc2565b9050876001600160a01b0316816001600160a01b0316036121d857815f01516001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121d59190613bc2565b90505b61227086156121e757866121eb565b6103845b83518a848b15612205576122008c600a613bdd565b6125ec565b8c6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612241573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122659190613690565b61220090600a613788565b6001600160a01b038281165f9081526022860160209081526040808320815160808101835281549586168152600160a01b860460e01b6001600160e01b03191693810193909352600160c01b90940460f81b6001600160f81b03191690820152600183018054949850919390929160608401916122ec90613542565b80601f016020809104026020016040519081016040528092919081815260200182805461231890613542565b80156123635780601f1061233a57610100808354040283529160200191612363565b820191905f5260205f20905b81548152906001019060200180831161234657829003601f168201915b50505050508152505090505f826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123cf9190613690565b60ff1690505f612409835f015184606001518060200190518101906123f491906134b8565b8c156124005784612402565b8c5b8c5f6125bc565b9050891561249557871561244357866124238b600a613bdd565b6124329064e8d4a510006135b9565b61243c91906135e4565b9650612469565b8661244f8b600a613bdd565b61245c90620f42406135b9565b61246691906135e4565b96505b61247482600a613bdd565b61247e82896135b9565b61248891906135e4565b9650505050505050610df6565b620f424061247e82896135b9565b80516001600160a01b03166124bc575f92505050610df6565b606081015184156124f0578160600151856040516020016124de929190613be8565b60405160208183030381529060405290505b5f80835f01516001600160a01b031684602001518a8a8660405160240161251993929190613c05565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516125579190613668565b5f60405180830381855afa9150503d805f811461258f576040519150601f19603f3d011682016040523d82523d5f602084013e612594565b606091505b5091509150816125ab575f95505050505050610df6565b602001519998505050505050505050565b5f8083116125d5576125d08686868561279e565b6125e2565b6125e2868686868661291f565b9695505050505050565b5f805f6125f98789612c15565b915091508161260c575f92505050610d4d565b61261881858888612dd9565b92505f866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612657573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061267b9190613690565b60ff1690505f866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126e19190613690565b60ff1690505f6126f18284613c23565b9050805f036127285761270583600a613bdd565b612712620f4240886135b9565b61271c91906135e4565b95505050505050610d4d565b5f81131561274c5761273b81600a613bdd565b61274590876135b9565b955061276d565b61275581613c42565b61276090600a613bdd565b61276a90876135e4565b95505b61277883600a613bdd565b612785620f4240886135b9565b61278f91906135e4565b9b9a5050505050505050505050565b5f808590505f816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156127fe575060408051601f3d908101601f191682019092526127fb91810190613690565b60015b61280c575f92505050610df6565b9050816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa925050508015612868575060408051601f3d908101601f1916820190925261286591810190613c72565b60015b612876575f92505050610df6565b846001600160501b03165f03612895575f975050505050505050610df6565b6128a18285428e612ed2565b156128b5575f975050505050505050610df6565b89156128f25788156128cf576128cc8a60066135a6565b99505b6128eb846128e060ff89168d6135a6565b6104c890600a613bdd565b9750612910565b61290d61290087600a613788565b6104c886620f424061111e565b97505b50505050505050949350505050565b5f80866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561297b575060408051601f3d908101601f1916820190925261297891810190613690565b60015b612988575f915050610d4d565b9050866001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa9250505080156129e4575060408051601f3d908101601f191682019092526129e191810190613c72565b60015b6129f1575f915050610d4d565b846001600160501b03165f03612a0f575f9650505050505050610d4d565b612a1b8285428e612ed2565b15612a2e575f9650505050505050610d4d565b612a4f60405180606001604052805f81526020015f81526020015f81525090565b612a59428b6118af565b60208201528815612a7257612a6f8b60066135a6565b9a505b80602001518311612abd578a15612aa257612a94856128e060ff8a168e6135a6565b975050505050505050610d4d565b612a94612ab088600a613788565b6104c887620f424061111e565b4260408201525b8060200151831115612b79578a15612afc5784612ae460ff89168d6135a6565b612aef90600a613bdd565b612af991906135e4565b94505b612b28612b20612b198584604001516118af90919063ffffffff16565b879061111e565b82519061110c565b8152612b35600187613cbe565b604082018490529550612b488d87612f1e565b8094508196505050612b60838683604001518f612ed2565b15612b74575f975050505050505050610d4d565b612ac4565b8a15612ba55784612b8d60ff89168d6135a6565b612b9890600a613bdd565b612ba291906135e4565b94505b612bc6612b20612b19836020015184604001516118af90919063ffffffff16565b81528a15612be1578051612bda908b611129565b9750612c05565b612c028a6104c8612bf38a600a613788565b84516104c890620f424061111e565b97505b5050505050505095945050505050565b5f808263ffffffff165f03612c515760405162461bcd60e51b8152602060048201526002602482015261042560f41b6044820152606401610e38565b6040805160028082526060820183525f9260208301908036833701905050905083815f81518110612c8457612c8461352e565b602002602001019063ffffffff16908163ffffffff16815250505f81600181518110612cb257612cb261352e565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526001600160a01b0386169063883bdbfd90612cf3908490600401613cde565b5f60405180830381865afa925050508015612d2f57506040513d5f823e601f3d908101601f19168201604052612d2c9190810190613d97565b60015b15612dd1575f825f81518110612d4757612d4761352e565b602002602001015183600181518110612d6257612d6261352e565b6020026020010151612d749190613e50565b9050612d91612d8963ffffffff891683613e7d565b60060b612fb0565b94505f8160060b128015612db65750612db063ffffffff881682613eb9565b60060b15155b15612dc95784612dc581613eda565b9550505b600195505050505b509250929050565b5f80612de486612fdf565b90506001600160801b036001600160a01b03821611612e69575f612e116001600160a01b038316806135b9565b9050836001600160a01b0316856001600160a01b031610612e4957612e44600160c01b876001600160801b0316836132f0565b612e61565b612e6181876001600160801b0316600160c01b6132f0565b925050611e54565b5f612e826001600160a01b03831680600160401b6132f0565b9050836001600160a01b0316856001600160a01b031610612eba57612eb5600160801b876001600160801b0316836132f0565b611a15565b611a1581876001600160801b0316600160801b6132f0565b5f841580612edf57508285115b15612eec57506001610df6565b81612ef784876118af565b1115612f0557506001610df6565b5f8413612f1457506001610df6565b505f949350505050565b604051639a6fc8f560e01b81526001600160501b03821660048201525f9081906001600160a01b03851690639a6fc8f59060240160a060405180830381865afa925050508015612f8b575060408051601f3d908101601f19168201909252612f8891810190613c72565b60015b612f9a57505f1990505f612fa9565b50919450909250612fa9915050565b9250929050565b80600281900b81146108af5760405163327269a760e01b81526018600482015260248101839052604401610e38565b5f805f8360020b12612ff4578260020b612ffb565b8260020b5f035b9050620d89e8811115613021576040516315e4079d60e11b815260040160405180910390fd5b5f816001165f0361303657600160801b613048565b6ffffcb933bd6fad37aa2d162d1a5940015b6001600160881b031690506002821615613072576ffff97272373d413259a46990580e213a0260801c5b6004821615613091576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b60088216156130b0576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156130cf576fffcb9843d60f6159c9db58835c9266440260801c5b60208216156130ee576fff973b41fa98c081472e6896dfb254c00260801c5b604082161561310d576fff2ea16466c96a3843ec78b326b528610260801c5b608082161561312c576ffe5dee046a99a2a811c461f1969c30530260801c5b61010082161561314c576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b61020082161561316c576ff987a7253ac413176f2b074cf7815e540260801c5b61040082161561318c576ff3392b0822b70005940c7a398e4b70f30260801c5b6108008216156131ac576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156131cc576fd097f3bdfd2022b8845ad8f792aa58250260801c5b6120008216156131ec576fa9f746462d870fdf8a65dc1f90e061e50260801c5b61400082161561320c576f70d869a156d2a1b890bb3df62baf32f70260801c5b61800082161561322c576f31be135f97d08fd981231505542fcfa60260801c5b6201000082161561324d576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561326d576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561328c576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156132a9576b048a170391f7dc42444e8fa20260801c5b5f8460020b13156132c857805f19816132c4576132c46135d0565b0490505b6401000000008106156132dc5760016132de565b5f5b60ff16602082901c0192505050919050565b5f80805f19858709858702925082811083820303915050805f03613324575f8411613319575f80fd5b508290049050611117565b80841161332f575f80fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b604080516080810182525f8082526020820181905291810191909152606081016133c26133c7565b905290565b60405180608001604052806004906020820280368337509192915050565b5f602082840312156133f5575f80fd5b5035919050565b6001600160a01b0381168114613410575f80fd5b50565b5f60208284031215613423575f80fd5b8135611117816133fc565b81516001600160801b0390811682526020808401519091168183015260408084015115159083015260608084015160e0840192909184015f5b600481101561348457835182529282019290820190600101613467565b5050505092915050565b5f806040838503121561349f575f80fd5b82356134aa816133fc565b946020939093013593505050565b5f602082840312156134c8575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156108a0576108a06134cf565b634e487b7160e01b5f52602160045260245ffd5b63ffffffff818116838216019080821115613527576135276134cf565b5092915050565b634e487b7160e01b5f52603260045260245ffd5b600181811c9082168061355657607f821691505b60208210810361357457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52604160045260245ffd5b5f6001820161359f5761359f6134cf565b5060010190565b808201808211156108a0576108a06134cf565b80820281158282048414176108a0576108a06134cf565b634e487b7160e01b5f52601260045260245ffd5b5f826135f2576135f26135d0565b500490565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b60018060801b0385168152836020820152826040820152608060608201525f6125e260808301846135f7565b5f81518060208401855e5f93019283525090919050565b5f6111178284613651565b63ffffffff828116828216039080821115613527576135276134cf565b5f602082840312156136a0575f80fd5b815160ff81168114611117575f80fd5b600181815b80851115612dd157815f19048211156136d0576136d06134cf565b808516156136dd57918102915b93841c93908002906136b5565b5f826136f8575060016108a0565b8161370457505f6108a0565b816001811461371a576002811461372457613740565b60019150506108a0565b60ff841115613735576137356134cf565b50506001821b6108a0565b5060208310610133831016604e8410600b8410161715613763575081810a6108a0565b61376d83836136b0565b805f1904821115613780576137806134cf565b029392505050565b5f61111760ff8416836136ea565b602081525f61111760208301846135f7565b5f63ffffffff808416806137be576137be6135d0565b92169190910692915050565b604080519081016001600160401b03811182821017156137ec576137ec61357a565b60405290565b604051601f8201601f191681016001600160401b038111828210171561381a5761381a61357a565b604052919050565b5f6001600160401b0382111561383a5761383a61357a565b5060051b60200190565b5f82601f830112613853575f80fd5b81516001600160401b0381111561386c5761386c61357a565b61387f601f8201601f19166020016137f2565b818152846020838601011115613893575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208083850312156138c0575f80fd5b82516001600160401b03808211156138d6575f80fd5b818501915085601f8301126138e9575f80fd5b81516138fc6138f782613822565b6137f2565b81815260059190911b8301840190848101908883111561391a575f80fd5b8585015b8381101561399357805185811115613934575f80fd5b86016040818c03601f190181131561394a575f80fd5b6139526137ca565b8983015161395f816133fc565b8152908201519087821115613972575f80fd5b6139808d8b84860101613844565b818b01528552505091860191860161391e565b5098975050505050505050565b60018060a01b03851681525f6020608060208401525f86545f60018260011c915060018316806139d157607f831692505b6020831081036139ef57634e487b7160e01b5f52602260045260245ffd5b6080880183905260a08801818015613a0e5760018114613a2457613a4d565b60ff198616825284151560051b82019650613a4d565b5f8d8152602090205f5b86811015613a4757815484820152908501908901613a2e565b83019750505b505050505050613a66604085018764ffffffffff169052565b8381036060850152613a7881866135f7565b98975050505050505050565b5f8060408385031215613a95575f80fd5b82516001600160401b0380821115613aab575f80fd5b818501915085601f830112613abe575f80fd5b81516020613ace6138f783613822565b82815260059290921b84018101918181019089841115613aec575f80fd5b948201945b83861015613b0a57855182529482019490820190613af1565b91880151919650909350505080821115613b22575f80fd5b50613b2f85828601613844565b9150509250929050565b5f6020808385031215613b4a575f80fd5b82516001600160401b03811115613b5f575f80fd5b8301601f81018513613b6f575f80fd5b8051613b7d6138f782613822565b81815260059190911b82018301908381019087831115613b9b575f80fd5b928401925b82841015611a15578351613bb3816133fc565b82529284019290840190613ba0565b5f60208284031215613bd2575f80fd5b8151611117816133fc565b5f61111783836136ea565b5f613bf38285613651565b92151560f81b83525050600101919050565b838152826020820152606060408201525f610d4d60608301846135f7565b8181035f831280158383131683831282161715613527576135276134cf565b5f600160ff1b8201613c5657613c566134cf565b505f0390565b80516001600160501b03811681146108af575f80fd5b5f805f805f60a08688031215613c86575f80fd5b613c8f86613c5c565b9450602086015193506040860151925060608601519150613cb260808701613c5c565b90509295509295909350565b6001600160501b03828116828216039080821115613527576135276134cf565b602080825282518282018190525f9190848201906040850190845b81811015613d1b57835163ffffffff1683529284019291840191600101613cf9565b50909695505050505050565b5f82601f830112613d36575f80fd5b81516020613d466138f783613822565b8083825260208201915060208460051b870101935086841115613d67575f80fd5b602086015b84811015613d8c578051613d7f816133fc565b8352918301918301613d6c565b509695505050505050565b5f8060408385031215613da8575f80fd5b82516001600160401b0380821115613dbe575f80fd5b818501915085601f830112613dd1575f80fd5b81516020613de16138f783613822565b82815260059290921b84018101918181019089841115613dff575f80fd5b948201945b83861015613e2b5785518060060b8114613e1c575f80fd5b82529482019490820190613e04565b91880151919650909350505080821115613e43575f80fd5b50613b2f85828601613d27565b600682810b9082900b03667fffffffffffff198112667fffffffffffff821317156108a0576108a06134cf565b5f8160060b8360060b80613e9357613e936135d0565b667fffffffffffff1982145f1982141615613eb057613eb06134cf565b90059392505050565b5f8260060b80613ecb57613ecb6135d0565b808360060b0791505092915050565b5f8160020b627fffff198103613ef257613ef26134cf565b5f19019291505056fea2646970667358221220aac530a7170dd69d771618ad824e6bb60b3e1def6985eed1c95fe1d2e828b6d764736f6c63430008190033