@pendle/core-v2 4.5.2 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.dbg.json +1 -1
  2. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.json +2 -2
  3. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.dbg.json +4 -0
  4. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.json +1070 -0
  5. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.dbg.json +4 -0
  6. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.json +1144 -0
  7. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.dbg.json +4 -0
  8. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.json +1111 -0
  9. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol/PendleKarakVaultSYBaseUpg.dbg.json +4 -0
  10. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol/PendleKarakVaultSYBaseUpg.json +1036 -0
  11. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.dbg.json +4 -0
  12. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.json +1096 -0
  13. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.dbg.json +4 -0
  14. package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.json +1116 -0
  15. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
  16. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
  17. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.json +2 -2
  19. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  20. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  21. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  22. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  23. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.json +2 -2
  25. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.json +2 -2
  27. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.json +2 -2
  29. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  30. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.json +19 -0
  31. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  32. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.json +1200 -34
  33. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  34. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +1228 -62
  35. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +4 -0
  36. package/build/artifacts/contracts/interfaces/{IPPtLpOracle.sol/IPPtLpOracle.json → IPPYLpOracle.sol/IPPYLpOracle.json} +50 -2
  37. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +4 -0
  38. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.json +30 -0
  39. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +4 -0
  40. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.json +37 -0
  41. package/build/artifacts/contracts/interfaces/Karak/IKarakVault.sol/IKarakVault.dbg.json +4 -0
  42. package/build/artifacts/contracts/interfaces/Karak/IKarakVault.sol/IKarakVault.json +24 -0
  43. package/build/artifacts/contracts/interfaces/Karak/IKarakVaultSupervisor.sol/IKarakVaultSupervisor.dbg.json +4 -0
  44. package/build/artifacts/contracts/interfaces/Karak/IKarakVaultSupervisor.sol/IKarakVaultSupervisor.json +76 -0
  45. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  46. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +25 -2
  47. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  48. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  49. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  50. package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  51. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +4 -0
  52. package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.json +422 -0
  53. package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +4 -0
  54. package/build/artifacts/contracts/oracles/{PendlePtOracleLib.sol/PendlePtOracleLib.json → PendlePYOracleLib.sol/PendlePYOracleLib.json} +4 -4
  55. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +1 -1
  56. package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +2 -2
  57. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +4 -0
  58. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +183 -0
  59. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +4 -0
  60. package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +183 -0
  61. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  62. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  63. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  64. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +1202 -36
  65. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  66. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  67. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  68. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  69. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +4 -0
  70. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +34 -0
  71. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  72. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol +32 -0
  73. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol +80 -0
  74. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol +73 -0
  75. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol +141 -0
  76. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol +18 -0
  77. package/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol +71 -0
  78. package/contracts/interfaces/IERC4626.sol +2 -0
  79. package/contracts/interfaces/IPActionMiscV3.sol +99 -0
  80. package/contracts/interfaces/{IPPtLpOracle.sol → IPPYLpOracle.sol} +5 -1
  81. package/contracts/interfaces/IPReflector.sol +6 -0
  82. package/contracts/interfaces/IPTokenWithSupplyCap.sol +9 -0
  83. package/contracts/interfaces/Karak/IKarakVault.sol +6 -0
  84. package/contracts/interfaces/Karak/IKarakVaultSupervisor.sol +8 -0
  85. package/contracts/offchain-helpers/PendlePoolDeployHelper.sol +5 -0
  86. package/contracts/oracles/PendleLpOracleLib.sol +4 -4
  87. package/contracts/oracles/{PendlePtLpOracle.sol → PendlePYLpOracle.sol} +51 -21
  88. package/contracts/oracles/{PendlePtOracleLib.sol → PendlePYOracleLib.sol} +31 -1
  89. package/contracts/oracles/samples/BoringLpGlpOracle.sol +2 -2
  90. package/contracts/oracles/samples/{BoringPtUsdChainlinkOracle.sol → BoringPYUsdChainlinkAssetOracle.sol} +36 -12
  91. package/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol +102 -0
  92. package/contracts/router/ActionMiscV3.sol +182 -34
  93. package/contracts/router/ActionSwapYTV3.sol +0 -85
  94. package/contracts/router/Reflector.sol +70 -0
  95. package/contracts/router/base/ActionBase.sol +90 -1
  96. package/deployments/1-core.json +11 -2
  97. package/deployments/1-markets/KARAK-SUSDE-MAINNET-SEP2024.json +14 -0
  98. package/deployments/1-markets/KARAK-USDE-MAINNET-SEP2024.json +14 -0
  99. package/deployments/1-markets/KARAK-WEETH-MAINNET-SEP2024.json +14 -0
  100. package/deployments/10-core.json +11 -2
  101. package/deployments/42161-core.json +11 -2
  102. package/deployments/42161-markets/CAMELOT-PEP-ARBITRUM-JUNE2025.json +14 -0
  103. package/deployments/42161-markets/RSETH-ARBITRUM-SEP2024-NEW.json +11 -0
  104. package/deployments/5000-core.json +11 -2
  105. package/deployments/56-core.json +11 -2
  106. package/package.json +1 -1
  107. package/typechain-types/ActionMiscV3.ts +628 -16
  108. package/typechain-types/IERC4626.ts +34 -0
  109. package/typechain-types/IKarakVault.ts +84 -0
  110. package/typechain-types/IKarakVaultSupervisor.ts +190 -0
  111. package/typechain-types/IPActionMiscV3.ts +628 -16
  112. package/typechain-types/IPAllActionV3.ts +535 -0
  113. package/typechain-types/IPReflector.ts +95 -0
  114. package/typechain-types/IPTokenWithSupplyCap.ts +110 -0
  115. package/typechain-types/PendleKarakVaultERC20SY.ts +1324 -0
  116. package/typechain-types/PendleKarakVaultEzETHSY.ts +1400 -0
  117. package/typechain-types/PendleKarakVaultSUSDESY.ts +1380 -0
  118. package/typechain-types/PendleKarakVaultSYBaseUpg.ts +1312 -0
  119. package/typechain-types/PendleKarakVaultUSDESY.ts +1366 -0
  120. package/typechain-types/PendleKarakVaultWEETHSY.ts +1370 -0
  121. package/typechain-types/PendlePYLpOracle.ts +10 -3
  122. package/typechain-types/PendlePoolDeployHelper.ts +44 -0
  123. package/typechain-types/Reflector.ts +95 -0
  124. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  125. package/typechain-types/factories/ActionMiscV3__factory.ts +1201 -35
  126. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  127. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  128. package/typechain-types/factories/BoringLpGlpOracle__factory.ts +1 -1
  129. package/typechain-types/factories/IERC4626__factory.ts +19 -0
  130. package/typechain-types/factories/IKarakVaultSupervisor__factory.ts +95 -0
  131. package/typechain-types/factories/IKarakVault__factory.ts +36 -0
  132. package/typechain-types/factories/IPActionMiscV3__factory.ts +1200 -34
  133. package/typechain-types/factories/IPAllActionV3__factory.ts +1228 -62
  134. package/typechain-types/factories/IPReflector__factory.ts +42 -0
  135. package/typechain-types/factories/IPTokenWithSupplyCap__factory.ts +56 -0
  136. package/typechain-types/factories/PendleApxETHSY__factory.ts +1 -1
  137. package/typechain-types/factories/PendleERC4626SYUpg__factory.ts +1 -1
  138. package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
  139. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  140. package/typechain-types/factories/PendleKarakVaultERC20SY__factory.ts +1139 -0
  141. package/typechain-types/factories/PendleKarakVaultEzETHSY__factory.ts +1236 -0
  142. package/typechain-types/factories/PendleKarakVaultSUSDESY__factory.ts +1180 -0
  143. package/typechain-types/factories/PendleKarakVaultSYBaseUpg__factory.ts +1055 -0
  144. package/typechain-types/factories/PendleKarakVaultUSDESY__factory.ts +1165 -0
  145. package/typechain-types/factories/PendleKarakVaultWEETHSY__factory.ts +1189 -0
  146. package/typechain-types/factories/PendlePYLpOracle__factory.ts +12 -24
  147. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +24 -1
  148. package/typechain-types/factories/PendlePufStETHSY__factory.ts +1 -1
  149. package/typechain-types/factories/PendlePufWETHSY__factory.ts +1 -1
  150. package/typechain-types/factories/PendleSUSDESY__factory.ts +1 -1
  151. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  152. package/typechain-types/factories/Reflector__factory.ts +84 -0
  153. package/typechain-types/hardhat.d.ts +99 -0
  154. package/typechain-types/index.ts +22 -0
  155. package/build/artifacts/contracts/interfaces/IPPtLpOracle.sol/IPPtLpOracle.dbg.json +0 -4
  156. package/build/artifacts/contracts/oracles/PendlePtLpOracle.sol/PendlePtLpOracle.dbg.json +0 -4
  157. package/build/artifacts/contracts/oracles/PendlePtLpOracle.sol/PendlePtLpOracle.json +0 -367
  158. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +0 -4
  159. package/build/artifacts/contracts/oracles/samples/BoringPtUsdChainlinkOracle.sol/BoringPtUsdChainlinkOracle.dbg.json +0 -4
  160. package/build/artifacts/contracts/oracles/samples/BoringPtUsdChainlinkOracle.sol/BoringPtUsdChainlinkOracle.json +0 -157
@@ -1037,7 +1037,7 @@ const _abi = [
1037
1037
  ];
1038
1038
 
1039
1039
  const _bytecode =
1040
- "0x6101e06040523480156200001257600080fd5b506040516200353738038062003537833981016040819052620000359162000769565b8282828282826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000079573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009f9190620007e5565b6040805180820190915260018152603160f81b602082015283908184846003620000ca8482620008a2565b506004620000d98382620008a2565b5060ff166080525050600280546001600160f81b0316600160f81b179055620001048260056200039d565b61014052620001158160066200039d565b61016052815160208084019190912061010052815190820120610120524660c052620001a56101005161012051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60a05250503060e0525050603a805460ff1916905550600954600160a81b900460ff1615808015620001e457506009546001600160a01b90910460ff16105b80620002075750303b158015620002075750600954600160a01b900460ff166001145b620002705760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6009805460ff60a01b1916600160a01b17905580156200029e576009805460ff60a81b1916600160a81b1790555b6001600160a01b03821661018052620002b6620003d6565b8015620002ff576009805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050506001600160a01b0381166101c0819052604080516338d52e0f60e01b815290516338d52e0f916004808201926020929091908290030181865afa1580156200034f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037591906200096e565b6001600160a01b03166101a08190526101c05162000394919062000459565b50505062000a77565b6000602083511015620003bd57620003b58362000528565b9050620003d0565b81620003ca8482620008a2565b5060ff90505b92915050565b600954600160a81b900460ff16620004455760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000267565b600880546001600160a01b03191633179055565b6001600160a01b0382166200046c575050565b6200048060026001600160601b036200098c565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015620004da573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005009190620009c1565b1015620005245762000515828260006200056b565b6200052482826000196200056b565b5050565b600080829050601f8151111562000556578260405163305a27a960e01b8152600401620002679190620009db565b8051620005638262000a10565b179392505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151600092839290871691620005c9919062000a35565b6000604051808303816000865af19150503d806000811462000608576040519150601f19603f3d011682016040523d82523d6000602084013e6200060d565b606091505b50915091508180156200063b5750805115806200063b5750808060200190518101906200063b919062000a53565b620006785760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640162000267565b5050505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006b257818101518382015260200162000698565b50506000910152565b600082601f830112620006cd57600080fd5b81516001600160401b0380821115620006ea57620006ea6200067f565b604051601f8301601f19908116603f011681019082821181831017156200071557620007156200067f565b816040528381528660208588010111156200072f57600080fd5b6200074284602083016020890162000695565b9695505050505050565b80516001600160a01b03811681146200076457600080fd5b919050565b6000806000606084860312156200077f57600080fd5b83516001600160401b03808211156200079757600080fd5b620007a587838801620006bb565b94506020860151915080821115620007bc57600080fd5b50620007cb86828701620006bb565b925050620007dc604085016200074c565b90509250925092565b600060208284031215620007f857600080fd5b815160ff811681146200080a57600080fd5b9392505050565b600181811c908216806200082657607f821691505b6020821081036200084757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200089d576000816000526020600020601f850160051c81016020861015620008785750805b601f850160051c820191505b81811015620008995782815560010162000884565b5050505b505050565b81516001600160401b03811115620008be57620008be6200067f565b620008d681620008cf845462000811565b846200084d565b602080601f8311600181146200090e5760008415620008f55750858301515b600019600386901b1c1916600185901b17855562000899565b600085815260208120601f198616915b828110156200093f578886015182559484019460019091019084016200091e565b50858210156200095e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200098157600080fd5b6200080a826200074c565b60006001600160601b0383811680620009b557634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b600060208284031215620009d457600080fd5b5051919050565b6020815260008251806020840152620009fc81604085016020870162000695565b601f01601f19169190910160400192915050565b80516020808301519190811015620008475760001960209190910360031b1b16919050565b6000825162000a4981846020870162000695565b9190910192915050565b60006020828403121562000a6657600080fd5b815180151581146200080a57600080fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516129e562000b52600039600081816106850152818161077d01528181610acc01528181610bab01528181610e5501528181611218015281816113e10152818161143b01528181611c4b0152611c9f01526000818161050d0152818161063101528181610a7801526111dd0152600061041b01526000610f0e01526000610ee3015260006119430152600061191b01526000611876015260006118a0015260006118ca0152600061031301526129e56000f3fe6080604052600436106101b95760003560e01c806306fdde03146101c5578063071bc3c9146101f0578063078dfbe714610212578063095ea7b314610234578063128fced11461026457806318160ddd1461029157806320e8c565146102b9578063213cae63146102cc57806323b872dd146102e1578063313ce567146103015780633644e515146103475780633ba0b9a91461035c5780633f4ba83a146103715780634e71e0c8146103865780635c975abb1461039b57806370a08231146103b3578063769f8e5d146103e957806376d5de8514610409578063784367d61461044a5780637ecebe001461046a5780638456cb591461048a57806384b0196e1461049f5780638da5cb5b146104c757806395d89b41146104e7578063a40bee50146104fc578063a9059cbb1461053d578063b8f82b261461055d578063c4f59f9b1461057d578063cbe52ae31461059e578063d505accf146105be578063da88ecb4146105de578063dd62ed3e146105ff578063e0bab4c41461061f578063e30c397814610653578063e789f43314610673578063ef5cfb8c14610264578063f8b2f991146105de578063fa5a4f06146106a757600080fd5b366101c057005b600080fd5b3480156101d157600080fd5b506101da6106c7565b6040516101e7919061242e565b60405180910390f35b3480156101fc57600080fd5b50610205610759565b6040516101e79190612441565b34801561021e57600080fd5b5061023261022d3660046124b8565b6107d2565b005b34801561024057600080fd5b5061025461024f366004612501565b6108d8565b60405190151581526020016101e7565b34801561027057600080fd5b5061028461027f36600461252b565b6108f2565b6040516101e79190612582565b34801561029d57600080fd5b506002546001600160f81b03165b6040519081526020016101e7565b6102ab6102c7366004612595565b61090d565b3480156102d857600080fd5b50610205610a56565b3480156102ed57600080fd5b506102546102fc3660046125d7565b610afe565b34801561030d57600080fd5b506103357f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016101e7565b34801561035357600080fd5b506102ab610b7c565b34801561036857600080fd5b506102ab610b8b565b34801561037d57600080fd5b50610232610c1e565b34801561039257600080fd5b50610232610c52565b3480156103a757600080fd5b50603a5460ff16610254565b3480156103bf57600080fd5b506102ab6103ce36600461252b565b6001600160a01b031660009081526020819052604090205490565b3480156103f557600080fd5b506102ab610404366004612613565b610cfe565b34801561041557600080fd5b5061043d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516101e7919061266e565b34801561045657600080fd5b5061025461046536600461252b565b610e53565b34801561047657600080fd5b506102ab61048536600461252b565b610e85565b34801561049657600080fd5b50610232610ea3565b3480156104ab57600080fd5b506104b4610ed5565b6040516101e79796959493929190612682565b3480156104d357600080fd5b5060085461043d906001600160a01b031681565b3480156104f357600080fd5b506101da610f5e565b34801561050857600080fd5b5060007f000000000000000000000000000000000000000000000000000000000000000060126040516101e793929190612708565b34801561054957600080fd5b50610254610558366004612501565b610f6d565b34801561056957600080fd5b506102ab610578366004612501565b610fdf565b34801561058957600080fd5b50604080516000815260208101909152610205565b3480156105aa57600080fd5b506102ab6105b9366004612501565b61101a565b3480156105ca57600080fd5b506102326105d936600461274a565b61104a565b3480156105ea57600080fd5b50604080516000815260208101909152610284565b34801561060b57600080fd5b506102ab61061a3660046127bd565b6111ae565b34801561062b57600080fd5b5061043d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561065f57600080fd5b5060095461043d906001600160a01b031681565b34801561067f57600080fd5b5061043d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156106b357600080fd5b506102546106c236600461252b565b6111d9565b6060600380546106d6906127f0565b80601f0160208091040260200160405190810160405280929190818152602001828054610702906127f0565b801561074f5780601f106107245761010080835404028352916020019161074f565b820191906000526020600020905b81548152906001019060200180831161073257829003601f168201915b5050505050905090565b604080516001808252818301909252606091602080830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000816000815181106107af576107af612824565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6008546001600160a01b031633146108055760405162461bcd60e51b81526004016107fc9061283a565b60405180910390fd5b81156108b7576001600160a01b03831615158061081f5750805b6108635760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016107fc565b6008546040516001600160a01b0380861692169060008051602061297083398151915290600090a3600880546001600160a01b0385166001600160a01b031991821617909155600980549091169055505050565b600980546001600160a01b0319166001600160a01b0385161790555b505050565b6000336108e6818585611251565b60019150505b92915050565b604080516000808252602082019092526060915b5092915050565b600254600090600119600160f81b90910460ff160161093e5760405162461bcd60e51b81526004016107fc9061286f565b600280546001600160f81b0316600160f91b17905561095c846111d9565b61097b57836040516315d57ce360e31b81526004016107fc919061266e565b8260000361099c57604051630a907f2f60e41b815260040160405180910390fd5b6109a7843385611376565b6109b184846113dd565b9050818110156109d8578082604051635e38f95d60e11b81526004016107fc9291906128a6565b6109e285826114b7565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d598685604051610a319291906128a6565b60405180910390a4600280546001600160f81b0316600160f81b179055949350505050565b60408051600280825260608083018452926020830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110610aaa57610aaa612824565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106107af576107af612824565b600254600090600119600160f81b90910460ff1601610b2f5760405162461bcd60e51b81526004016107fc9061286f565b600280546001600160f81b0316600160f91b17905533610b508582856115cd565b610b5b858585611647565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b6000610b86611869565b905090565b6040516303d1689d60e11b8152670de0b6b3a764000060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307a2d13a90602401602060405180830381865afa158015610bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8691906128b4565b6008546001600160a01b03163314610c485760405162461bcd60e51b81526004016107fc9061283a565b610c50611994565b565b6009546001600160a01b0316338114610cad5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016107fc565b6008546040516001600160a01b0380841692169060008051602061297083398151915290600090a3600880546001600160a01b039092166001600160a01b0319928316179055600980549091169055565b600254600090600119600160f81b90910460ff1601610d2f5760405162461bcd60e51b81526004016107fc9061286f565b600280546001600160f81b0316600160f91b179055610d4d84610e53565b610d6c57836040516388a5056160e01b81526004016107fc919061266e565b84600003610d8d5760405163c3d83b0760e01b815260040160405180910390fd5b8115610da257610d9d30866119e0565b610dac565b610dac33866119e0565b610db7868587611b59565b905082811015610dde5780836040516305ff726560e51b81526004016107fc9291906128a6565b836001600160a01b0316866001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c8885604051610e2d9291906128a6565b60405180910390a4600280546001600160f81b0316600160f81b17905595945050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b6001600160a01b0381166000908152600760205260408120546108ec565b6008546001600160a01b03163314610ecd5760405162461bcd60e51b81526004016107fc9061283a565b610c50611b66565b600060608082808083610f097f00000000000000000000000000000000000000000000000000000000000000006005611ba3565b610f347f00000000000000000000000000000000000000000000000000000000000000006006611ba3565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546106d6906127f0565b600254600090600119600160f81b90910460ff1601610f9e5760405162461bcd60e51b81526004016107fc9061286f565b600280546001600160f81b0316600160f91b17905533610fbf818585611647565b6001915050600280546001600160f81b0316600160f81b17905592915050565b6000610fea836111d9565b61100957826040516315d57ce360e31b81526004016107fc919061266e565b6110138383611c47565b9392505050565b600061102583610e53565b61104457826040516388a5056160e01b81526004016107fc919061266e565b81611013565b8342111561109a5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016107fc565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886110c98c611cee565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061112482611d16565b9050600061113482878787611d43565b9050896001600160a01b0316816001600160a01b0316146111975760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016107fc565b6111a28a8a8a611251565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614806108ec57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b6001600160a01b0383166112b35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107fc565b6001600160a01b0382166113145760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107fc565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166113c2578034146108d35760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016107fc565b80156108d3576108d36001600160a01b038416833084611d6d565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361141f5750806108ec565b604051636e553f6560e01b8152600481018390523060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303816000875af115801561148c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b091906128b4565b90506108ec565b6001600160a01b03821661150d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016107fc565b61151960008383611dd8565b61152281611de0565b6002805460009061153d9084906001600160f81b03166128e3565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546115959190612903565b90915550506040518181526001600160a01b038316906000906000805160206129908339815191529060200160405180910390a35050565b60006115d984846111ae565b9050600019811461164157818110156116345760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107fc565b6116418484848403611251565b50505050565b6001600160a01b0383166116ab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107fc565b6001600160a01b03821661170d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107fc565b816001600160a01b0316836001600160a01b0316036117685760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b60448201526064016107fc565b611773838383611dd8565b6001600160a01b038316600090815260208190526040902054818110156117eb5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107fc565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611822908490612903565b92505081905550826001600160a01b0316846001600160a01b03166000805160206129908339815191528460405161185c91815260200190565b60405180910390a3611641565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156118c257507f000000000000000000000000000000000000000000000000000000000000000046145b156118ec57507f000000000000000000000000000000000000000000000000000000000000000090565b610b86604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b61199c611dfa565b603a805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516119d6919061266e565b60405180910390a1565b6001600160a01b038216611a405760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016107fc565b611a4c82600083611dd8565b6001600160a01b03821660009081526020819052604090205481811015611ac05760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107fc565b6001600160a01b03831660009081526020819052604090208282039055611ae682611de0565b60028054600090611b019084906001600160f81b0316612916565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b03166000805160206129908339815191528460405161136991815260200190565b6000610906838584611e43565b611b6e611f07565b603a805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119c93390565b606060ff8314611bb6576114b083611f4d565b818054611bc2906127f0565b80601f0160208091040260200160405190810160405280929190818152602001828054611bee906127f0565b8015611c3b5780601f10611c1057610100808354040283529160200191611c3b565b820191906000526020600020905b815481529060010190602001808311611c1e57829003601f168201915b505050505090506108ec565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611c895750806108ec565b60405163ef8b30f760e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ef8b30f790602401602060405180830381865afa15801561148c573d6000803e3d6000fd5b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b60006108ec611d23611869565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000611d5487878787611f8c565b91509150611d6181612046565b5090505b949350505050565b6040516001600160a01b03808516602483015283166044820152606481018290526116419085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261218e565b6108d3611f07565b60006001600160f81b03821115611df657600080fd5b5090565b603a5460ff16610c505760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016107fc565b80600003611e5057505050565b6001600160a01b038316611ef3576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611eab576040519150601f19603f3d011682016040523d82523d6000602084013e611eb0565b606091505b50509050806116415760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016107fc565b6108d36001600160a01b0384168383612263565b603a5460ff1615610c505760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016107fc565b60606000611f5a83612293565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b03831115611fb9575060009050600361203d565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561200d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120365760006001925092505061203d565b9150600090505b94509492505050565b600081600481111561205a5761205a6126f2565b036120625750565b6001816004811115612076576120766126f2565b036120be5760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b60448201526064016107fc565b60028160048111156120d2576120d26126f2565b0361211f5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016107fc565b6003816004811115612133576121336126f2565b0361218b5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016107fc565b50565b60006121e3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166122bb9092919063ffffffff16565b90508051600014806122045750808060200190518101906122049190612936565b6108d35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107fc565b6040516001600160a01b0383166024820152604481018290526108d390849063a9059cbb60e01b90606401611da1565b600060ff8216601f8111156108ec57604051632cd44ac360e21b815260040160405180910390fd5b6060611d65848460008585600080866001600160a01b031685876040516122e29190612953565b60006040518083038185875af1925050503d806000811461231f576040519150601f19603f3d011682016040523d82523d6000602084013e612324565b606091505b509150915061233587838387612340565b979650505050505050565b606083156123af5782516000036123a8576001600160a01b0385163b6123a85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107fc565b5081611d65565b611d6583838151156123c45781518083602001fd5b8060405162461bcd60e51b81526004016107fc919061242e565b60005b838110156123f95781810151838201526020016123e1565b50506000910152565b6000815180845261241a8160208601602086016123de565b601f01601f19169290920160200192915050565b6020815260006110136020830184612402565b6020808252825182820181905260009190848201906040850190845b818110156124825783516001600160a01b03168352928401929184019160010161245d565b50909695505050505050565b80356001600160a01b03811681146124a557600080fd5b919050565b801515811461218b57600080fd5b6000806000606084860312156124cd57600080fd5b6124d68461248e565b925060208401356124e6816124aa565b915060408401356124f6816124aa565b809150509250925092565b6000806040838503121561251457600080fd5b61251d8361248e565b946020939093013593505050565b60006020828403121561253d57600080fd5b6110138261248e565b60008151808452602080850194506020840160005b838110156125775781518752958201959082019060010161255b565b509495945050505050565b6020815260006110136020830184612546565b600080600080608085870312156125ab57600080fd5b6125b48561248e565b93506125c26020860161248e565b93969395505050506040820135916060013590565b6000806000606084860312156125ec57600080fd5b6125f58461248e565b92506126036020850161248e565b9150604084013590509250925092565b600080600080600060a0868803121561262b57600080fd5b6126348661248e565b9450602086013593506126496040870161248e565b9250606086013591506080860135612660816124aa565b809150509295509295909350565b6001600160a01b0391909116815260200190565b60ff60f81b8816815260e0602082015260006126a160e0830189612402565b82810360408401526126b38189612402565b606084018890526001600160a01b038716608085015260a0840186905283810360c085015290506126e48185612546565b9a9950505050505050505050565b634e487b7160e01b600052602160045260246000fd5b606081016002851061272a57634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b600080600080600080600060e0888a03121561276557600080fd5b61276e8861248e565b965061277c6020890161248e565b95506040880135945060608801359350608088013560ff811681146127a057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156127d057600080fd5b6127d98361248e565b91506127e76020840161248e565b90509250929050565b600181811c9082168061280457607f821691505b602082108103611d1057634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b918252602082015260400190565b6000602082840312156128c657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6001600160f81b03818116838216019080821115610906576109066128cd565b808201808211156108ec576108ec6128cd565b6001600160f81b03828116828216039080821115610906576109066128cd565b60006020828403121561294857600080fd5b8151611013816124aa565b600082516129658184602087016123de565b919091019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220c1aac22f93c73e79ad5e7b6c05c7176656b9e25af0a8fd17dc71aa8d5873391e64736f6c63430008170033";
1040
+ "0x6101e06040523480156200001257600080fd5b506040516200353738038062003537833981016040819052620000359162000769565b8282828282826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000079573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009f9190620007e5565b6040805180820190915260018152603160f81b602082015283908184846003620000ca8482620008a2565b506004620000d98382620008a2565b5060ff166080525050600280546001600160f81b0316600160f81b179055620001048260056200039d565b61014052620001158160066200039d565b61016052815160208084019190912061010052815190820120610120524660c052620001a56101005161012051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60a05250503060e0525050603a805460ff1916905550600954600160a81b900460ff1615808015620001e457506009546001600160a01b90910460ff16105b80620002075750303b158015620002075750600954600160a01b900460ff166001145b620002705760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6009805460ff60a01b1916600160a01b17905580156200029e576009805460ff60a81b1916600160a81b1790555b6001600160a01b03821661018052620002b6620003d6565b8015620002ff576009805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050506001600160a01b0381166101c0819052604080516338d52e0f60e01b815290516338d52e0f916004808201926020929091908290030181865afa1580156200034f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037591906200096e565b6001600160a01b03166101a08190526101c05162000394919062000459565b50505062000a77565b6000602083511015620003bd57620003b58362000528565b9050620003d0565b81620003ca8482620008a2565b5060ff90505b92915050565b600954600160a81b900460ff16620004455760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000267565b600880546001600160a01b03191633179055565b6001600160a01b0382166200046c575050565b6200048060026001600160601b036200098c565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526001600160601b03929092169184169063dd62ed3e90604401602060405180830381865afa158015620004da573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005009190620009c1565b1015620005245762000515828260006200056b565b6200052482826000196200056b565b5050565b600080829050601f8151111562000556578260405163305a27a960e01b8152600401620002679190620009db565b8051620005638262000a10565b179392505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1790529151600092839290871691620005c9919062000a35565b6000604051808303816000865af19150503d806000811462000608576040519150601f19603f3d011682016040523d82523d6000602084013e6200060d565b606091505b50915091508180156200063b5750805115806200063b5750808060200190518101906200063b919062000a53565b620006785760405162461bcd60e51b815260206004820152600c60248201526b5361666520417070726f766560a01b604482015260640162000267565b5050505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006b257818101518382015260200162000698565b50506000910152565b600082601f830112620006cd57600080fd5b81516001600160401b0380821115620006ea57620006ea6200067f565b604051601f8301601f19908116603f011681019082821181831017156200071557620007156200067f565b816040528381528660208588010111156200072f57600080fd5b6200074284602083016020890162000695565b9695505050505050565b80516001600160a01b03811681146200076457600080fd5b919050565b6000806000606084860312156200077f57600080fd5b83516001600160401b03808211156200079757600080fd5b620007a587838801620006bb565b94506020860151915080821115620007bc57600080fd5b50620007cb86828701620006bb565b925050620007dc604085016200074c565b90509250925092565b600060208284031215620007f857600080fd5b815160ff811681146200080a57600080fd5b9392505050565b600181811c908216806200082657607f821691505b6020821081036200084757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200089d576000816000526020600020601f850160051c81016020861015620008785750805b601f850160051c820191505b81811015620008995782815560010162000884565b5050505b505050565b81516001600160401b03811115620008be57620008be6200067f565b620008d681620008cf845462000811565b846200084d565b602080601f8311600181146200090e5760008415620008f55750858301515b600019600386901b1c1916600185901b17855562000899565b600085815260208120601f198616915b828110156200093f578886015182559484019460019091019084016200091e565b50858210156200095e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200098157600080fd5b6200080a826200074c565b60006001600160601b0383811680620009b557634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b600060208284031215620009d457600080fd5b5051919050565b6020815260008251806020840152620009fc81604085016020870162000695565b601f01601f19169190910160400192915050565b80516020808301519190811015620008475760001960209190910360031b1b16919050565b6000825162000a4981846020870162000695565b9190910192915050565b60006020828403121562000a6657600080fd5b815180151581146200080a57600080fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516129e562000b52600039600081816106850152818161077d01528181610acc01528181610bab01528181610e5501528181611218015281816113e10152818161143b01528181611c4b0152611c9f01526000818161050d0152818161063101528181610a7801526111dd0152600061041b01526000610f0e01526000610ee3015260006119430152600061191b01526000611876015260006118a0015260006118ca0152600061031301526129e56000f3fe6080604052600436106101b95760003560e01c806306fdde03146101c5578063071bc3c9146101f0578063078dfbe714610212578063095ea7b314610234578063128fced11461026457806318160ddd1461029157806320e8c565146102b9578063213cae63146102cc57806323b872dd146102e1578063313ce567146103015780633644e515146103475780633ba0b9a91461035c5780633f4ba83a146103715780634e71e0c8146103865780635c975abb1461039b57806370a08231146103b3578063769f8e5d146103e957806376d5de8514610409578063784367d61461044a5780637ecebe001461046a5780638456cb591461048a57806384b0196e1461049f5780638da5cb5b146104c757806395d89b41146104e7578063a40bee50146104fc578063a9059cbb1461053d578063b8f82b261461055d578063c4f59f9b1461057d578063cbe52ae31461059e578063d505accf146105be578063da88ecb4146105de578063dd62ed3e146105ff578063e0bab4c41461061f578063e30c397814610653578063e789f43314610673578063ef5cfb8c14610264578063f8b2f991146105de578063fa5a4f06146106a757600080fd5b366101c057005b600080fd5b3480156101d157600080fd5b506101da6106c7565b6040516101e7919061242e565b60405180910390f35b3480156101fc57600080fd5b50610205610759565b6040516101e79190612441565b34801561021e57600080fd5b5061023261022d3660046124b8565b6107d2565b005b34801561024057600080fd5b5061025461024f366004612501565b6108d8565b60405190151581526020016101e7565b34801561027057600080fd5b5061028461027f36600461252b565b6108f2565b6040516101e79190612582565b34801561029d57600080fd5b506002546001600160f81b03165b6040519081526020016101e7565b6102ab6102c7366004612595565b61090d565b3480156102d857600080fd5b50610205610a56565b3480156102ed57600080fd5b506102546102fc3660046125d7565b610afe565b34801561030d57600080fd5b506103357f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016101e7565b34801561035357600080fd5b506102ab610b7c565b34801561036857600080fd5b506102ab610b8b565b34801561037d57600080fd5b50610232610c1e565b34801561039257600080fd5b50610232610c52565b3480156103a757600080fd5b50603a5460ff16610254565b3480156103bf57600080fd5b506102ab6103ce36600461252b565b6001600160a01b031660009081526020819052604090205490565b3480156103f557600080fd5b506102ab610404366004612613565b610cfe565b34801561041557600080fd5b5061043d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516101e7919061266e565b34801561045657600080fd5b5061025461046536600461252b565b610e53565b34801561047657600080fd5b506102ab61048536600461252b565b610e85565b34801561049657600080fd5b50610232610ea3565b3480156104ab57600080fd5b506104b4610ed5565b6040516101e79796959493929190612682565b3480156104d357600080fd5b5060085461043d906001600160a01b031681565b3480156104f357600080fd5b506101da610f5e565b34801561050857600080fd5b5060007f000000000000000000000000000000000000000000000000000000000000000060126040516101e793929190612708565b34801561054957600080fd5b50610254610558366004612501565b610f6d565b34801561056957600080fd5b506102ab610578366004612501565b610fdf565b34801561058957600080fd5b50604080516000815260208101909152610205565b3480156105aa57600080fd5b506102ab6105b9366004612501565b61101a565b3480156105ca57600080fd5b506102326105d936600461274a565b61104a565b3480156105ea57600080fd5b50604080516000815260208101909152610284565b34801561060b57600080fd5b506102ab61061a3660046127bd565b6111ae565b34801561062b57600080fd5b5061043d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561065f57600080fd5b5060095461043d906001600160a01b031681565b34801561067f57600080fd5b5061043d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156106b357600080fd5b506102546106c236600461252b565b6111d9565b6060600380546106d6906127f0565b80601f0160208091040260200160405190810160405280929190818152602001828054610702906127f0565b801561074f5780601f106107245761010080835404028352916020019161074f565b820191906000526020600020905b81548152906001019060200180831161073257829003601f168201915b5050505050905090565b604080516001808252818301909252606091602080830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000816000815181106107af576107af612824565b60200260200101906001600160a01b031690816001600160a01b03168152505090565b6008546001600160a01b031633146108055760405162461bcd60e51b81526004016107fc9061283a565b60405180910390fd5b81156108b7576001600160a01b03831615158061081f5750805b6108635760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016107fc565b6008546040516001600160a01b0380861692169060008051602061297083398151915290600090a3600880546001600160a01b0385166001600160a01b031991821617909155600980549091169055505050565b600980546001600160a01b0319166001600160a01b0385161790555b505050565b6000336108e6818585611251565b60019150505b92915050565b604080516000808252602082019092526060915b5092915050565b600254600090600119600160f81b90910460ff160161093e5760405162461bcd60e51b81526004016107fc9061286f565b600280546001600160f81b0316600160f91b17905561095c846111d9565b61097b57836040516315d57ce360e31b81526004016107fc919061266e565b8260000361099c57604051630a907f2f60e41b815260040160405180910390fd5b6109a7843385611376565b6109b184846113dd565b9050818110156109d8578082604051635e38f95d60e11b81526004016107fc9291906128a6565b6109e285826114b7565b836001600160a01b0316856001600160a01b0316336001600160a01b03167f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d598685604051610a319291906128a6565b60405180910390a4600280546001600160f81b0316600160f81b179055949350505050565b60408051600280825260608083018452926020830190803683370190505090507f000000000000000000000000000000000000000000000000000000000000000081600081518110610aaa57610aaa612824565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106107af576107af612824565b600254600090600119600160f81b90910460ff1601610b2f5760405162461bcd60e51b81526004016107fc9061286f565b600280546001600160f81b0316600160f91b17905533610b508582856115cd565b610b5b858585611647565b6001915050600280546001600160f81b0316600160f81b1790559392505050565b6000610b86611869565b905090565b6040516303d1689d60e11b8152670de0b6b3a764000060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307a2d13a90602401602060405180830381865afa158015610bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8691906128b4565b6008546001600160a01b03163314610c485760405162461bcd60e51b81526004016107fc9061283a565b610c50611994565b565b6009546001600160a01b0316338114610cad5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016107fc565b6008546040516001600160a01b0380841692169060008051602061297083398151915290600090a3600880546001600160a01b039092166001600160a01b0319928316179055600980549091169055565b600254600090600119600160f81b90910460ff1601610d2f5760405162461bcd60e51b81526004016107fc9061286f565b600280546001600160f81b0316600160f91b179055610d4d84610e53565b610d6c57836040516388a5056160e01b81526004016107fc919061266e565b84600003610d8d5760405163c3d83b0760e01b815260040160405180910390fd5b8115610da257610d9d30866119e0565b610dac565b610dac33866119e0565b610db7868587611b59565b905082811015610dde5780836040516305ff726560e51b81526004016107fc9291906128a6565b836001600160a01b0316866001600160a01b0316336001600160a01b03167faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c8885604051610e2d9291906128a6565b60405180910390a4600280546001600160f81b0316600160f81b17905595945050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b6001600160a01b0381166000908152600760205260408120546108ec565b6008546001600160a01b03163314610ecd5760405162461bcd60e51b81526004016107fc9061283a565b610c50611b66565b600060608082808083610f097f00000000000000000000000000000000000000000000000000000000000000006005611ba3565b610f347f00000000000000000000000000000000000000000000000000000000000000006006611ba3565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546106d6906127f0565b600254600090600119600160f81b90910460ff1601610f9e5760405162461bcd60e51b81526004016107fc9061286f565b600280546001600160f81b0316600160f91b17905533610fbf818585611647565b6001915050600280546001600160f81b0316600160f81b17905592915050565b6000610fea836111d9565b61100957826040516315d57ce360e31b81526004016107fc919061266e565b6110138383611c47565b9392505050565b600061102583610e53565b61104457826040516388a5056160e01b81526004016107fc919061266e565b81611013565b8342111561109a5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016107fc565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886110c98c611cee565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061112482611d16565b9050600061113482878787611d43565b9050896001600160a01b0316816001600160a01b0316146111975760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016107fc565b6111a28a8a8a611251565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614806108ec57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161492915050565b6001600160a01b0383166112b35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107fc565b6001600160a01b0382166113145760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107fc565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166113c2578034146108d35760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b60448201526064016107fc565b80156108d3576108d36001600160a01b038416833084611d6d565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361141f5750806108ec565b604051636e553f6560e01b8152600481018390523060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e553f65906044016020604051808303816000875af115801561148c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b091906128b4565b90506108ec565b6001600160a01b03821661150d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016107fc565b61151960008383611dd8565b61152281611de0565b6002805460009061153d9084906001600160f81b03166128e3565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555080600080846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546115959190612903565b90915550506040518181526001600160a01b038316906000906000805160206129908339815191529060200160405180910390a35050565b60006115d984846111ae565b9050600019811461164157818110156116345760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016107fc565b6116418484848403611251565b50505050565b6001600160a01b0383166116ab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107fc565b6001600160a01b03821661170d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107fc565b816001600160a01b0316836001600160a01b0316036117685760405162461bcd60e51b815260206004820152601760248201527622a92199181d103a3930b739b332b9103a379039b2b63360491b60448201526064016107fc565b611773838383611dd8565b6001600160a01b038316600090815260208190526040902054818110156117eb5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016107fc565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611822908490612903565b92505081905550826001600160a01b0316846001600160a01b03166000805160206129908339815191528460405161185c91815260200190565b60405180910390a3611641565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156118c257507f000000000000000000000000000000000000000000000000000000000000000046145b156118ec57507f000000000000000000000000000000000000000000000000000000000000000090565b610b86604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b61199c611dfa565b603a805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516119d6919061266e565b60405180910390a1565b6001600160a01b038216611a405760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016107fc565b611a4c82600083611dd8565b6001600160a01b03821660009081526020819052604090205481811015611ac05760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016107fc565b6001600160a01b03831660009081526020819052604090208282039055611ae682611de0565b60028054600090611b019084906001600160f81b0316612916565b92506101000a8154816001600160f81b0302191690836001600160f81b0316021790555060006001600160a01b0316836001600160a01b03166000805160206129908339815191528460405161136991815260200190565b6000610906838584611e43565b611b6e611f07565b603a805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119c93390565b606060ff8314611bb6576114b083611f4d565b818054611bc2906127f0565b80601f0160208091040260200160405190810160405280929190818152602001828054611bee906127f0565b8015611c3b5780601f10611c1057610100808354040283529160200191611c3b565b820191906000526020600020905b815481529060010190602001808311611c1e57829003601f168201915b505050505090506108ec565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603611c895750806108ec565b60405163ef8b30f760e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ef8b30f790602401602060405180830381865afa15801561148c573d6000803e3d6000fd5b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b60006108ec611d23611869565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000611d5487878787611f8c565b91509150611d6181612046565b5090505b949350505050565b6040516001600160a01b03808516602483015283166044820152606481018290526116419085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261218e565b6108d3611f07565b60006001600160f81b03821115611df657600080fd5b5090565b603a5460ff16610c505760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016107fc565b80600003611e5057505050565b6001600160a01b038316611ef3576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611eab576040519150601f19603f3d011682016040523d82523d6000602084013e611eb0565b606091505b50509050806116415760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016107fc565b6108d36001600160a01b0384168383612263565b603a5460ff1615610c505760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016107fc565b60606000611f5a83612293565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b03831115611fb9575060009050600361203d565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561200d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120365760006001925092505061203d565b9150600090505b94509492505050565b600081600481111561205a5761205a6126f2565b036120625750565b6001816004811115612076576120766126f2565b036120be5760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b60448201526064016107fc565b60028160048111156120d2576120d26126f2565b0361211f5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016107fc565b6003816004811115612133576121336126f2565b0361218b5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016107fc565b50565b60006121e3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166122bb9092919063ffffffff16565b90508051600014806122045750808060200190518101906122049190612936565b6108d35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107fc565b6040516001600160a01b0383166024820152604481018290526108d390849063a9059cbb60e01b90606401611da1565b600060ff8216601f8111156108ec57604051632cd44ac360e21b815260040160405180910390fd5b6060611d65848460008585600080866001600160a01b031685876040516122e29190612953565b60006040518083038185875af1925050503d806000811461231f576040519150601f19603f3d011682016040523d82523d6000602084013e612324565b606091505b509150915061233587838387612340565b979650505050505050565b606083156123af5782516000036123a8576001600160a01b0385163b6123a85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107fc565b5081611d65565b611d6583838151156123c45781518083602001fd5b8060405162461bcd60e51b81526004016107fc919061242e565b60005b838110156123f95781810151838201526020016123e1565b50506000910152565b6000815180845261241a8160208601602086016123de565b601f01601f19169290920160200192915050565b6020815260006110136020830184612402565b6020808252825182820181905260009190848201906040850190845b818110156124825783516001600160a01b03168352928401929184019160010161245d565b50909695505050505050565b80356001600160a01b03811681146124a557600080fd5b919050565b801515811461218b57600080fd5b6000806000606084860312156124cd57600080fd5b6124d68461248e565b925060208401356124e6816124aa565b915060408401356124f6816124aa565b809150509250925092565b6000806040838503121561251457600080fd5b61251d8361248e565b946020939093013593505050565b60006020828403121561253d57600080fd5b6110138261248e565b60008151808452602080850194506020840160005b838110156125775781518752958201959082019060010161255b565b509495945050505050565b6020815260006110136020830184612546565b600080600080608085870312156125ab57600080fd5b6125b48561248e565b93506125c26020860161248e565b93969395505050506040820135916060013590565b6000806000606084860312156125ec57600080fd5b6125f58461248e565b92506126036020850161248e565b9150604084013590509250925092565b600080600080600060a0868803121561262b57600080fd5b6126348661248e565b9450602086013593506126496040870161248e565b9250606086013591506080860135612660816124aa565b809150509295509295909350565b6001600160a01b0391909116815260200190565b60ff60f81b8816815260e0602082015260006126a160e0830189612402565b82810360408401526126b38189612402565b606084018890526001600160a01b038716608085015260a0840186905283810360c085015290506126e48185612546565b9a9950505050505050505050565b634e487b7160e01b600052602160045260246000fd5b606081016002851061272a57634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b0392909216602083015260ff1660409091015290565b600080600080600080600060e0888a03121561276557600080fd5b61276e8861248e565b965061277c6020890161248e565b95506040880135945060608801359350608088013560ff811681146127a057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156127d057600080fd5b6127d98361248e565b91506127e76020840161248e565b90509250929050565b600181811c9082168061280457607f821691505b602082108103611d1057634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b918252602082015260400190565b6000602082840312156128c657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6001600160f81b03818116838216019080821115610906576109066128cd565b808201808211156108ec576108ec6128cd565b6001600160f81b03828116828216039080821115610906576109066128cd565b60006020828403121561294857600080fd5b8151611013816124aa565b600082516129658184602087016123de565b919091019291505056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b8bbd3966736e11255456e73eefdec20cf7d07b5420b29b3c3cf588a050f9f6264736f6c63430008170033";
1041
1041
 
1042
1042
  type PendleGDaiSYConstructorParams =
1043
1043
  | [signer?: Signer]