0 txs
0 calls
constructor
No constructor.
functions
getGMValue
viewfunction getGMValue(address _account) view returns (uint256)
getGMValueNormX
viewfunction getGMValueNormX(address _account, address externalPriceXAddress, bytes externalPriceXCall, uint256 amountXValueNorm, bool isInv, bool isExternalPriceX) view returns (uint256)
getManagedAssets
viewfunction getManagedAssets(address _account, address _baseAsset) view returns (address[] assets_, uint256[] amounts_)
getManagedAssetsNormX
viewfunction getManagedAssetsNormX(address _account, address _baseAsset, address externalPriceXAddress, bytes externalPriceXCall, uint256 amountXValueNorm, bool isInv, bool isExternalPriceX) view returns (uint256)
GM_MARKETS
viewfunction GM_MARKETS(uint256) view returns (address)
events
No events.
errors
No errors.
creation bytecode
0x610b0060405273450bb6774dd8a756274e0ab4107953259d2ac541608090815273b56e5e2eb50cf5383342914b0c85fe62dbd861c860a05273d62068697bcc92af253225676d618b0c9f17c66360c05273dab21c4d1f569486334c93685da2b3f9b0a078e860e05273e2730ffe2136aa549327ebce93d58160df7821cb61010052736cb901cc64c024c3fe4404c940ff9a3acc229d2c6101205273de967676db7b1ccdba2bd94b01b5b19de4b563e4610140527371237f8c3d1484495a136022e16840b70ff84a696101605273e55e1a29985488a2c8846a91e925c2b7c6564db161018052730c11ed89889fd03394e8d9d685cc5b85be569c996101a052737b2d09fca2395713dcc2f67323e4876f27b9ecb26101c05273fd46a5702d4d97ce0164375744c65f0c31a3901b6101e0527393385f7c646a3048051914bdfac25f4d620aedf16102005273e902d1526c834d5001575b2d0ef901dfd0aa097a6102205273dc4e96a251ff43eeac710462cd8a9d18dc802f18610240527389eb78679921499632ff16b1be3ee48295cfcd916102605273467c4a46287f6c4918ddf780d4fd7b46419c2291610280527347c031236e19d024b42f8ae6780e44a5731707036102a052738ea4fb801493dad8724f90fb2e279534fa5913666102c052734d9ba415649c4b3c703562770c8ff3033478cea16102e05273cacb964144f9056a8f99447a303e60b4873ca9b46103005273bcb8fe13d02b023e8f94f6881cc0192fd918a5c06103205273262b5203f0fe00d9fe86ffece01d0f54fc1161806103405273d60f1ba6a76979effe706bf090372ebc0a5bf169610360527362feb8ec060a7de5b32bbbf4ac70050f8a043c176103805273d9377d9b9a2327c7778867203deea73ab8a68b6b6103a0527316466a03449cb9218eb6a980aa4a44aaced27c256103c052737de8e1a1fba845a330a6bd91118afda09610fb026103e0527371b7ff592a974e2b501d8a7a11f5c42dcd365244610400527375f190e0be6e8b933a01423efe398c6c721a5cff610420527355391d178ce46e7ac8eaaea50a72d1a5a8a622da6104405273784292e87715d93afd7cb8c941bacafaaa9a51026104605273c25cef6061cf5de5eb761b50e4743c1f5d7e54076104805273df034cd3df9a80eabfa0556232a91e03ca67d5cb6104a052739e79146b3a022af44e0708c6794f03ef798381a56104c05273970e578ff01589bb470ce38a2f1753152a0093666104e0527363dc80ee90f26363b3fcd609007cc9e14c8991be6105005273d4b737892bab8446ea1e8bb901db092fb1ec1791610520527377b2ec357b56c7d05a87971db0188dbb0c7836a561054052736853ea96ff216fab11d2d930ce3c508556a4bdc46105605273d0a1afdde31eb51e8b53bdce989eb8c2404828a461058052736ecf2133e2c9751caadcb6958b9654bae198a7976105a0527366a69c8eb98a7efe22a22611d1967dfec786a7086105c05273872b5d567a2469ed92d252eacb0eb3bb0769e05b6105e0527370d95587d40a2caf56bd97485ab3eec10bee63366106005273b62369752d8ad08392572db6d0cc872127888bed6106205273b489711b1cb86afda48924730084e23310eb48836106405273a8a455ed94b315460cff7d96966d91330f6a3ba06106605273248c35760068ce009a13076d573ed3497a47bcd4610680527312fd1a4bdb96219e637180ff5293409502b2951d6106a052739f159014cc218e942e9e9481742fe5bfa9ac5a2c6106c05273beb1f4ebc9af627ca1e5a75981ce1ae97efeda226106e052734c505e0062459cf8f60fff13279c92ea15ae6e2d61070052730bb2a83f995e1e1eae9d7fdce68ab1ac55b2cc856107205273e61e608ba010ff48a7dce8edd8b906744263d33e61074052730ccb4faa6f1f1b30911619f1184082ab4e25813c61076052732ae5c5cd4843cf588aa8d1289894318130acc8236107805273d9535bb5f58a1a75032416f2dfe7880c30575a416107a0527304decfb37e46075189324817df80a32d22b9ed8d6107c052734d3eb91efd36c2b74181f34b111bc1e91a0d0cb46107e05273fec8f404fbca3b11afd3b3f0c57507c2a06de6366108005273d8471b9ea126272e6d32b5e4782ed76db7e554a46108205273fac5ff56c269432706d47dc82ab082e9ae7d989e61084052733680d7bfe9260d3c5de81aeb2194c119a59a99d16108605273876ff160d63809674e03f82dc4d3c3ae8b0acf28610880527315c6ebd4175fff9ee3c2615c556fcf62d2d9499c6108a052735707673d95a8fd317e2745c4217acd64ca021b686108c052731cbba6346f110c8a5ea739ef2d1eb182990e4eb26108e052737f1fa204bb700853d36994da19f830b6ad18455c610900527309400d9db990d5ed3f35d7be61dfaeb900af03c9610920527345ad16aaa28fb66ef74d5ca0ab9751f2817c81a461094052732d340912aa47e33c90efb078e69e70efe2b34b9b6109605273c7abb2c5f3bf3ceb389df0eecd6120d451170b5061098052732b477989a149b17073d9c9c82ec9cb03591e20c66109a052730418643f94ef14917f1345ce5c460c37de463ef76109c052734fdd333ff9ca409df583f306b6f5a7ffde7907396109e052737bbbf946883a5701350007320f525c5379b8178a610a0052739c2433dfd71096c435be9465220bb2b189375ea7610a2052730cf1fb4d1ff67a3d8ca92c9d6643f8f9be8e03e5610a405273f22cffa7b4174554ff9dbf7b5a8c01faadcea722610a605273e2fedb9e6139a182b98e7c2688ccfa3e9a53c665610a805273bd48149673724f9caee647bb4e9d9ddaf896efeb610aa052737c11f78ce78768518d743e81fdfa2f860c6b9a77610ac05273b686bcb112660343e6d15bdb65297e110c8311c4610ae052620008479060009060546200085c565b503480156200085557600080fd5b50620008d0565b8260548101928215620008a7579160200282015b82811115620008a757825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000870565b50620008b5929150620008b9565b5090565b5b80821115620008b55760008155600101620008ba565b61386e80620008e06000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630e8e2ea21461005c5780632b2b0ace146100855780633c71c31a146100a6578063df0a820e146100c7578063f0c7feaa146100da575b600080fd5b61006f61006a36600461260c565b6100ed565b60405161007c9190612625565b60405180910390f35b610098610093366004612651565b61010d565b60405161007c92919061268a565b6100b96100b436600461275d565b6107bc565b60405190815260200161007c565b6100b96100d53660046127f5565b61091a565b6100b96100e8366004612819565b610a03565b600081605481106100fd57600080fd5b01546001600160a01b0316905081565b606080610118612495565b61012185610f83565b60608201819052516001600160401b03811115610140576101406128c3565b604051908082528060200260200182016040528015610169578160200160208202803683370190505b5060a08201526060810151516001600160401b0381111561018c5761018c6128c3565b6040519080825280602002602001820160405280156101c557816020015b6101b2612506565b8152602001906001900390816101aa5790505b5060c082015260005b8160c00151518110156102b3576000826060015182815181106101f3576101f36128d9565b6020026020010151600001516020015190506000610210826110f2565b9050818460a001518481518110610229576102296128d9565b60200260200101906001600160a01b031690816001600160a01b031681525050604051806060016040528061026183602001516111a8565b815260200161027383604001516111a8565b815260200161028583606001516111a8565b8152508460c00151848151811061029e5761029e6128d9565b602090810291909101015250506001016101ce565b506102d160008051602061381983398151915286600060001961138e565b6080820181905260c082015160405160009263ece9e0c89261031f926000805160206138198339815191529273e6fab3f0c7199b0d34d7fbe83394fc0e0d06e99d92909187906024016128ef565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050509050600080735ca84c34a381434786738735265b9f3fd814b8246001600160a01b03168360405161037c91906129e2565b600060405180830381855afa9150503d80600081146103b7576040519150601f19603f3d011682016040523d82523d6000602084013e6103bc565b606091505b5090925090506001821515146103ed5760405162461bcd60e51b81526004016103e490612a11565b60405180910390fd5b6000818060200190518101906104039190612f14565b905060005b81518110156105c3576000828281518110610425576104256128d9565b60200260200101519050600081600001516040015160000151156104f6576000826000015160000151604001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561048f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b391906130cb565b60ff1690506104c381600a6131e8565b835160200151604001516104e4906c0c9f2c9cd04674edea400000006131f4565b6104ee9190613221565b91505061051d565b816020015160800151602001518260000151602001516040015161051a91906131f4565b90505b60008260a001511315610550576402540be4008260a0015161053f9190613235565b6105499082613263565b9050610592565b60006402540be4008360a0015161056690613276565b6105709190613235565b90508181101561058b576105848183613292565b9150610590565b600091505b505b80156105b957815151604001516105aa908b90611423565b99506105b68982611505565b98505b5050600101610408565b5060006105cf8a6115cc565b90506000805b825181101561065a5760008382815181106105f2576105f26128d9565b602002602001015190506002600681111561060f5761060f6132a5565b8151604001510361063f5760208101515161062b908c90611423565b815151909b5061063c908b90611505565b99505b80516020015161064f9084613263565b9250506001016105d5565b50801561068e5761067f897382af49447d8a07e3bd95bd0d56f35241523fbab1611423565b985061068b8882611505565b97505b6000806106a18d8d8b6060015187611672565b9150915060005b8251811015610715576106dd8382815181106106c6576106c66128d9565b60200260200101518d61142390919063ffffffff16565b9b5061070b8282815181106106f4576106f46128d9565b60200260200101518c61150590919063ffffffff16565b9a506001016106a8565b506000806107268b60a00151611b57565b9150915060005b825181101561079a5761076283828151811061074b5761074b6128d9565b60200260200101518f61142390919063ffffffff16565b9d50610790828281518110610779576107796128d9565b60200260200101518e61150590919063ffffffff16565b9c5060010161072d565b506107a58d8d611e89565b9c509c5050505050505050505050505b9250929050565b60006107c6612495565b6107cf8961091a565b604082015282156108ea57876001600160a01b031687876040516107f49291906132bb565b600060405180830381855afa9150503d806000811461082f576040519150601f19603f3d011682016040523d82523d6000602084013e610834565b606091505b506020830152151580825260011461085e5760405162461bcd60e51b81526004016103e4906132cb565b6000816020015151116108835760405162461bcd60e51b81526004016103e4906132fe565b83156108c25780602001518060200190518101906108a19190613335565b60408201516108b090876131f4565b6108ba9190613221565b91505061090f565b84816040015182602001518060200190518101906108e09190613335565b6108b091906131f4565b83156108ff5760408101516108ba90866131f4565b8481604001516108ba9190613221565b979650505050505050565b60008060005b60548110156109fc57600080826054811061093d5761093d6128d9565b01546040516370a0823160e01b81526001600160a01b03909116906370a082319061096c908890600401612625565b602060405180830381865afa158015610989573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ad9190613335565b905080156109f357806109dc600084605481106109cc576109cc6128d9565b01546001600160a01b03166121c0565b6109e691906131f4565b6109f09084613263565b92505b50600101610920565b5092915050565b6000610a0d612495565b610a168a610f83565b60608201819052516001600160401b03811115610a3557610a356128c3565b604051908082528060200260200182016040528015610a5e578160200160208202803683370190505b5060a08201526060810151516001600160401b03811115610a8157610a816128c3565b604051908082528060200260200182016040528015610aba57816020015b610aa7612506565b815260200190600190039081610a9f5790505b5060c082015260005b8160c0015151811015610ba857600082606001518281518110610ae857610ae86128d9565b6020026020010151600001516020015190506000610b05826110f2565b9050818460a001518481518110610b1e57610b1e6128d9565b60200260200101906001600160a01b031690816001600160a01b0316815250506040518060600160405280610b5683602001516111a8565b8152602001610b6883604001516111a8565b8152602001610b7a83606001516111a8565b8152508460c001518481518110610b9357610b936128d9565b60209081029190910101525050600101610ac3565b50610bc66000805160206138198339815191528b600060001961138e565b6080820181905260c082015160405160009263ece9e0c892610c14926000805160206138198339815191529273e6fab3f0c7199b0d34d7fbe83394fc0e0d06e99d92909187906024016128ef565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050509050600080735ca84c34a381434786738735265b9f3fd814b8246001600160a01b031683604051610c7191906129e2565b600060405180830381855afa9150503d8060008114610cac576040519150601f19603f3d011682016040523d82523d6000602084013e610cb1565b606091505b509092509050600182151514610cd95760405162461bcd60e51b81526004016103e490612a11565b80806020019051810190610ced9190612f14565b60e085015260005b8460e0015151811015610e385760008560e001518281518110610d1a57610d1a6128d9565b6020026020010151905060008160000151604001516000015115610deb576000826000015160000151604001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da891906130cb565b60ff169050610db881600a6131e8565b83516020015160400151610dd9906c0c9f2c9cd04674edea400000006131f4565b610de39190613221565b915050610e12565b8160200151608001516020015182600001516020015160400151610e0f91906131f4565b90505b8015610e2e578087604001818151610e2a9190613263565b9052505b5050600101610cf5565b508515610f52578a6001600160a01b03168a8a604051610e599291906132bb565b600060405180830381855afa9150503d8060008114610e94576040519150601f19603f3d011682016040523d82523d6000602084013e610e99565b606091505b5060208601521515808552600114610ec35760405162461bcd60e51b81526004016103e4906132cb565b600084602001515111610ee85760405162461bcd60e51b81526004016103e4906132fe565b8615610f2a578360200151806020019051810190610f069190613335565b6040850151610f15908a6131f4565b610f1f9190613221565b945050505050610f77565b8784604001518560200151806020019051810190610f489190613335565b610f1591906131f4565b8615610f67576040840151610f1f90896131f4565b878460400151610f1f9190613221565b98975050505050505050565b60606000610fa460008051602061381983398151915284600060001961138e565b905080516001600160401b03811115610fbf57610fbf6128c3565b604051908082528060200260200182016040528015610ff857816020015b610fe561256d565b815260200190600190039081610fdd5790505b50915060005b81518110156110eb57735ca84c34a381434786738735265b9f3fd814b8246001600160a01b0316630fa8f51660008051602061381983398151915284848151811061104b5761104b6128d9565b60200260200101516040518363ffffffff1660e01b81526004016110849291906001600160a01b03929092168252602082015260400190565b6101e060405180830381865afa1580156110a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c6919061334e565b8382815181106110d8576110d86128d9565b6020908102919091010152600101610ffe565b5050919050565b604080516080810182526000808252602082018190528183018190526060820152905163714af34b60e01b815260008051602061381983398151915260048201526001600160a01b0383166024820152735ca84c34a381434786738735265b9f3fd814b8249063714af34b90604401608060405180830381865afa15801561117e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a29190613428565b92915050565b604080518082019091526000808252602082015260006000805160206138198339815191526321f8a7216111db856122ff565b6040518263ffffffff1660e01b81526004016111f991815260200190565b602060405180830381865afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a919061348f565b90506001600160a01b03811661125a575060008082526020820152919050565b60408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b179052905160009182916001600160a01b0385169161129d916129e2565b600060405180830381855afa9150503d80600081146112d8576040519150601f19603f3d011682016040523d82523d6000602084013e6112dd565b606091505b50909250905060018215151461132e5760405162461bcd60e51b81526020600482015260166024820152756661696c6564206c6174657374526f756e644461746160501b60448201526064016103e4565b6000808280602001905181019061134591906134c6565b50919450909250839150600090506305f5e10061136f836c0c9f2c9cd04674edea400000006131f4565b6113799190613221565b80895260208901525095979650505050505050565b6060846001600160a01b031663f069052a6113a886612379565b6040516001600160e01b031960e084901b16815260048101919091526024810186905260448101859052606401600060405180830381865afa1580156113f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261141a9190810190613516565b95945050505050565b60606000835160016114359190613263565b6001600160401b0381111561144c5761144c6128c3565b604051908082528060200260200182016040528015611475578160200160208202803683370190505b50905060005b84518110156114d057848181518110611496576114966128d9565b60200260200101518282815181106114b0576114b06128d9565b6001600160a01b039092166020928302919091019091015260010161147b565b5082818551815181106114e5576114e56128d9565b6001600160a01b0390921660209283029190910190910152905092915050565b60606000835160016115179190613263565b6001600160401b0381111561152e5761152e6128c3565b604051908082528060200260200182016040528015611557578160200160208202803683370190505b50905060005b84518110156115a557848181518110611578576115786128d9565b6020026020010151828281518110611592576115926128d9565b602090810291909101015260010161155d565b5082818551815181106115ba576115ba6128d9565b60209081029190910101529392505050565b6040516342a6f8d360e01b815260008051602061381983398151915260048201526001600160a01b0382166024820152600060448201526000196064820152606090735ca84c34a381434786738735265b9f3fd814b824906342a6f8d390608401600060405180830381865afa15801561164a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111a2919081019061359b565b606080600083518551600361168791906131f4565b6116919190613263565b6001600160401b038111156116a8576116a86128c3565b6040519080825280602002602001820160405280156116d1578160200160208202803683370190505b5090506000805b86518110156117e457600061170d8883815181106116f8576116f86128d9565b602002602001015160000151602001516110f2565b9050878281518110611721576117216128d9565b6020026020010151600001516040015184848061173d906136b0565b95508151811061174f5761174f6128d9565b6001600160a01b039092166020928302919091019091015260408101518484611777816136b0565b955081518110611789576117896128d9565b6001600160a01b0390921660209283029190910190910152606081015184846117b1816136b0565b9550815181106117c3576117c36128d9565b6001600160a01b0390921660209283029190910190910152506001016116d8565b5060005b855181101561185157858181518110611803576118036128d9565b6020026020010151602001516000015183838061181f906136b0565b945081518110611831576118316128d9565b6001600160a01b03909216602092830291909101909101526001016117e8565b50806001600160401b0381111561186a5761186a6128c3565b604051908082528060200260200182016040528015611893578160200160208202803683370190505b509350806001600160401b038111156118ae576118ae6128c3565b6040519080825280602002602001820160405280156118d7578160200160208202803683370190505b5092506000805b82811015611a235760008482815181106118fa576118fa6128d9565b6020026020010151905060006001600160a01b0316816001600160a01b031614806119365750896001600160a01b0316816001600160a01b0316145b156119415750611a1b565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190611970908f90600401612625565b602060405180830381865afa15801561198d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b19190613335565b90508015611a1857818885815181106119cc576119cc6128d9565b60200260200101906001600160a01b031690816001600160a01b031681525050808785815181106119ff576119ff6128d9565b602090810291909101015283611a14816136b0565b9450505b50505b6001016118de565b506000816001600160401b03811115611a3e57611a3e6128c3565b604051908082528060200260200182016040528015611a67578160200160208202803683370190505b5090506000826001600160401b03811115611a8457611a846128c3565b604051908082528060200260200182016040528015611aad578160200160208202803683370190505b50905060005b83811015611b4657878181518110611acd57611acd6128d9565b6020026020010151838281518110611ae757611ae76128d9565b60200260200101906001600160a01b031690816001600160a01b031681525050868181518110611b1957611b196128d9565b6020026020010151828281518110611b3357611b336128d9565b6020908102919091010152600101611ab3565b50909a909950975050505050505050565b60608082516002611b6891906131f4565b6001600160401b03811115611b7f57611b7f6128c3565b604051908082528060200260200182016040528015611ba8578160200160208202803683370190505b50915082516002611bb991906131f4565b6001600160401b03811115611bd057611bd06128c3565b604051908082528060200260200182016040528015611bf9578160200160208202803683370190505b5090506000805b8451811015611d5a576000611c2d868381518110611c2057611c206128d9565b60200260200101516110f2565b90506000611c43826000015183604001516123b4565b90508015611cae578160400151868581518110611c6257611c626128d9565b60200260200101906001600160a01b031690816001600160a01b03168152505080858581518110611c9557611c956128d9565b602090810291909101015283611caa816136b0565b9450505b81606001516001600160a01b031682604001516001600160a01b031614611d50576000611ce3836000015184606001516123b4565b90508015611d4e578260600151878681518110611d0257611d026128d9565b60200260200101906001600160a01b031690816001600160a01b03168152505080868681518110611d3557611d356128d9565b602090810291909101015284611d4a816136b0565b9550505b505b5050600101611c00565b506000816001600160401b03811115611d7557611d756128c3565b604051908082528060200260200182016040528015611d9e578160200160208202803683370190505b5090506000826001600160401b03811115611dbb57611dbb6128c3565b604051908082528060200260200182016040528015611de4578160200160208202803683370190505b50905060005b83811015611e7d57858181518110611e0457611e046128d9565b6020026020010151838281518110611e1e57611e1e6128d9565b60200260200101906001600160a01b031690816001600160a01b031681525050848181518110611e5057611e506128d9565b6020026020010151828281518110611e6a57611e6a6128d9565b6020908102919091010152600101611dea565b50909590945092505050565b6060808351600003611eb357505060408051600080825260208201908152818301909252906107b5565b600084516001600160401b03811115611ece57611ece6128c3565b604051908082528060200260200182016040528015611ef7578160200160208202803683370190505b509050600085516001600160401b03811115611f1557611f156128c3565b604051908082528060200260200182016040528015611f3e578160200160208202803683370190505b5090506000805b8751811015612096576000888281518110611f6257611f626128d9565b602002602001015190506000888381518110611f8057611f806128d9565b602002602001015190508060001480611fa057506001600160a01b038216155b15611fac57505061208e565b6000805b8581101561202557836001600160a01b0316888281518110611fd457611fd46128d9565b60200260200101516001600160a01b03160361201d5782878281518110611ffd57611ffd6128d9565b602002602001018181516120119190613263565b90525060019150612025565b600101611fb0565b508061208a578287868151811061203e5761203e6128d9565b60200260200101906001600160a01b031690816001600160a01b03168152505081868681518110612071576120716128d9565b602090810291909101015284612086816136b0565b9550505b5050505b600101611f45565b50806001600160401b038111156120af576120af6128c3565b6040519080825280602002602001820160405280156120d8578160200160208202803683370190505b509450806001600160401b038111156120f3576120f36128c3565b60405190808252806020026020018201604052801561211c578160200160208202803683370190505b50935060005b818110156121b55783818151811061213c5761213c6128d9565b6020026020010151868281518110612156576121566128d9565b60200260200101906001600160a01b031690816001600160a01b031681525050828181518110612188576121886128d9565b60200260200101518582815181106121a2576121a26128d9565b6020908102919091010152600101612122565b505050509250929050565b6000806121cc836110f2565b6020810151909150735ca84c34a381434786738735265b9f3fd814b8249063095ce6c5906000805160206138198339815191529084906001600160a01b03166122215761221c85606001516111a8565b61222e565b61222e85602001516111a8565b61223b86604001516111a8565b61224887606001516111a8565b60405160200161227b906020808252600f908201526e464f525f5749544844524157414c5360881b604082015260600190565b6040516020818303038152906040528051906020012060016040518863ffffffff1660e01b81526004016122b597969594939291906136c9565b61018060405180830381865afa1580156122d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122f79190613764565b509392505050565b600060405160200161232f906020808252600a908201526914149250d157d191515160b21b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b03841690820152606001604051602081830303815290604052805190602001209050919050565b600060405160200161232f906020808252601590820152741050d0d3d5539517d413d4d2551253d397d31254d5605a1b604082015260600190565b6000808383604051602001612407929190606080825260119082015270434c41494d41424c455f46554e44494e4760781b60808201526001600160a01b0392831660208201529116604082015260a00190565b60408051808303601f1901815290829052805160209091012063bd02d0f560e01b82526004820181905291506000805160206138198339815191529063bd02d0f590602401602060405180830381865afa158015612469573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248d9190613335565b949350505050565b604051806101c00160405280600015158152602001606081526020016000815260200160608152602001606081526020016060815260200160608152602001606081526020016060815260200160008152602001606081526020016060815260200160608152602001606081525090565b6040805160a08101909152600060608201818152608083019190915281908152602001612546604051806040016040528060008152602001600081525090565b8152602001612568604051806040016040528060008152602001600081525090565b905290565b6040805160c081019091526000606082018181526080830182905260a0830191909152819081526020016125f460405180610160016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b81526040805160208181019092526000815291015290565b60006020828403121561261e57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461264e57600080fd5b50565b6000806040838503121561266457600080fd5b823561266f81612639565b9150602083013561267f81612639565b809150509250929050565b604080825283519082018190526000906020906060840190828701845b828110156126cc5781516001600160a01b0316845292840192908401906001016126a7565b5050508381038285015284518082528583019183019060005b81811015612701578351835292840192918401916001016126e5565b5090979650505050505050565b60008083601f84011261272057600080fd5b5081356001600160401b0381111561273757600080fd5b6020830191508360208285010111156107b557600080fd5b801515811461264e57600080fd5b600080600080600080600060c0888a03121561277857600080fd5b873561278381612639565b9650602088013561279381612639565b955060408801356001600160401b038111156127ae57600080fd5b6127ba8a828b0161270e565b9096509450506060880135925060808801356127d58161274f565b915060a08801356127e58161274f565b8091505092959891949750929550565b60006020828403121561280757600080fd5b813561281281612639565b9392505050565b60008060008060008060008060e0898b03121561283557600080fd5b883561284081612639565b9750602089013561285081612639565b9650604089013561286081612639565b955060608901356001600160401b0381111561287b57600080fd5b6128878b828c0161270e565b9096509450506080890135925060a08901356128a28161274f565b915060c08901356128b28161274f565b809150509295985092959890939650565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038681168252851660208083019190915260a06040808401829052865191840182905260009260c09283860190898301865b8281101561294457815184529284019290840190600101612928565b505050858103606087015287518082528289019183019060005b818110156129bb57835161297d84825180518252602090810151910152565b858101516129978886018280518252602090810151910152565b50860151805160808501526020015160a0840152928401929186019160010161295e565b50506001600160a01b038816608088015294506129d89350505050565b9695505050505050565b6000825160005b81811015612a0357602081860181015185830152016129e9565b506000920191825250919050565b6020808252601f908201527f6661696c206765744163636f756e74506f736974696f6e496e666f4c69737400604082015260600190565b604051606081016001600160401b0381118282101715612a6a57612a6a6128c3565b60405290565b604051602081016001600160401b0381118282101715612a6a57612a6a6128c3565b60405160c081016001600160401b0381118282101715612a6a57612a6a6128c3565b604051608081016001600160401b0381118282101715612a6a57612a6a6128c3565b6040516101c081016001600160401b0381118282101715612a6a57612a6a6128c3565b60405161014081016001600160401b0381118282101715612a6a57612a6a6128c3565b60405161016081016001600160401b0381118282101715612a6a57612a6a6128c3565b604051601f8201601f191681016001600160401b0381118282101715612b6757612b676128c3565b604052919050565b60006001600160401b03821115612b8857612b886128c3565b5060051b60200190565b8051612b9d81612639565b919050565b600060608284031215612bb457600080fd5b612bbc612a48565b90508151612bc981612639565b81526020820151612bd981612639565b60208201526040820151612bec81612639565b604082015292915050565b600060208284031215612c0957600080fd5b612c11612a70565b90508151612c1e8161274f565b815292915050565b6000610100808385031215612c3a57600080fd5b604051908101906001600160401b0382118183101715612c5c57612c5c6128c3565b816040528092508351815260208401519150612c7782612639565b816020820152612c8960408501612b92565b6040820152606084015160608201526080840151608082015260a084015160a082015260c084015160c082015260e084015160e0820152505092915050565b600060c08284031215612cda57600080fd5b612ce2612a92565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015292915050565b600060808284031215612d3257600080fd5b612d3a612ab4565b90508151815260208201516020820152604082015160408201526060820151606082015292915050565b600060608284031215612d7657600080fd5b612d7e612a48565b90508151612d8b81612639565b80825250602082015160208201526040820151604082015292915050565b600060408284031215612dbb57600080fd5b604051604081018181106001600160401b0382111715612ddd57612ddd6128c3565b604052825181526020928301519281019290925250919050565b60006104008284031215612e0a57600080fd5b612e12612ad6565b9050612e1e8383612c26565b8152610100612e2f84828501612cc8565b6020830152612e42846101c08501612d20565b6040830152612e55846102408501612d64565b6060830152612e68846102a08501612da9565b60808301526102e083015160a083015261030083015160c083015261032083015160e0830152610340830151908201526103608201516101208201526103808201516101408201526103a08201516101608201526103c08201516101808201526103e0909101516101a0820152919050565b600060608284031215612eec57600080fd5b612ef4612a48565b905081518152602082015160208201526040820151604082015292915050565b60006020808385031215612f2757600080fd5b82516001600160401b03811115612f3d57600080fd5b8301601f81018513612f4e57600080fd5b8051612f61612f5c82612b6f565b612b3f565b8181526106809182028301840191848201919088841115612f8157600080fd5b938501935b838510156130bf5784890381811215612f9e57600080fd5b612fa6612a92565b6101c080831215612fb657600080fd5b612fbe612a48565b612fc88d8a612ba2565b815261014080605f1986011215612fde57600080fd5b612fe6612af9565b945060608a0151855260808a01518b86015260a08a01518060408701525060c08a0151606086015260e08a01516080860152610100808b015160a0870152610120808c015160c0880152828c015160e08801526101608c0151828801526101808c015181880152505050838a8201526130638d6101a08b01612bf7565b604082015282526130768c898301612df7565b89830152506130898b6105c08901612eda565b60408201526106208701516060820152610640870151608082015261066087015160a08201528452509384019391850191612f86565b50979650505050505050565b6000602082840312156130dd57600080fd5b815160ff8116811461281257600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561313f578160001904821115613125576131256130ee565b8085161561313257918102915b93841c9390800290613109565b509250929050565b600082613156575060016111a2565b81613163575060006111a2565b816001811461317957600281146131835761319f565b60019150506111a2565b60ff841115613194576131946130ee565b50506001821b6111a2565b5060208310610133831016604e8410600b84101617156131c2575081810a6111a2565b6131cc8383613104565b80600019048211156131e0576131e06130ee565b029392505050565b60006128128383613147565b80820281158282048414176111a2576111a26130ee565b634e487b7160e01b600052601260045260246000fd5b6000826132305761323061320b565b500490565b6000826132445761324461320b565b600160ff1b82146000198414161561325e5761325e6130ee565b500590565b808201808211156111a2576111a26130ee565b6000600160ff1b820161328b5761328b6130ee565b5060000390565b818103818111156111a2576111a26130ee565b634e487b7160e01b600052602160045260246000fd5b8183823760009101908152919050565b602080825260199082015278195e1d195c9b985b141c9a58d95610d85b1b0819985a5b1959603a1b604082015260600190565b6020808252601b908201527f6261642065787465726e616c50726963655843616c6c20646174610000000000604082015260600190565b60006020828403121561334757600080fd5b5051919050565b60008183036101e081121561336257600080fd5b61336a612a48565b6133748585612ba2565b815261016080605f198401121561338a57600080fd5b613392612b1c565b9250606085015183526080850151602084015260a0850151604084015260c0850151606084015260e085015160808401526101008086015160a08501526101208087015160c08601526101408088015160e08701528388015183870152610180880151828701526101a0880151818701525050505081602082015261341b856101c08601612bf7565b6040820152949350505050565b60006080828403121561343a57600080fd5b613442612ab4565b825161344d81612639565b8152602083015161345d81612639565b6020820152604083015161347081612639565b6040820152606083015161348381612639565b60608201529392505050565b6000602082840312156134a157600080fd5b815161281281612639565b805169ffffffffffffffffffff81168114612b9d57600080fd5b600080600080600060a086880312156134de57600080fd5b6134e7866134ac565b945060208601519350604086015192506060860151915061350a608087016134ac565b90509295509295909350565b6000602080838503121561352957600080fd5b82516001600160401b0381111561353f57600080fd5b8301601f8101851361355057600080fd5b805161355e612f5c82612b6f565b81815260059190911b8201830190838101908783111561357d57600080fd5b928401925b8284101561090f57835182529284019290840190613582565b600060208083850312156135ae57600080fd5b82516001600160401b038111156135c457600080fd5b8301601f810185136135d557600080fd5b80516135e3612f5c82612b6f565b81815260a0918202830184019184820191908884111561360257600080fd5b938501935b838510156130bf57848903818112156136205760008081fd5b613628612a48565b6060808312156136385760008081fd5b613640612a48565b88518152898901518a8201526040808a0151818301528184528a605f198601121561366d57600091508182fd5b613675612a70565b928a015192945061368583612639565b828552848b85015261369a8e60808c01612bf7565b9084015250508452509384019391850191613607565b6000600182016136c2576136c26130ee565b5060010190565b60006101a08201905060018060a01b03808a1683528089511660208401528060208a01511660408401528060408a01511660608401528060608a01511660808401525061372360a083018880518252602090810151910152565b855160e08301526020860151610100830152845161012083015260208501516101408301528361016083015282151561018083015298975050505050505050565b60008082840361018081121561377957600080fd5b8351925061016080601f198301121561379157600080fd5b613799612b1c565b91506020850151825260408501516020830152606085015160408301526080850151606083015260a0850151608083015260c085015160a083015260e085015160c08301526101008086015160e0840152610120808701518285015261014091508187015181850152508186015181840152505080915050925092905056fe000000000000000000000000fd70de6b91282d8017aa4e741e9ae325cab992d8a264697066735822122070453f1182455661dddd33f08b9431152aa9583637ca89eb02f3def79ffd48b164736f6c63430008180033