@superfluid-finance/sdk-core 0.7.2-dev.4f3345a.0 → 0.7.2-dev.5875f1a.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 (488) hide show
  1. package/dist/index.umd.js +140 -694
  2. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperToken.d.ts +1 -33
  3. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperToken.d.ts.map +1 -1
  4. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts +4 -4
  5. package/dist/main/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts.map +1 -1
  6. package/dist/main/typechain-types/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken.d.ts +1 -33
  7. package/dist/main/typechain-types/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken.d.ts.map +1 -1
  8. package/dist/main/typechain-types/contracts/interfaces/tokens/ISETH.sol/ISETH.d.ts +1 -33
  9. package/dist/main/typechain-types/contracts/interfaces/tokens/ISETH.sol/ISETH.d.ts.map +1 -1
  10. package/dist/main/typechain-types/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock.d.ts +1 -33
  11. package/dist/main/typechain-types/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock.d.ts.map +1 -1
  12. package/dist/main/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenMock.d.ts +1 -33
  13. package/dist/main/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenMock.d.ts.map +1 -1
  14. package/dist/main/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester.d.ts +1 -33
  15. package/dist/main/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester.d.ts.map +1 -1
  16. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidMock.d.ts +5 -13
  17. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidMock.d.ts.map +1 -1
  18. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester.d.ts +5 -13
  19. package/dist/main/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester.d.ts.map +1 -1
  20. package/dist/main/typechain-types/contracts/superfluid/SuperToken.d.ts +1 -33
  21. package/dist/main/typechain-types/contracts/superfluid/SuperToken.d.ts.map +1 -1
  22. package/dist/main/typechain-types/contracts/superfluid/Superfluid.d.ts +5 -13
  23. package/dist/main/typechain-types/contracts/superfluid/Superfluid.d.ts.map +1 -1
  24. package/dist/main/typechain-types/contracts/utils/index.d.ts +0 -1
  25. package/dist/main/typechain-types/contracts/utils/index.d.ts.map +1 -1
  26. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  27. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  28. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +1 -1
  29. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +1 -1
  30. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
  31. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
  32. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  33. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  34. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.d.ts +1 -1
  35. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.js +1 -1
  36. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
  37. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
  38. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  39. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  40. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  41. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  42. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.d.ts +0 -36
  43. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.d.ts.map +1 -1
  44. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.js +0 -46
  45. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.js.map +1 -1
  46. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts +1 -1
  47. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js +1 -1
  48. package/dist/main/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js.map +1 -1
  49. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.d.ts +0 -36
  50. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.d.ts.map +1 -1
  51. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.js +0 -46
  52. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.js.map +1 -1
  53. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.d.ts +0 -36
  54. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.d.ts.map +1 -1
  55. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.js +0 -46
  56. package/dist/main/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.js.map +1 -1
  57. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock__factory.d.ts +1 -1
  58. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock__factory.js +1 -1
  59. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  60. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  61. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  62. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp__factory.js +1 -1
  63. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  64. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp__factory.js +1 -1
  65. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  66. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp__factory.js +1 -1
  67. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  68. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  69. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibraryMock__factory.d.ts +1 -1
  70. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibraryMock__factory.js +1 -1
  71. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock__factory.d.ts +1 -1
  72. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock__factory.js +1 -1
  73. package/dist/main/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.d.ts +1 -1
  74. package/dist/main/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.js +1 -1
  75. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock__factory.d.ts +1 -1
  76. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock__factory.js +1 -1
  77. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.d.ts +1 -1
  78. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.js +1 -1
  79. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/FlowNFTBaseMock__factory.d.ts +1 -1
  80. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/FlowNFTBaseMock__factory.js +1 -1
  81. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock__factory.d.ts +1 -1
  82. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock__factory.js +1 -1
  83. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.d.ts +1 -1
  84. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.js +1 -1
  85. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock__factory.d.ts +1 -1
  86. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock__factory.js +1 -1
  87. package/dist/main/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.d.ts +1 -1
  88. package/dist/main/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.js +1 -1
  89. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.d.ts +0 -36
  90. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.d.ts.map +1 -1
  91. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.js +0 -46
  92. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.js.map +1 -1
  93. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenProxyMock__factory.d.ts +1 -1
  94. package/dist/main/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenProxyMock__factory.js +1 -1
  95. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  96. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  97. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  98. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting__factory.js +1 -1
  99. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  100. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock__factory.js +1 -1
  101. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester__factory.d.ts +1 -1
  102. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester__factory.js +1 -1
  103. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock__factory.d.ts +1 -1
  104. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock__factory.js +1 -1
  105. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock__factory.d.ts +1 -1
  106. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock__factory.js +1 -1
  107. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet__factory.d.ts +1 -1
  108. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet__factory.js +1 -1
  109. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp__factory.d.ts +1 -1
  110. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp__factory.js +1 -1
  111. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolAdminNFTMock__factory.d.ts +1 -1
  112. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolAdminNFTMock__factory.js +1 -1
  113. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolMemberNFTMock__factory.d.ts +1 -1
  114. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolMemberNFTMock__factory.js +1 -1
  115. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolNFTBaseMock__factory.d.ts +1 -1
  116. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolNFTBaseMock__factory.js +1 -1
  117. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolAdminNFTStorageLayoutMock__factory.d.ts +1 -1
  118. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolAdminNFTStorageLayoutMock__factory.js +1 -1
  119. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolMemberNFTStorageLayoutMock__factory.d.ts +1 -1
  120. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolMemberNFTStorageLayoutMock__factory.js +1 -1
  121. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolNFTBaseStorageLayoutMock__factory.d.ts +1 -1
  122. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolNFTBaseStorageLayoutMock__factory.js +1 -1
  123. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector__factory.d.ts +1 -1
  124. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector__factory.js +1 -1
  125. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  126. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.js +1 -1
  127. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  128. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.js +1 -1
  129. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.d.ts +1 -1
  130. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.js +1 -1
  131. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  132. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  133. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  134. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  135. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  136. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  137. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  138. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  139. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.d.ts +1 -1
  140. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.js +1 -1
  141. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
  142. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42__factory.js +1 -1
  143. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
  144. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock__factory.js +1 -1
  145. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
  146. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
  147. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
  148. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
  149. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  150. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  151. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  152. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  153. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDAMock__factory.d.ts +1 -1
  154. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDAMock__factory.js +1 -1
  155. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +1 -1
  156. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDASuperAppMock__factory.js +1 -1
  157. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock__factory.d.ts +1 -1
  158. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock__factory.js +1 -1
  159. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts +1 -1
  160. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock__factory.js +1 -1
  161. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
  162. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/NoNFTSuperTokenMock__factory.js +1 -1
  163. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.d.ts +1 -37
  164. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.d.ts.map +1 -1
  165. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.js +1 -47
  166. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.js.map +1 -1
  167. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.d.ts +1 -37
  168. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.d.ts.map +1 -1
  169. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.js +1 -47
  170. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.js.map +1 -1
  171. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  172. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  173. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.d.ts +4 -18
  174. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.d.ts.map +1 -1
  175. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.js +6 -24
  176. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.js.map +1 -1
  177. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.d.ts +2 -12
  178. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.d.ts.map +1 -1
  179. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.js +2 -15
  180. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.js.map +1 -1
  181. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.d.ts +1 -1
  182. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.js +1 -1
  183. package/dist/main/typechain-types/factories/contracts/superfluid/ConstantInflowNFT__factory.d.ts +1 -1
  184. package/dist/main/typechain-types/factories/contracts/superfluid/ConstantInflowNFT__factory.js +1 -1
  185. package/dist/main/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.d.ts +1 -1
  186. package/dist/main/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.js +1 -1
  187. package/dist/main/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.d.ts +1 -1
  188. package/dist/main/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.js +1 -1
  189. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
  190. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
  191. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +1 -37
  192. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts.map +1 -1
  193. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +1 -47
  194. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.js.map +1 -1
  195. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +4 -18
  196. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts.map +1 -1
  197. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +6 -24
  198. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js.map +1 -1
  199. package/dist/main/typechain-types/factories/contracts/tokens/PureSuperToken__factory.d.ts +1 -1
  200. package/dist/main/typechain-types/factories/contracts/tokens/PureSuperToken__factory.js +1 -1
  201. package/dist/main/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.d.ts +1 -1
  202. package/dist/main/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.js +1 -1
  203. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  204. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  205. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  206. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  207. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  208. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  209. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts +1 -1
  210. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js +1 -1
  211. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +1 -1
  212. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +1 -1
  213. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  214. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  215. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts +1 -2
  216. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -1
  217. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js +1 -4
  218. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js.map +1 -1
  219. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts +1 -2
  220. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -1
  221. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js +1 -4
  222. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -1
  223. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  224. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  225. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
  226. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
  227. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  228. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  229. package/dist/main/typechain-types/factories/contracts/utils/index.d.ts +0 -1
  230. package/dist/main/typechain-types/factories/contracts/utils/index.d.ts.map +1 -1
  231. package/dist/main/typechain-types/factories/contracts/utils/index.js +1 -3
  232. package/dist/main/typechain-types/factories/contracts/utils/index.js.map +1 -1
  233. package/dist/main/typechain-types/index.d.ts +0 -2
  234. package/dist/main/typechain-types/index.d.ts.map +1 -1
  235. package/dist/main/typechain-types/index.js +1 -3
  236. package/dist/main/typechain-types/index.js.map +1 -1
  237. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperToken.d.ts +1 -33
  238. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperToken.d.ts.map +1 -1
  239. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts +4 -4
  240. package/dist/module/typechain-types/contracts/interfaces/superfluid/ISuperfluid.d.ts.map +1 -1
  241. package/dist/module/typechain-types/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken.d.ts +1 -33
  242. package/dist/module/typechain-types/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken.d.ts.map +1 -1
  243. package/dist/module/typechain-types/contracts/interfaces/tokens/ISETH.sol/ISETH.d.ts +1 -33
  244. package/dist/module/typechain-types/contracts/interfaces/tokens/ISETH.sol/ISETH.d.ts.map +1 -1
  245. package/dist/module/typechain-types/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock.d.ts +1 -33
  246. package/dist/module/typechain-types/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock.d.ts.map +1 -1
  247. package/dist/module/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenMock.d.ts +1 -33
  248. package/dist/module/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenMock.d.ts.map +1 -1
  249. package/dist/module/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester.d.ts +1 -33
  250. package/dist/module/typechain-types/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester.d.ts.map +1 -1
  251. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidMock.d.ts +5 -13
  252. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidMock.d.ts.map +1 -1
  253. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester.d.ts +5 -13
  254. package/dist/module/typechain-types/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester.d.ts.map +1 -1
  255. package/dist/module/typechain-types/contracts/superfluid/SuperToken.d.ts +1 -33
  256. package/dist/module/typechain-types/contracts/superfluid/SuperToken.d.ts.map +1 -1
  257. package/dist/module/typechain-types/contracts/superfluid/Superfluid.d.ts +5 -13
  258. package/dist/module/typechain-types/contracts/superfluid/Superfluid.d.ts.map +1 -1
  259. package/dist/module/typechain-types/contracts/utils/index.d.ts +0 -1
  260. package/dist/module/typechain-types/contracts/utils/index.d.ts.map +1 -1
  261. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -1
  262. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -1
  263. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +1 -1
  264. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +1 -1
  265. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +1 -1
  266. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +1 -1
  267. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  268. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  269. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.d.ts +1 -1
  270. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.js +1 -1
  271. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +1 -1
  272. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +1 -1
  273. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  274. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  275. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  276. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  277. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.d.ts +0 -36
  278. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.d.ts.map +1 -1
  279. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.js +0 -46
  280. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperToken__factory.js.map +1 -1
  281. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.d.ts +1 -1
  282. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js +1 -1
  283. package/dist/module/typechain-types/factories/contracts/interfaces/superfluid/ISuperfluid__factory.js.map +1 -1
  284. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.d.ts +0 -36
  285. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.d.ts.map +1 -1
  286. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.js +0 -46
  287. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/IPureSuperToken.sol/IPureSuperToken__factory.js.map +1 -1
  288. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.d.ts +0 -36
  289. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.d.ts.map +1 -1
  290. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.js +0 -46
  291. package/dist/module/typechain-types/factories/contracts/interfaces/tokens/ISETH.sol/ISETH__factory.js.map +1 -1
  292. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock__factory.d.ts +1 -1
  293. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock__factory.js +1 -1
  294. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  295. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  296. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  297. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp__factory.js +1 -1
  298. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  299. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp__factory.js +1 -1
  300. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  301. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp__factory.js +1 -1
  302. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  303. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  304. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibraryMock__factory.d.ts +1 -1
  305. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibraryMock__factory.js +1 -1
  306. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock__factory.d.ts +1 -1
  307. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock__factory.js +1 -1
  308. package/dist/module/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.d.ts +1 -1
  309. package/dist/module/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.js +1 -1
  310. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock__factory.d.ts +1 -1
  311. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock__factory.js +1 -1
  312. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.d.ts +1 -1
  313. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.js +1 -1
  314. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/FlowNFTBaseMock__factory.d.ts +1 -1
  315. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/FlowNFTBaseMock__factory.js +1 -1
  316. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock__factory.d.ts +1 -1
  317. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock__factory.js +1 -1
  318. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.d.ts +1 -1
  319. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.js +1 -1
  320. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock__factory.d.ts +1 -1
  321. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock__factory.js +1 -1
  322. package/dist/module/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.d.ts +1 -1
  323. package/dist/module/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.js +1 -1
  324. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.d.ts +0 -36
  325. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.d.ts.map +1 -1
  326. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.js +0 -46
  327. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenMock__factory.js.map +1 -1
  328. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenProxyMock__factory.d.ts +1 -1
  329. package/dist/module/typechain-types/factories/contracts/mocks/CustomSuperTokenMock.sol/CustomSuperTokenProxyMock__factory.js +1 -1
  330. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  331. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  332. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  333. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting__factory.js +1 -1
  334. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  335. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock__factory.js +1 -1
  336. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester__factory.d.ts +1 -1
  337. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester__factory.js +1 -1
  338. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock__factory.d.ts +1 -1
  339. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock__factory.js +1 -1
  340. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock__factory.d.ts +1 -1
  341. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock__factory.js +1 -1
  342. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet__factory.d.ts +1 -1
  343. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet__factory.js +1 -1
  344. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp__factory.d.ts +1 -1
  345. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp__factory.js +1 -1
  346. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolAdminNFTMock__factory.d.ts +1 -1
  347. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolAdminNFTMock__factory.js +1 -1
  348. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolMemberNFTMock__factory.d.ts +1 -1
  349. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolMemberNFTMock__factory.js +1 -1
  350. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolNFTBaseMock__factory.d.ts +1 -1
  351. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolNFTBaseMock__factory.js +1 -1
  352. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolAdminNFTStorageLayoutMock__factory.d.ts +1 -1
  353. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolAdminNFTStorageLayoutMock__factory.js +1 -1
  354. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolMemberNFTStorageLayoutMock__factory.d.ts +1 -1
  355. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolMemberNFTStorageLayoutMock__factory.js +1 -1
  356. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolNFTBaseStorageLayoutMock__factory.d.ts +1 -1
  357. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolNFTBaseStorageLayoutMock__factory.js +1 -1
  358. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector__factory.d.ts +1 -1
  359. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector__factory.js +1 -1
  360. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  361. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.js +1 -1
  362. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  363. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.js +1 -1
  364. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.d.ts +1 -1
  365. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.js +1 -1
  366. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  367. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  368. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  369. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  370. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  371. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  372. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  373. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  374. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.d.ts +1 -1
  375. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.js +1 -1
  376. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
  377. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42__factory.js +1 -1
  378. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
  379. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock__factory.js +1 -1
  380. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
  381. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
  382. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
  383. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
  384. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  385. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  386. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  387. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  388. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDAMock__factory.d.ts +1 -1
  389. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDAMock__factory.js +1 -1
  390. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +1 -1
  391. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDASuperAppMock__factory.js +1 -1
  392. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock__factory.d.ts +1 -1
  393. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock__factory.js +1 -1
  394. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts +1 -1
  395. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock__factory.js +1 -1
  396. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
  397. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/NoNFTSuperTokenMock__factory.js +1 -1
  398. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.d.ts +1 -37
  399. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.d.ts.map +1 -1
  400. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.js +1 -47
  401. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.js.map +1 -1
  402. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.d.ts +1 -37
  403. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.d.ts.map +1 -1
  404. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.js +1 -47
  405. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.js.map +1 -1
  406. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  407. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  408. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.d.ts +4 -18
  409. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.d.ts.map +1 -1
  410. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.js +6 -24
  411. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.js.map +1 -1
  412. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.d.ts +2 -12
  413. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.d.ts.map +1 -1
  414. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.js +2 -15
  415. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.js.map +1 -1
  416. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.d.ts +1 -1
  417. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.js +1 -1
  418. package/dist/module/typechain-types/factories/contracts/superfluid/ConstantInflowNFT__factory.d.ts +1 -1
  419. package/dist/module/typechain-types/factories/contracts/superfluid/ConstantInflowNFT__factory.js +1 -1
  420. package/dist/module/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.d.ts +1 -1
  421. package/dist/module/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.js +1 -1
  422. package/dist/module/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.d.ts +1 -1
  423. package/dist/module/typechain-types/factories/contracts/superfluid/FullUpgradableSuperTokenProxy__factory.js +1 -1
  424. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
  425. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
  426. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +1 -37
  427. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts.map +1 -1
  428. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +1 -47
  429. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.js.map +1 -1
  430. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +4 -18
  431. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts.map +1 -1
  432. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +6 -24
  433. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js.map +1 -1
  434. package/dist/module/typechain-types/factories/contracts/tokens/PureSuperToken__factory.d.ts +1 -1
  435. package/dist/module/typechain-types/factories/contracts/tokens/PureSuperToken__factory.js +1 -1
  436. package/dist/module/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.d.ts +1 -1
  437. package/dist/module/typechain-types/factories/contracts/tokens/SETH.sol/SETHProxy__factory.js +1 -1
  438. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  439. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  440. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  441. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  442. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  443. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  444. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts +1 -1
  445. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js +1 -1
  446. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +1 -1
  447. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +1 -1
  448. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  449. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  450. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts +1 -2
  451. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts.map +1 -1
  452. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js +1 -4
  453. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js.map +1 -1
  454. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts +1 -2
  455. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts.map +1 -1
  456. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js +1 -4
  457. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js.map +1 -1
  458. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  459. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  460. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
  461. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
  462. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  463. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  464. package/dist/module/typechain-types/factories/contracts/utils/index.d.ts +0 -1
  465. package/dist/module/typechain-types/factories/contracts/utils/index.d.ts.map +1 -1
  466. package/dist/module/typechain-types/factories/contracts/utils/index.js +0 -1
  467. package/dist/module/typechain-types/factories/contracts/utils/index.js.map +1 -1
  468. package/dist/module/typechain-types/index.d.ts +0 -2
  469. package/dist/module/typechain-types/index.d.ts.map +1 -1
  470. package/dist/module/typechain-types/index.js +0 -1
  471. package/dist/module/typechain-types/index.js.map +1 -1
  472. package/package.json +3 -3
  473. package/dist/main/typechain-types/contracts/utils/DMZForwarder.d.ts +0 -144
  474. package/dist/main/typechain-types/contracts/utils/DMZForwarder.d.ts.map +0 -1
  475. package/dist/main/typechain-types/contracts/utils/DMZForwarder.js +0 -3
  476. package/dist/main/typechain-types/contracts/utils/DMZForwarder.js.map +0 -1
  477. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts +0 -120
  478. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts.map +0 -1
  479. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.js +0 -171
  480. package/dist/main/typechain-types/factories/contracts/utils/DMZForwarder__factory.js.map +0 -1
  481. package/dist/module/typechain-types/contracts/utils/DMZForwarder.d.ts +0 -144
  482. package/dist/module/typechain-types/contracts/utils/DMZForwarder.d.ts.map +0 -1
  483. package/dist/module/typechain-types/contracts/utils/DMZForwarder.js +0 -2
  484. package/dist/module/typechain-types/contracts/utils/DMZForwarder.js.map +0 -1
  485. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts +0 -120
  486. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.d.ts.map +0 -1
  487. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.js +0 -167
  488. package/dist/module/typechain-types/factories/contracts/utils/DMZForwarder__factory.js.map +0 -1
@@ -1243,7 +1243,7 @@ const _abi = [
1243
1243
  type: "function",
1244
1244
  },
1245
1245
  ];
1246
- const _bytecode = "0x60a06040523480156200001157600080fd5b506040516200556038038062005560833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051615494620000cc600039600081816105ce015281816108570152818161093501528181610a8901528181610ecd01528181610f6201528181611017015281816137700152613c4901526154946000f3fe608060405234801561001057600080fd5b50600436106102105760003560e01c80635f51fb23116101255780639cb28b72116100ad578063bf3fbc281161007c578063bf3fbc2814610521578063da6b5f3014610544578063e6a1e88814610557578063e8e7e2d11461056a578063f31f88f01461057d57600080fd5b80639cb28b7214610337578063aabd2668146104e8578063ac5f5d00146104fb578063b4b333c61461050e57600080fd5b8063811b3d40116100f4578063811b3d40146104795780638d997f6e1461048c57806394229ecb1461049f5780639903ad38146104b25780639b2e48bc146104ba57600080fd5b80635f51fb231461041b57806362fc305e1461042e57806372976490146104415780637730599e1461045357600080fd5b8063354b9590116101a85780634fe9c291116101775780634fe9c291146103a357806350209a62146103cd57806350d75d25146103e057806352d1902d1461040057806354b770e31461040857600080fd5b8063354b95901461034557806346951954146103585780634b839e0b1461036d5780634c8b181f1461039057600080fd5b806309d256ef116101e457806309d256ef146102ad5780630f1ac495146102dc5780632567f5781461031257806326b0f5361461033757600080fd5b8062422bbe1461021557806304aafa491461024d5780630602f7db14610267578063062e56ec1461028d575b600080fd5b6102286102233660046147dd565b610590565b6040805193845260ff9092166020840152600b0b908201526060015b60405180910390f35b61025964010000000081565b604051908152602001610244565b61027a610275366004614828565b6105c6565b604051600b9190910b8152602001610244565b6102a061029b366004614896565b610608565b604051610244919061494b565b6102c06102bb366004614828565b610622565b6040805160ff9093168352600b9190910b602083015201610244565b6102ef6102ea36600461495e565b610646565b60408051948552600b9390930b6020850152918301526060820152608001610244565b6103256103203660046149a6565b61067c565b60405160ff9091168152602001610244565b61025960016001605f1b0381565b6102a06103533660046149e6565b610687565b61036b610366366004614a72565b61084c565b005b61038061037b366004614a8f565b6108a1565b6040519015158152602001610244565b6102a061039e366004614ad0565b610999565b6103b66103b136600461495e565b610a84565b604080519215158352602083019190915201610244565b6102a06103db366004614b4c565b610b1f565b6103e8610bf2565b6040516001600160a01b039091168152602001610244565b610259610c21565b6102a0610416366004614896565b610c85565b6102a0610429366004614b4c565b610c9d565b6102a061043c366004614b4c565b610cb8565b61032561044f3660046149a6565b1790565b7fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3610259565b6102a0610487366004614b8d565b610d6b565b61025961049a366004614bd1565b610eb4565b6102a06104ad3660046149e6565b6110da565b61036b61125d565b6104cd6104c8366004614a8f565b61136b565b60408051938452602084019290925290820152606001610244565b6102ef6104f6366004614828565b6113c5565b6102a0610509366004614b4c565b6113d7565b6102a061051c366004614ad0565b6113e8565b61052b6203d09081565b60405167ffffffffffffffff9091168152602001610244565b6102a0610552366004614b8d565b61147c565b6102ef6105653660046147dd565b6115ac565b61027a61057836600461495e565b6115e7565b6102a061058b366004614b8d565b611601565b600080600061059f85856116ea565b925060006105ad8785611755565b8051602090910151959990985094965093945050505050565b6000806105f37f00000000000000000000000000000000000000000000000000000000000000008561181a565b509050610600818461192f565b949350505050565b606061061985856000808787610d6b565b95945050505050565b60008060006106318585611755565b80516020909101519097909650945050505050565b6000806000806000610658878761196f565b805160208201516040830151606090930151919b909a509198509650945050505050565b801982165b92915050565b606060006106cb8885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2892505050565b9050866001600160a01b031681606001516001600160a01b0316036107035760405163edfa0d3b60e01b815260040160405180910390fd5b6000806107198a6107148b8b611bec565b611c14565b9150915060008060006107318d8d8860600151610590565b925092509250610742826001611c5b565b61075f5760405163ac434b5f60e01b815260040160405180910390fd5b6000600b82900b60016001605f1b03148061078457508a600b0b8560200151600b0b12155b6107a6576020850151610797908c614c1c565b6107a19083614c1c565b6107a8565b815b9050600081600b0b12156107cf5760405163a0645c1f60e01b815260040160405180910390fd5b6107db8e858584611cb6565b5050505061080960408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808c1682528a8116602083015289166040820152600b88900b606082015261083d8183858a8a89611d3f565b9b9a5050505050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461089557604051630b00ec8f60e11b815260040160405180910390fd5b61089e81611eaa565b50565b604051633acd4df360e21b81526001600160a01b03838116600483015260248201839052600091829186169063eb3537cc90604401606060405180830381865afa1580156108f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109179190614c4e565b505090506000811261092d576001915050610992565b60008061095a7f00000000000000000000000000000000000000000000000000000000000000008861181a565b91509150600061096a888861196f565b915050600061097c82604001516120b2565b905061098a85828686612120565b955050505050505b9392505050565b606060006109dd8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2892505050565b905060006109f088888460600151610590565b509150506000610a01826002611c5b565b905080610a215760405163e30f1bff60e01b815260040160405180910390fd5b6040805160808101825260008082526020820181905291810182905260608101919091525b6001600160a01b03808b16825289811660208301528816604082015260006060820152610a76818389898861216e565b9a9950505050505050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b099190614c7c565b9050610b168484836108a1565b91509250929050565b60606000610b638785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2892505050565b9050610b8f60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808916825260608084015182166020840181905291891660408401819052600b89900b91840191909152600091610bcd91611bec565b9050600080610be0846000015184611c14565b9150915061083d8482848b8b8a611d3f565b6000610c1c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1c9190614c7c565b60606106198585600760016001605f1b038787610d6b565b6060610cae8686600087878761147c565b9695505050505050565b60606000610cfc8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2892505050565b9050610d2860408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b038089168252606080840151821660208401529088166040830152600b87900b90820152610d5f81868685612860565b98975050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939450610db692508a9150899050888888886129e1565b6040805180820190915260ff88168152600b87900b6020820152606082015191925090600090610de6908a6116ea565b9050896001600160a01b031663a1b2bf8b82610e0185612aa8565b6040518363ffffffff1660e01b8152600401610e1e929190614cd1565b600060405180830381600087803b158015610e3857600080fd5b505af1158015610e4c573d6000803e3d6000fd5b50505060608401516040805160ff8c168152600b8b900b60208201526001600160a01b03808e169450928316928e16917fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8910160405180910390a45050509695505050505050565b600081600b0b600003610ec957506000610681565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4d9190614cea565b90506000816001600160a01b03166380f70cba7f0000000000000000000000000000000000000000000000000000000000000000877feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc46040518463ffffffff1660e01b8152600401610fc193929190614d07565b602060405180830381865afa158015610fde573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110029190614c7c565b90506000826001600160a01b03166380f70cba7f0000000000000000000000000000000000000000000000000000000000000000887fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f786040518463ffffffff1660e01b815260040161107693929190614d07565b602060405180830381865afa158015611093573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b79190614c7c565b9050602081901c63ffffffff166110cf838288612b1e565b979650505050505050565b6060600061111e8885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2892505050565b9050866001600160a01b031681606001516001600160a01b031603611156576040516325cc989b60e11b815260040160405180910390fd5b600080600061116a8b8b8660600151610590565b92509250925061117b826000611c5b565b611198576040516328faadab60e21b815260040160405180910390fd5b6000600b82900b60016001605f1b03146111bb576111b68983614c1c565b6111bd565b815b9050600081600b0b12156111e45760405163a0645c1f60e01b815260040160405180910390fd5b6111f08c858584611cb6565b5050505061121e60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808a168252888116602083015287166040820152600b86900b606082015261125081868685612860565b9998505050505050505050565b600054610100900460ff161580801561127d5750600054600160ff909116105b806112975750303b158015611297575060005460ff166001145b6112ff5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611322576000805461ff0019166101001790555b801561089e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b600080600080600061137d888861196f565b9150915081156113ba578060200151600b0b81600001518761139f9190614d2b565b6113a99190614d52565b945080604001519350806060015192505b505093509350939050565b60008060008060006106588787611c14565b6060610cae86866000878787611601565b6060600061142c8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2892505050565b9050600061143f88888460600151610590565b509150506000611450826002611c5b565b9050610a4660408051608081018252600080825260208201819052918101829052606081019190915290565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509394506114c792508a9150899050888888886129e1565b905060008060006114dd8b85606001518c610590565b92509250925060006114ef838b61067c565b905060006114fd8a84614c1c565b9050600081600b0b1215611524576040516386e0377d60e01b815260040160405180910390fd5b6115308d868484611cb6565b8b6001600160a01b031686606001516001600160a01b03168e6001600160a01b03167fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8858560405161159492919060ff929092168252600b0b602082015260400190565b60405180910390a45050505050509695505050505050565b60008060008060006115c2886107148989611bec565b805160208201516040830151606090930151919c909b50919950975095505050505050565b6000806115f4848461196f565b6020015195945050505050565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093945061164c92508a9150899050888888886129e1565b905060008060006116628b85606001518c610590565b9194509250905060006116758983614d82565b9050828a176116868d868385611cb6565b8b6001600160a01b031686606001516001600160a01b03168e6001600160a01b03167fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8848660405161159492919060ff929092168252600b0b602082015260400190565b600082826040516020016117379291906060808252600c908201526b333637bba7b832b930ba37b960a11b60808201526001600160a01b0392831660208201529116604082015260a00190565b60405160208183030381529060405280519060200120905092915050565b6040805180820182526000808252602082018190529151636c2d9f2f60e01b8152306004820152602481018490526001604482015282906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa1580156117bd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117e59190810190614e25565b905061180d816000815181106117fd576117fd614ebf565b602002602001015160001c612b91565b92509250505b9250929050565b6000806000846001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561185d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118819190614cea565b90506000816001600160a01b03166380f70cba87877fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f786040518463ffffffff1660e01b81526004016118d593929190614d07565b602060405180830381865afa1580156118f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119169190614c7c565b63ffffffff602082901c81169891169650945050505050565b600060016001605f1b0382111561195957604051631d4b0ae760e21b815260040160405180910390fd5b63ffffffff198216915060006106008484614eeb565b6000611979614716565b604051634b61cc3360e01b81523060048201526001600160a01b038481166024830152600060448301819052600160648401529190861690634b61cc33906084015b600060405180830381865afa1580156119d8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a009190810190614e25565b905061180d81600081518110611a1857611a18614ebf565b602002602001015160001c612bd1565b611a30614741565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9c9190614cea565b6001600160a01b031614611ae65760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b60448201526064016112f6565b604051632fd0a1cd60e21b8152339063bf42873490611b0990859060040161494b565b602060405180830381865afa158015611b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4a9190614f1a565b611b845760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b60448201526064016112f6565b604051631fb6491d60e11b81523390633f6c923a90611ba790859060040161494b565b600060405180830381865afa158015611bc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109929190810190614fbc565b604080516001600160a01b038085166020830152831691810191909152600090606001611737565b6000611c1e614716565b604051636c2d9f2f60e01b815230600482015260248101849052600160448201526000906001600160a01b03861690636c2d9f2f906064016119bb565b600080826002811115611c7057611c706150c3565b03611c815750600182811614610681565b6001826002811115611c9557611c956150c3565b03611ca85750600182811c811614610681565b505060021c60019081161490565b6040805180820190915260ff83168152600b82900b60208201526001600160a01b03851663a1b2bf8b85611ce984612aa8565b6040518363ffffffff1660e01b8152600401611d06929190614cd1565b600060405180830381600087803b158015611d2057600080fd5b505af1158015611d34573d6000803e3d6000fd5b505050505050505050565b60606000611d4d8884612c31565b91505085611d6e5760405163168cafc960e21b815260040160405180910390fd5b6040888101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015611db8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddc9190614f1a565b15611e3857611e3188604001518960000151838a89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b925060019150612d329050565b9150611e83565b611e808860000151828988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92506134d8915050565b91505b611e9688600001518960200151856135ab565b611e9f88613685565b509695505050505050565b6000611ed47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603611f2a5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016112f6565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8c9190614c7c565b611f94610c21565b14611fed5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016112f6565b6001600160a01b03811630036120455760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016112f6565b61206d817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc612096610c21565b604080519182526001600160a01b038416602083015201611360565b60006001600160ff1b0382111561211c5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016112f6565b5090565b60008360000361213257506000610600565b600061213e85876150d9565b9050600061214c8587615101565b9050612158848661512f565b6121628284615101565b13979650505050505050565b6040805160c0810182526000808252602082018190529181018290526060818101839052608082019290925260a0810182905260208701516001600160a01b03166121cc57604051631ce9b06760e01b815260040160405180910390fd5b60408701516001600160a01b03166121f757604051633c70159560e11b815260040160405180910390fd5b61220987602001518860400151611bec565b8082526020808901516001600160a01b03908116918401919091526040808a01518216908401526060808601519091169083015260006080830181905260a0808601519084015288519091829161225f91611c14565b91509150816122815760405163168cafc960e21b815260040160405180910390fd5b885160208a01516040808801519051633acd4df360e21b81526000936001600160a01b03169263eb3537cc926122cd926004016001600160a01b03929092168252602082015260400190565b606060405180830381865afa1580156122ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230e9190614c4e565b5050905089602001516001600160a01b031686606001516001600160a01b031614158015612356575089604001516001600160a01b031686606001516001600160a01b031614155b8015612360575088155b156124715760208a0151604051636b4f333560e01b81526001600160a01b0390911660048201523390636b4f333590602401602060405180830381865afa1580156123af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d39190614f1a565b15801561244b575060408a8101519051636b4f333560e01b81526001600160a01b0390911660048201523390636b4f333590602401602060405180830381865afa158015612425573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124499190614f1a565b155b1561247157600081126124715760405163ce11b5d160e01b815260040160405180910390fd5b600081121561248f5761248f8a600001518286858a60600151613722565b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060208b015160608801519196506001600160a01b039081169116036125855760408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa15801561252e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125529190614f1a565b156125765761256f8a604001518b600001518685898b6002612d32565b945061284a565b895161256f908584888a6134d8565b89604001516001600160a01b031686606001516001600160a01b0316036126b95760208a0151604051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156125f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126149190614f1a565b156126315761256f8a602001518b600001518685898b6002612d32565b60408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa15801561267b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269f9190614f1a565b156125765761256f60008b600001518685898b6002612d32565b60208a0151604051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015612703573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127279190614f1a565b80156127335750600081125b156127ad5760208a0151604051635b92108f60e11b8152339163b724211e91612763918991600b90600401615142565b6000604051808303816000875af1158015612782573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526127aa9190810190615170565b94505b60408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156127f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061281b9190614f1a565b156128385761256f8a604001518b600001518685898b6002612d32565b8951612847908584888a6134d8565b94505b6128538a61394f565b5050505095945050505050565b606060008061286f8785612c31565b91509150600080612884896000015185611c14565b9150915081156128a75760405163801b686360e01b815260040160405180910390fd5b6040898101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156128f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129159190614f1a565b1561296e5761296789604001518a6000015185848c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508f93509150612d329050565b94506129b9565b6129b6896000015184838b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d92506134d8915050565b94505b6129cc89600001518a60200151886135ab565b6129d5896139b9565b50505050949350505050565b6129e9614741565b60f8851615612a0b57604051631e4e759b60e21b815260040160405180910390fd5b612a4b8784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2892505050565b9050856001600160a01b031681606001516001600160a01b031603612a835760405163b0ed394d60e01b815260040160405180910390fd5b600084600b0b1215610cae576040516386e0377d60e01b815260040160405180910390fd5b606060008260200151600b0b1215612ac257612ac26151a5565b60408051600180825281830190925290602080830190803683370190505090508160200151600b0b6080836000015160ff16901b1760001b81600081518110612b0d57612b0d614ebf565b602002602001018181525050919050565b60008082600b0b1215612b44576040516348d6568b60e11b815260040160405180910390fd5b60016001605f1b03612b5a84600b85900b6151bb565b1115612b7957604051630c9c55c160e01b815260040160405180910390fd5b6000612b858385613a23565b90506106198582613a67565b6040805180820190915260008082526020820152811580159190612bcc5760016001605f1b038316600b0b6020820152608083901c60ff1681525b915091565b6000612bdb614716565b821580159250612bcc5760e083901c8152608083901c6bffffffffffffffffffffffff16600b0b6020808301919091526bffffffffffffffff0000000084821c811660408401529084901b166060820152915091565b6040805160c08101825260008082526020820181905291810182905260608082018390526080820183905260a082015260408401516001600160a01b0316612c8c57604051633c70159560e11b815260040160405180910390fd5b612c9e84602001518560400151611bec565b8082526020808601516001600160a01b0390811691840182905260408088015182169085018190526060808801519092168286015290870151600b0b608085015260a0808701519085015291935003612d0a5760405163a47338ef60e01b815260040160405180910390fd5b60008160800151600b0b13611813576040516348d6568b60e11b815260040160405180910390fd5b82612d3b61479c565b6001600160a01b0389161561303f576000612dd0898b8a600001518b602001518c60400151604051602001612d869291906001600160a01b0392831681529116602082015260400190565b60408051601f1981840301815260e08301825260006080840181905260a0840181905260c08401526001600160a01b03958616835293909416602082015292830152606082015290565b90506000846002811115612de657612de66150c3565b03612dfb5764010000000060c0820152612e30565b6001846002811115612e0f57612e0f6150c3565b03612e245764040000000060c0820152612e30565b64100000000060c08201525b612e3a8187613a7d565b82600001819052506000336001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ea69190614cea565b9050612ebe86604001518761014001518c8c8c613c34565b5060808401525060405163407b865d60e11b81526000906001600160a01b038316906380f70cba90612f189033908f907feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc490600401614d07565b602060405180830381865afa158015612f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f599190614c7c565b905060008360800151600014612f7d57612f7864010000000083613a67565b612f80565b60005b9050808460800151612f9291906151d2565b608085015260608a0151612fa5906120b2565b60a08501526000876002811115612fbe57612fbe6150c3565b03612fd35764020000000060c0850152613008565b6001876002811115612fe757612fe76150c3565b03612ffc5764080000000060c0850152613008565b64200000000060c08501525b61301784866000015188614039565b60408701919091528b5190965061302f908d90611c14565b60208701525061305d9350505050565b61305584604001518561014001518a8a8a613c34565b602084015250505b600061306c87606001516120b2565b826040015161010001516130809190614d2b565b90506130a6816130978460200151604001516120b2565b6130a191906150d9565b614285565b826020015160400181815250506130c8816130978460200151606001516120b2565b60208301805160600191909152885190516001600160a01b038b169163a1b2bf8b916130f3906142d7565b6040518363ffffffff1660e01b8152600401613110929190614cd1565b600060405180830381600087803b15801561312a57600080fd5b505af115801561313e573d6000803e3d6000fd5b5050505061315a89896020015160008460008a60400151614348565b50613172898960400151600080858a60400151614348565b506101408501516001600160a01b031615806131a45750886001600160a01b03168561014001516001600160a01b0316145b15613218576040516359a2914160e01b815233906359a29141906131ce90869085906004016151e5565b6000604051808303816000875af11580156131ed573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132159190810190615170565b92505b6040888101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015613262573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132869190614f1a565b156134cb57604088810151868201519151633acd4df360e21b81526001600160a01b0391821660048201526024810192909252600091908b169063eb3537cc90604401606060405180830381865afa1580156132e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061330a9190614c4e565b509091505060008112156134c957600285600281111561332c5761332c6150c3565b036134ad576040808a01519051635b92108f60e11b8152339163b724211e9161335c918891600c90600401615142565b6000604051808303816000875af115801561337b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133a39190810190615170565b935060006133c16133b383615207565b6133bc85615207565b6144b9565b90508a6001600160a01b031663cf97256d8b60200151836133e190615207565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561342757600080fd5b505af115801561343b573d6000803e3d6000fd5b5050505060408a810151905163cf97256d60e01b81526001600160a01b03918216600482015260248101839052908c169063cf97256d90604401600060405180830381600087803b15801561348f57600080fd5b505af11580156134a3573d6000803e3d6000fd5b50505050506134c9565b60405163a85ba64f60e01b8152600c60048201526024016112f6565b505b5050979650505050505050565b606083810151156134eb576134eb6151a5565b60006134f5614716565b61350b84604001518561014001518a8a8a613c34565b6101408701519294509250506001600160a01b03808a1691160361359c576040516359a2914160e01b815233906359a291419061354e90889086906004016151e5565b6000604051808303816000875af115801561356d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135959190810190615170565b92506135a0565b8492505b505095945050505050565b602081015160ff1660031415806135d95750826001600160a01b03168161014001516001600160a01b031614155b15613680576040808201519051633acd4df360e21b81526001600160a01b038481166004830152602482019290925260009185169063eb3537cc90604401606060405180830381865afa158015613634573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136589190614c4e565b50509050600081121561367e5760405163ea76c9b360e01b815260040160405180910390fd5b505b505050565b600061369482600001516144ce565b90506001600160a01b0381161561371e578151602083015160408085015190516375aa53e560e11b81526001600160a01b0393841660048201529183166024830152821660448201529082169063eb54a7ca906064015b600060405180830381600087803b15801561370557600080fd5b505af1158015613719573d6000803e3d6000fd5b505050505b5050565b600061373286856020015161196f565b915050600061374484604001516120b2565b9050600061375583604001516120b2565b90506060600080613766848b6150d9565b90506000806137957f00000000000000000000000000000000000000000000000000000000000000008e61181a565b915091506137a58c878484612120565b9350505060008112613890576000846137be8388614d52565b6137c89190615101565b90506001836137d85760016137db565b60005b6040805160ff9384166020820152929091169082015260600160405160208183030381529060405293508b6001600160a01b0316631863e8098b60000151868b878f6020015161382a88614285565b61383689600019614d52565b6040518863ffffffff1660e01b81526004016138589796959493929190615223565b600060405180830381600087803b15801561387257600080fd5b505af1158015613886573d6000803e3d6000fd5b5050505050613942565b6040805160016020820152600291810191909152859060600160405160208183030381529060405293508b6001600160a01b0316631863e8098b60000151868b60008f602001516138e088614285565b6138ec8a600019614d52565b6040518863ffffffff1660e01b815260040161390e9796959493929190615223565b600060405180830381600087803b15801561392857600080fd5b505af115801561393c573d6000803e3d6000fd5b50505050505b5050505050505050505050565b600061395e82600001516144ce565b90506001600160a01b0381161561371e5781516020830151604080850151905163ef1f023760e01b81526001600160a01b0393841660048201529183166024830152821660448201529082169063ef1f0237906064016136eb565b60006139c882600001516144ce565b90506001600160a01b0381161561371e5781516020830151604080850151905163f7e3d98360e01b81526001600160a01b0393841660048201529183166024830152821660448201529082169063f7e3d983906064016136eb565b600082600b0b600003613a3857506000610681565b60016001605f1b03821115613a4f57613a4f6151a5565b613a598284615270565b600b0b90506109928161457d565b6000818311613a765781610992565b5090919050565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613ad1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613af59190615290565b91945092509050828015613b07575081155b15613c2b576000613b1886886145b1565b90508660c001518216600003613c1d576000613b378860c0015161462f565b88516040808b015160608c015182516000815260208101909352613b63939230929190604481016152cc565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e0292613bd29291869164100000000091909114908890600401615311565b6000604051808303816000875af1158015613bf1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c199190810190615170565b9550505b613c288660006146c6565b50505b50505092915050565b600080613c3f614716565b6000806000613c6e7f00000000000000000000000000000000000000000000000000000000000000008a61181a565b5090506000336001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613cb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cd59190614cea565b60405163407b865d60e11b81529091506001600160a01b038216906380f70cba90613d289033908e907feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc490600401614d07565b602060405180830381865afa158015613d45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d699190614c7c565b9250613d79896080015183613a23565b95505050613d8a86606001516120b2565b613d9787604001516120b2565b613da0866120b2565b613daa9190614d2b565b613db491906150d9565b9450613dc78561309788604001516120b2565b91508082108015613ddf575060008760800151600b0b135b15613e2157613df186606001516120b2565b613dfe87604001516120b2565b613e07836120b2565b613e119190614d2b565b613e1b91906150d9565b94508091505b6001600160a01b03891615801590613e4b5750876001600160a01b0316896001600160a01b031614155b15613e5557600093505b604051806080016040528060008960800151600b0b13613e76576000613e78565b8b5b81526020018860800151600b0b815260200183815260200187606001518152509250876001600160a01b031663a1b2bf8b8860000151613eb7866142d7565b6040518363ffffffff1660e01b8152600401613ed4929190614cd1565b600060405180830381600087803b158015613eee57600080fd5b505af1158015613f02573d6000803e3d6000fd5b505060408051808201909152600080825260208201529250613f22915050565b613f4888886020015189608001518960200151613f3f9190614c1c565b8860008f614348565b600b0b8152604087015160208701516080890151613f77928b929091613f6e9190614c1c565b6000808f614348565b600b0b60208083018290526040808a0151918a015160808b0151855160a08d015193516001600160a01b0395861696938616958f16947f57269d2ebcccecdcc0d9d2c0a0b80ead95f344e28ec20f50f709811f209d4e0e94613fdd94939290919061534f565b60405180910390a486606001516001600160a01b03167f71e0c98e270fc3084227b473f176924d5303ece8c639e679998a2d7dc8e70f748360405161402491815260200190565b60405180910390a25050955095509592505050565b614041614741565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015614095573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140b99190615290565b889650919450925090508280156140ce575081155b1561427a576140dd84896145b1565b93508760c0015181166000036142685760006140fc8960c0015161462f565b89516040808c015160608d01518251600081526020810190935261412a9392309291908e906044810161537d565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a84926141999291869164200000000091909114908b90600401615311565b6000604051808303816000875af11580156141b8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526141e09190810190615170565b604051631fb6491d60e11b81529095503390633f6c923a9061420690889060040161494b565b600060405180830381865afa158015614223573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261424b9190810190614fbc565b955061426089608001518761010001516146ee565b610100870152505b614277868661010001516146c6565b93505b505050935093915050565b60008082121561211c5760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f73697469766560448201526064016112f6565b6040805160018082528183019092526060916020808301908036833701905050905060208260600151901c604060208460400151901c901b608084602001516bffffffffffffffffffffffff16901b60e08560000151901b17171760001b81600081518110612b0d57612b0d614ebf565b600080614355888861196f565b91505060008160200151600b0b61437a836000015186614375919061512f565b6120b2565b6143849190614d52565b905080156143ef5760405163cf97256d60e01b81526001600160a01b038981166004830152602482018390528a169063cf97256d90604401600060405180830381600087803b1580156143d657600080fd5b505af11580156143ea573d6000803e3d6000fd5b505050505b8682602001516143ff9190614d82565b600b0b6020830152838252604082015161441e908790613097906120b2565b60408301526060820151614437908690613097906120b2565b60608301526001600160a01b03891663090c415e896000614457866142d7565b6040518463ffffffff1660e01b8152600401614475939291906153d6565b600060405180830381600087803b15801561448f57600080fd5b505af11580156144a3573d6000803e3d6000fd5b5050506020909201519998505050505050505050565b60008183136144c85782610992565b50919050565b60408051600481526024810182526020810180516001600160e01b03166377a1e96360e11b1790529051600091829182916001600160a01b0386169161451491906153fd565b600060405180830381855afa9150503d806000811461454f576040519150601f19603f3d011682016040523d82523d6000602084013e614554565b606091505b5091509150811561457657808060200190518101906145739190614cea565b92505b5050919050565b60008063ffffffff8316614592576000614595565b60015b60ff16905060206145a88285831c6151d2565b901b9392505050565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb0946145e8948a94600401615419565b6000604051808303816000875af1158015614607573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109929190810190615170565b6000640100000000820361464b57506330d9c91560e01b919050565b64040000000082036146655750630221347d60e61b919050565b641000000000820361467f5750635f9e7d7760e01b919050565b6402000000008203614699575063d86ed3e560e01b919050565b64080000000082036146b3575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b604051634c4d861f60e11b8152606090339063989b0c3e906145e890869086906004016151e5565b60006109926000614707614701866120b2565b856144b9565b6000818313613a765781610992565b6040518060800160405280600081526020016000600b0b815260200160008152602001600081525090565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6040518060600160405280606081526020016147b6614716565b81526020016147c3614741565b905290565b6001600160a01b038116811461089e57600080fd5b6000806000606084860312156147f257600080fd5b83356147fd816147c8565b9250602084013561480d816147c8565b9150604084013561481d816147c8565b809150509250925092565b6000806040838503121561483b57600080fd5b8235614846816147c8565b946020939093013593505050565b60008083601f84011261486657600080fd5b50813567ffffffffffffffff81111561487e57600080fd5b60208301915083602082850101111561181357600080fd5b600080600080606085870312156148ac57600080fd5b84356148b7816147c8565b935060208501356148c7816147c8565b9250604085013567ffffffffffffffff8111156148e357600080fd5b6148ef87828801614854565b95989497509550505050565b60005b838110156149165781810151838201526020016148fe565b50506000910152565b600081518084526149378160208601602086016148fb565b601f01601f19169290920160200192915050565b602081526000610992602083018461491f565b6000806040838503121561497157600080fd5b823561497c816147c8565b9150602083013561498c816147c8565b809150509250929050565b60ff8116811461089e57600080fd5b600080604083850312156149b957600080fd5b82356149c481614997565b9150602083013561498c81614997565b8035600b81900b81146146c157600080fd5b60008060008060008060a087890312156149ff57600080fd5b8635614a0a816147c8565b95506020870135614a1a816147c8565b94506040870135614a2a816147c8565b9350614a38606088016149d4565b9250608087013567ffffffffffffffff811115614a5457600080fd5b614a6089828a01614854565b979a9699509497509295939492505050565b600060208284031215614a8457600080fd5b8135610992816147c8565b600080600060608486031215614aa457600080fd5b8335614aaf816147c8565b92506020840135614abf816147c8565b929592945050506040919091013590565b600080600080600060808688031215614ae857600080fd5b8535614af3816147c8565b94506020860135614b03816147c8565b93506040860135614b13816147c8565b9250606086013567ffffffffffffffff811115614b2f57600080fd5b614b3b88828901614854565b969995985093965092949392505050565b600080600080600060808688031215614b6457600080fd5b8535614b6f816147c8565b94506020860135614b7f816147c8565b9350614b13604087016149d4565b60008060008060008060a08789031215614ba657600080fd5b8635614bb1816147c8565b95506020870135614bc1816147c8565b94506040870135614a2a81614997565b60008060408385031215614be457600080fd5b8235614bef816147c8565b9150614bfd602084016149d4565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600b82810b9082900b036b7fffffffffffffffffffffff19811260016001605f1b038213171561068157610681614c06565b600080600060608486031215614c6357600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215614c8e57600080fd5b5051919050565b60008151808452602080850194506020840160005b83811015614cc657815187529582019590820190600101614caa565b509495945050505050565b8281526040602082015260006106006040830184614c95565b600060208284031215614cfc57600080fd5b8151610992816147c8565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8181036000831280158383131683831282161715614d4b57614d4b614c06565b5092915050565b80820260008212600160ff1b84141615614d6e57614d6e614c06565b818105831482151761068157610681614c06565b600b81810b9083900b0160016001605f1b0381136b7fffffffffffffffffffffff198212171561068157610681614c06565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715614dee57614dee614db4565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715614e1d57614e1d614db4565b604052919050565b60006020808385031215614e3857600080fd5b825167ffffffffffffffff80821115614e5057600080fd5b818501915085601f830112614e6457600080fd5b815181811115614e7657614e76614db4565b8060051b9150614e87848301614df4565b8181529183018401918481019088841115614ea157600080fd5b938501935b83851015610d5f57845182529385019390850190614ea6565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b600082614efa57614efa614ed5565b500490565b80516146c1816147c8565b805180151581146146c157600080fd5b600060208284031215614f2c57600080fd5b61099282614f0a565b80516146c181614997565b80516001600160e01b0319811681146146c157600080fd5b600082601f830112614f6957600080fd5b815167ffffffffffffffff811115614f8357614f83614db4565b614f96601f8201601f1916602001614df4565b818152846020838601011115614fab57600080fd5b6106008260208301602087016148fb565b600060208284031215614fce57600080fd5b815167ffffffffffffffff80821115614fe657600080fd5b908301906101608286031215614ffb57600080fd5b615003614dca565b61500c83614f35565b815261501a60208401614f35565b60208201526040830151604082015261503560608401614eff565b606082015261504660808401614f40565b608082015260a08301518281111561505d57600080fd5b61506987828601614f58565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506150a0828401614eff565b8282015261014091506150b4828401614eff565b91810191909152949350505050565b634e487b7160e01b600052602160045260246000fd5b80820182811260008312801582168215821617156150f9576150f9614c06565b505092915050565b60008261511057615110614ed5565b600160ff1b82146000198414161561512a5761512a614c06565b500590565b8181038181111561068157610681614c06565b606081526000615155606083018661491f565b6001600160a01b039490941660208301525060400152919050565b60006020828403121561518257600080fd5b815167ffffffffffffffff81111561519957600080fd5b61060084828501614f58565b634e487b7160e01b600052600160045260246000fd5b808202811582820484141761068157610681614c06565b8082018082111561068157610681614c06565b6040815260006151f8604083018561491f565b90508260208301529392505050565b6000600160ff1b820161521c5761521c614c06565b5060000390565b87815260e06020820152600061523c60e083018961491f565b6001600160a01b03978816604084015295151560608301525092909416608083015260a082015260c0019190915292915050565b600082600b0b82600b0b0280600b0b9150808214614d4b57614d4b614c06565b6000806000606084860312156152a557600080fd5b6152ae84614f0a565b92506152bc60208501614f0a565b9150604084015190509250925092565b6001600160a01b038681168252851660208201526040810184905260a0606082018190526000906152ff9083018561491f565b8281036080840152610d5f818561491f565b6001600160a01b03851681526080602082018190526000906153359083018661491f565b841515604084015282810360608401526110cf818561491f565b84600b0b815283600b0b602082015282600b0b6040820152608060608201526000610cae608083018461491f565b6001600160a01b038781168252861660208201526040810185905260c0606082018190526000906153b09083018661491f565b82810360808401526153c2818661491f565b905082810360a0840152611250818561491f565b60018060a01b03841681528260208201526060604082015260006106196060830184614c95565b6000825161540f8184602087016148fb565b9190910192915050565b60a08152600061542c60a083018861491f565b6001600160a01b039687166020840152604083019590955250606081019290925290921660809092019190915291905056fea264697066735822122061472a2d45c5293075197f84e79d6059b401e3bc80bb3263fd52d8448ea33c3b64736f6c63430008170033";
1246
+ const _bytecode = "0x60a06040523480156200001157600080fd5b506040516200556038038062005560833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b608051615494620000cc600039600081816105ce015281816108570152818161093501528181610a8901528181610ecd01528181610f6201528181611017015281816137700152613c4901526154946000f3fe608060405234801561001057600080fd5b50600436106102105760003560e01c80635f51fb23116101255780639cb28b72116100ad578063bf3fbc281161007c578063bf3fbc2814610521578063da6b5f3014610544578063e6a1e88814610557578063e8e7e2d11461056a578063f31f88f01461057d57600080fd5b80639cb28b7214610337578063aabd2668146104e8578063ac5f5d00146104fb578063b4b333c61461050e57600080fd5b8063811b3d40116100f4578063811b3d40146104795780638d997f6e1461048c57806394229ecb1461049f5780639903ad38146104b25780639b2e48bc146104ba57600080fd5b80635f51fb231461041b57806362fc305e1461042e57806372976490146104415780637730599e1461045357600080fd5b8063354b9590116101a85780634fe9c291116101775780634fe9c291146103a357806350209a62146103cd57806350d75d25146103e057806352d1902d1461040057806354b770e31461040857600080fd5b8063354b95901461034557806346951954146103585780634b839e0b1461036d5780634c8b181f1461039057600080fd5b806309d256ef116101e457806309d256ef146102ad5780630f1ac495146102dc5780632567f5781461031257806326b0f5361461033757600080fd5b8062422bbe1461021557806304aafa491461024d5780630602f7db14610267578063062e56ec1461028d575b600080fd5b6102286102233660046147dd565b610590565b6040805193845260ff9092166020840152600b0b908201526060015b60405180910390f35b61025964010000000081565b604051908152602001610244565b61027a610275366004614828565b6105c6565b604051600b9190910b8152602001610244565b6102a061029b366004614896565b610608565b604051610244919061494b565b6102c06102bb366004614828565b610622565b6040805160ff9093168352600b9190910b602083015201610244565b6102ef6102ea36600461495e565b610646565b60408051948552600b9390930b6020850152918301526060820152608001610244565b6103256103203660046149a6565b61067c565b60405160ff9091168152602001610244565b61025960016001605f1b0381565b6102a06103533660046149e6565b610687565b61036b610366366004614a72565b61084c565b005b61038061037b366004614a8f565b6108a1565b6040519015158152602001610244565b6102a061039e366004614ad0565b610999565b6103b66103b136600461495e565b610a84565b604080519215158352602083019190915201610244565b6102a06103db366004614b4c565b610b1f565b6103e8610bf2565b6040516001600160a01b039091168152602001610244565b610259610c21565b6102a0610416366004614896565b610c85565b6102a0610429366004614b4c565b610c9d565b6102a061043c366004614b4c565b610cb8565b61032561044f3660046149a6565b1790565b7fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3610259565b6102a0610487366004614b8d565b610d6b565b61025961049a366004614bd1565b610eb4565b6102a06104ad3660046149e6565b6110da565b61036b61125d565b6104cd6104c8366004614a8f565b61136b565b60408051938452602084019290925290820152606001610244565b6102ef6104f6366004614828565b6113c5565b6102a0610509366004614b4c565b6113d7565b6102a061051c366004614ad0565b6113e8565b61052b6203d09081565b60405167ffffffffffffffff9091168152602001610244565b6102a0610552366004614b8d565b61147c565b6102ef6105653660046147dd565b6115ac565b61027a61057836600461495e565b6115e7565b6102a061058b366004614b8d565b611601565b600080600061059f85856116ea565b925060006105ad8785611755565b8051602090910151959990985094965093945050505050565b6000806105f37f00000000000000000000000000000000000000000000000000000000000000008561181a565b509050610600818461192f565b949350505050565b606061061985856000808787610d6b565b95945050505050565b60008060006106318585611755565b80516020909101519097909650945050505050565b6000806000806000610658878761196f565b805160208201516040830151606090930151919b909a509198509650945050505050565b801982165b92915050565b606060006106cb8885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2892505050565b9050866001600160a01b031681606001516001600160a01b0316036107035760405163edfa0d3b60e01b815260040160405180910390fd5b6000806107198a6107148b8b611bec565b611c14565b9150915060008060006107318d8d8860600151610590565b925092509250610742826001611c5b565b61075f5760405163ac434b5f60e01b815260040160405180910390fd5b6000600b82900b60016001605f1b03148061078457508a600b0b8560200151600b0b12155b6107a6576020850151610797908c614c1c565b6107a19083614c1c565b6107a8565b815b9050600081600b0b12156107cf5760405163a0645c1f60e01b815260040160405180910390fd5b6107db8e858584611cb6565b5050505061080960408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808c1682528a8116602083015289166040820152600b88900b606082015261083d8183858a8a89611d3f565b9b9a5050505050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461089557604051630b00ec8f60e11b815260040160405180910390fd5b61089e81611eaa565b50565b604051633acd4df360e21b81526001600160a01b03838116600483015260248201839052600091829186169063eb3537cc90604401606060405180830381865afa1580156108f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109179190614c4e565b505090506000811261092d576001915050610992565b60008061095a7f00000000000000000000000000000000000000000000000000000000000000008861181a565b91509150600061096a888861196f565b915050600061097c82604001516120b2565b905061098a85828686612120565b955050505050505b9392505050565b606060006109dd8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2892505050565b905060006109f088888460600151610590565b509150506000610a01826002611c5b565b905080610a215760405163e30f1bff60e01b815260040160405180910390fd5b6040805160808101825260008082526020820181905291810182905260608101919091525b6001600160a01b03808b16825289811660208301528816604082015260006060820152610a76818389898861216e565b9a9950505050505050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b099190614c7c565b9050610b168484836108a1565b91509250929050565b60606000610b638785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2892505050565b9050610b8f60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808916825260608084015182166020840181905291891660408401819052600b89900b91840191909152600091610bcd91611bec565b9050600080610be0846000015184611c14565b9150915061083d8482848b8b8a611d3f565b6000610c1c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1c9190614c7c565b60606106198585600760016001605f1b038787610d6b565b6060610cae8686600087878761147c565b9695505050505050565b60606000610cfc8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2892505050565b9050610d2860408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b038089168252606080840151821660208401529088166040830152600b87900b90820152610d5f81868685612860565b98975050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939450610db692508a9150899050888888886129e1565b6040805180820190915260ff88168152600b87900b6020820152606082015191925090600090610de6908a6116ea565b9050896001600160a01b031663a1b2bf8b82610e0185612aa8565b6040518363ffffffff1660e01b8152600401610e1e929190614cd1565b600060405180830381600087803b158015610e3857600080fd5b505af1158015610e4c573d6000803e3d6000fd5b50505060608401516040805160ff8c168152600b8b900b60208201526001600160a01b03808e169450928316928e16917fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8910160405180910390a45050509695505050505050565b600081600b0b600003610ec957506000610681565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4d9190614cea565b90506000816001600160a01b03166380f70cba7f0000000000000000000000000000000000000000000000000000000000000000877feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc46040518463ffffffff1660e01b8152600401610fc193929190614d07565b602060405180830381865afa158015610fde573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110029190614c7c565b90506000826001600160a01b03166380f70cba7f0000000000000000000000000000000000000000000000000000000000000000887fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f786040518463ffffffff1660e01b815260040161107693929190614d07565b602060405180830381865afa158015611093573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b79190614c7c565b9050602081901c63ffffffff166110cf838288612b1e565b979650505050505050565b6060600061111e8885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2892505050565b9050866001600160a01b031681606001516001600160a01b031603611156576040516325cc989b60e11b815260040160405180910390fd5b600080600061116a8b8b8660600151610590565b92509250925061117b826000611c5b565b611198576040516328faadab60e21b815260040160405180910390fd5b6000600b82900b60016001605f1b03146111bb576111b68983614c1c565b6111bd565b815b9050600081600b0b12156111e45760405163a0645c1f60e01b815260040160405180910390fd5b6111f08c858584611cb6565b5050505061121e60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808a168252888116602083015287166040820152600b86900b606082015261125081868685612860565b9998505050505050505050565b600054610100900460ff161580801561127d5750600054600160ff909116105b806112975750303b158015611297575060005460ff166001145b6112ff5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611322576000805461ff0019166101001790555b801561089e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b600080600080600061137d888861196f565b9150915081156113ba578060200151600b0b81600001518761139f9190614d2b565b6113a99190614d52565b945080604001519350806060015192505b505093509350939050565b60008060008060006106588787611c14565b6060610cae86866000878787611601565b6060600061142c8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2892505050565b9050600061143f88888460600151610590565b509150506000611450826002611c5b565b9050610a4660408051608081018252600080825260208201819052918101829052606081019190915290565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509394506114c792508a9150899050888888886129e1565b905060008060006114dd8b85606001518c610590565b92509250925060006114ef838b61067c565b905060006114fd8a84614c1c565b9050600081600b0b1215611524576040516386e0377d60e01b815260040160405180910390fd5b6115308d868484611cb6565b8b6001600160a01b031686606001516001600160a01b03168e6001600160a01b03167fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8858560405161159492919060ff929092168252600b0b602082015260400190565b60405180910390a45050505050509695505050505050565b60008060008060006115c2886107148989611bec565b805160208201516040830151606090930151919c909b50919950975095505050505050565b6000806115f4848461196f565b6020015195945050505050565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093945061164c92508a9150899050888888886129e1565b905060008060006116628b85606001518c610590565b9194509250905060006116758983614d82565b9050828a176116868d868385611cb6565b8b6001600160a01b031686606001516001600160a01b03168e6001600160a01b03167fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8848660405161159492919060ff929092168252600b0b602082015260400190565b600082826040516020016117379291906060808252600c908201526b333637bba7b832b930ba37b960a11b60808201526001600160a01b0392831660208201529116604082015260a00190565b60405160208183030381529060405280519060200120905092915050565b6040805180820182526000808252602082018190529151636c2d9f2f60e01b8152306004820152602481018490526001604482015282906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa1580156117bd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117e59190810190614e25565b905061180d816000815181106117fd576117fd614ebf565b602002602001015160001c612b91565b92509250505b9250929050565b6000806000846001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561185d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118819190614cea565b90506000816001600160a01b03166380f70cba87877fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f786040518463ffffffff1660e01b81526004016118d593929190614d07565b602060405180830381865afa1580156118f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119169190614c7c565b63ffffffff602082901c81169891169650945050505050565b600060016001605f1b0382111561195957604051631d4b0ae760e21b815260040160405180910390fd5b63ffffffff198216915060006106008484614eeb565b6000611979614716565b604051634b61cc3360e01b81523060048201526001600160a01b038481166024830152600060448301819052600160648401529190861690634b61cc33906084015b600060405180830381865afa1580156119d8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a009190810190614e25565b905061180d81600081518110611a1857611a18614ebf565b602002602001015160001c612bd1565b611a30614741565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9c9190614cea565b6001600160a01b031614611ae65760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b60448201526064016112f6565b604051632fd0a1cd60e21b8152339063bf42873490611b0990859060040161494b565b602060405180830381865afa158015611b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4a9190614f1a565b611b845760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b60448201526064016112f6565b604051631fb6491d60e11b81523390633f6c923a90611ba790859060040161494b565b600060405180830381865afa158015611bc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109929190810190614fbc565b604080516001600160a01b038085166020830152831691810191909152600090606001611737565b6000611c1e614716565b604051636c2d9f2f60e01b815230600482015260248101849052600160448201526000906001600160a01b03861690636c2d9f2f906064016119bb565b600080826002811115611c7057611c706150c3565b03611c815750600182811614610681565b6001826002811115611c9557611c956150c3565b03611ca85750600182811c811614610681565b505060021c60019081161490565b6040805180820190915260ff83168152600b82900b60208201526001600160a01b03851663a1b2bf8b85611ce984612aa8565b6040518363ffffffff1660e01b8152600401611d06929190614cd1565b600060405180830381600087803b158015611d2057600080fd5b505af1158015611d34573d6000803e3d6000fd5b505050505050505050565b60606000611d4d8884612c31565b91505085611d6e5760405163168cafc960e21b815260040160405180910390fd5b6040888101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015611db8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddc9190614f1a565b15611e3857611e3188604001518960000151838a89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b925060019150612d329050565b9150611e83565b611e808860000151828988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92506134d8915050565b91505b611e9688600001518960200151856135ab565b611e9f88613685565b509695505050505050565b6000611ed47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603611f2a5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016112f6565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8c9190614c7c565b611f94610c21565b14611fed5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016112f6565b6001600160a01b03811630036120455760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016112f6565b61206d817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc612096610c21565b604080519182526001600160a01b038416602083015201611360565b60006001600160ff1b0382111561211c5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016112f6565b5090565b60008360000361213257506000610600565b600061213e85876150d9565b9050600061214c8587615101565b9050612158848661512f565b6121628284615101565b13979650505050505050565b6040805160c0810182526000808252602082018190529181018290526060818101839052608082019290925260a0810182905260208701516001600160a01b03166121cc57604051631ce9b06760e01b815260040160405180910390fd5b60408701516001600160a01b03166121f757604051633c70159560e11b815260040160405180910390fd5b61220987602001518860400151611bec565b8082526020808901516001600160a01b03908116918401919091526040808a01518216908401526060808601519091169083015260006080830181905260a0808601519084015288519091829161225f91611c14565b91509150816122815760405163168cafc960e21b815260040160405180910390fd5b885160208a01516040808801519051633acd4df360e21b81526000936001600160a01b03169263eb3537cc926122cd926004016001600160a01b03929092168252602082015260400190565b606060405180830381865afa1580156122ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230e9190614c4e565b5050905089602001516001600160a01b031686606001516001600160a01b031614158015612356575089604001516001600160a01b031686606001516001600160a01b031614155b8015612360575088155b156124715760208a0151604051636b4f333560e01b81526001600160a01b0390911660048201523390636b4f333590602401602060405180830381865afa1580156123af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d39190614f1a565b15801561244b575060408a8101519051636b4f333560e01b81526001600160a01b0390911660048201523390636b4f333590602401602060405180830381865afa158015612425573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124499190614f1a565b155b1561247157600081126124715760405163ce11b5d160e01b815260040160405180910390fd5b600081121561248f5761248f8a600001518286858a60600151613722565b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060208b015160608801519196506001600160a01b039081169116036125855760408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa15801561252e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125529190614f1a565b156125765761256f8a604001518b600001518685898b6002612d32565b945061284a565b895161256f908584888a6134d8565b89604001516001600160a01b031686606001516001600160a01b0316036126b95760208a0151604051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156125f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126149190614f1a565b156126315761256f8a602001518b600001518685898b6002612d32565b60408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa15801561267b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269f9190614f1a565b156125765761256f60008b600001518685898b6002612d32565b60208a0151604051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015612703573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127279190614f1a565b80156127335750600081125b156127ad5760208a0151604051635b92108f60e11b8152339163b724211e91612763918991600b90600401615142565b6000604051808303816000875af1158015612782573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526127aa9190810190615170565b94505b60408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156127f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061281b9190614f1a565b156128385761256f8a604001518b600001518685898b6002612d32565b8951612847908584888a6134d8565b94505b6128538a61394f565b5050505095945050505050565b606060008061286f8785612c31565b91509150600080612884896000015185611c14565b9150915081156128a75760405163801b686360e01b815260040160405180910390fd5b6040898101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156128f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129159190614f1a565b1561296e5761296789604001518a6000015185848c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508f93509150612d329050565b94506129b9565b6129b6896000015184838b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d92506134d8915050565b94505b6129cc89600001518a60200151886135ab565b6129d5896139b9565b50505050949350505050565b6129e9614741565b60f8851615612a0b57604051631e4e759b60e21b815260040160405180910390fd5b612a4b8784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2892505050565b9050856001600160a01b031681606001516001600160a01b031603612a835760405163b0ed394d60e01b815260040160405180910390fd5b600084600b0b1215610cae576040516386e0377d60e01b815260040160405180910390fd5b606060008260200151600b0b1215612ac257612ac26151a5565b60408051600180825281830190925290602080830190803683370190505090508160200151600b0b6080836000015160ff16901b1760001b81600081518110612b0d57612b0d614ebf565b602002602001018181525050919050565b60008082600b0b1215612b44576040516348d6568b60e11b815260040160405180910390fd5b60016001605f1b03612b5a84600b85900b6151bb565b1115612b7957604051630c9c55c160e01b815260040160405180910390fd5b6000612b858385613a23565b90506106198582613a67565b6040805180820190915260008082526020820152811580159190612bcc5760016001605f1b038316600b0b6020820152608083901c60ff1681525b915091565b6000612bdb614716565b821580159250612bcc5760e083901c8152608083901c6bffffffffffffffffffffffff16600b0b6020808301919091526bffffffffffffffff0000000084821c811660408401529084901b166060820152915091565b6040805160c08101825260008082526020820181905291810182905260608082018390526080820183905260a082015260408401516001600160a01b0316612c8c57604051633c70159560e11b815260040160405180910390fd5b612c9e84602001518560400151611bec565b8082526020808601516001600160a01b0390811691840182905260408088015182169085018190526060808801519092168286015290870151600b0b608085015260a0808701519085015291935003612d0a5760405163a47338ef60e01b815260040160405180910390fd5b60008160800151600b0b13611813576040516348d6568b60e11b815260040160405180910390fd5b82612d3b61479c565b6001600160a01b0389161561303f576000612dd0898b8a600001518b602001518c60400151604051602001612d869291906001600160a01b0392831681529116602082015260400190565b60408051601f1981840301815260e08301825260006080840181905260a0840181905260c08401526001600160a01b03958616835293909416602082015292830152606082015290565b90506000846002811115612de657612de66150c3565b03612dfb5764010000000060c0820152612e30565b6001846002811115612e0f57612e0f6150c3565b03612e245764040000000060c0820152612e30565b64100000000060c08201525b612e3a8187613a7d565b82600001819052506000336001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ea69190614cea565b9050612ebe86604001518761014001518c8c8c613c34565b5060808401525060405163407b865d60e11b81526000906001600160a01b038316906380f70cba90612f189033908f907feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc490600401614d07565b602060405180830381865afa158015612f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f599190614c7c565b905060008360800151600014612f7d57612f7864010000000083613a67565b612f80565b60005b9050808460800151612f9291906151d2565b608085015260608a0151612fa5906120b2565b60a08501526000876002811115612fbe57612fbe6150c3565b03612fd35764020000000060c0850152613008565b6001876002811115612fe757612fe76150c3565b03612ffc5764080000000060c0850152613008565b64200000000060c08501525b61301784866000015188614039565b60408701919091528b5190965061302f908d90611c14565b60208701525061305d9350505050565b61305584604001518561014001518a8a8a613c34565b602084015250505b600061306c87606001516120b2565b826040015161010001516130809190614d2b565b90506130a6816130978460200151604001516120b2565b6130a191906150d9565b614285565b826020015160400181815250506130c8816130978460200151606001516120b2565b60208301805160600191909152885190516001600160a01b038b169163a1b2bf8b916130f3906142d7565b6040518363ffffffff1660e01b8152600401613110929190614cd1565b600060405180830381600087803b15801561312a57600080fd5b505af115801561313e573d6000803e3d6000fd5b5050505061315a89896020015160008460008a60400151614348565b50613172898960400151600080858a60400151614348565b506101408501516001600160a01b031615806131a45750886001600160a01b03168561014001516001600160a01b0316145b15613218576040516359a2914160e01b815233906359a29141906131ce90869085906004016151e5565b6000604051808303816000875af11580156131ed573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526132159190810190615170565b92505b6040888101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015613262573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132869190614f1a565b156134cb57604088810151868201519151633acd4df360e21b81526001600160a01b0391821660048201526024810192909252600091908b169063eb3537cc90604401606060405180830381865afa1580156132e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061330a9190614c4e565b509091505060008112156134c957600285600281111561332c5761332c6150c3565b036134ad576040808a01519051635b92108f60e11b8152339163b724211e9161335c918891600c90600401615142565b6000604051808303816000875af115801561337b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133a39190810190615170565b935060006133c16133b383615207565b6133bc85615207565b6144b9565b90508a6001600160a01b031663cf97256d8b60200151836133e190615207565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561342757600080fd5b505af115801561343b573d6000803e3d6000fd5b5050505060408a810151905163cf97256d60e01b81526001600160a01b03918216600482015260248101839052908c169063cf97256d90604401600060405180830381600087803b15801561348f57600080fd5b505af11580156134a3573d6000803e3d6000fd5b50505050506134c9565b60405163a85ba64f60e01b8152600c60048201526024016112f6565b505b5050979650505050505050565b606083810151156134eb576134eb6151a5565b60006134f5614716565b61350b84604001518561014001518a8a8a613c34565b6101408701519294509250506001600160a01b03808a1691160361359c576040516359a2914160e01b815233906359a291419061354e90889086906004016151e5565b6000604051808303816000875af115801561356d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135959190810190615170565b92506135a0565b8492505b505095945050505050565b602081015160ff1660031415806135d95750826001600160a01b03168161014001516001600160a01b031614155b15613680576040808201519051633acd4df360e21b81526001600160a01b038481166004830152602482019290925260009185169063eb3537cc90604401606060405180830381865afa158015613634573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136589190614c4e565b50509050600081121561367e5760405163ea76c9b360e01b815260040160405180910390fd5b505b505050565b600061369482600001516144ce565b90506001600160a01b0381161561371e578151602083015160408085015190516375aa53e560e11b81526001600160a01b0393841660048201529183166024830152821660448201529082169063eb54a7ca906064015b600060405180830381600087803b15801561370557600080fd5b505af1158015613719573d6000803e3d6000fd5b505050505b5050565b600061373286856020015161196f565b915050600061374484604001516120b2565b9050600061375583604001516120b2565b90506060600080613766848b6150d9565b90506000806137957f00000000000000000000000000000000000000000000000000000000000000008e61181a565b915091506137a58c878484612120565b9350505060008112613890576000846137be8388614d52565b6137c89190615101565b90506001836137d85760016137db565b60005b6040805160ff9384166020820152929091169082015260600160405160208183030381529060405293508b6001600160a01b0316631863e8098b60000151868b878f6020015161382a88614285565b61383689600019614d52565b6040518863ffffffff1660e01b81526004016138589796959493929190615223565b600060405180830381600087803b15801561387257600080fd5b505af1158015613886573d6000803e3d6000fd5b5050505050613942565b6040805160016020820152600291810191909152859060600160405160208183030381529060405293508b6001600160a01b0316631863e8098b60000151868b60008f602001516138e088614285565b6138ec8a600019614d52565b6040518863ffffffff1660e01b815260040161390e9796959493929190615223565b600060405180830381600087803b15801561392857600080fd5b505af115801561393c573d6000803e3d6000fd5b50505050505b5050505050505050505050565b600061395e82600001516144ce565b90506001600160a01b0381161561371e5781516020830151604080850151905163ef1f023760e01b81526001600160a01b0393841660048201529183166024830152821660448201529082169063ef1f0237906064016136eb565b60006139c882600001516144ce565b90506001600160a01b0381161561371e5781516020830151604080850151905163f7e3d98360e01b81526001600160a01b0393841660048201529183166024830152821660448201529082169063f7e3d983906064016136eb565b600082600b0b600003613a3857506000610681565b60016001605f1b03821115613a4f57613a4f6151a5565b613a598284615270565b600b0b90506109928161457d565b6000818311613a765781610992565b5090919050565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613ad1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613af59190615290565b91945092509050828015613b07575081155b15613c2b576000613b1886886145b1565b90508660c001518216600003613c1d576000613b378860c0015161462f565b88516040808b015160608c015182516000815260208101909352613b63939230929190604481016152cc565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e0292613bd29291869164100000000091909114908890600401615311565b6000604051808303816000875af1158015613bf1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c199190810190615170565b9550505b613c288660006146c6565b50505b50505092915050565b600080613c3f614716565b6000806000613c6e7f00000000000000000000000000000000000000000000000000000000000000008a61181a565b5090506000336001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613cb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613cd59190614cea565b60405163407b865d60e11b81529091506001600160a01b038216906380f70cba90613d289033908e907feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc490600401614d07565b602060405180830381865afa158015613d45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d699190614c7c565b9250613d79896080015183613a23565b95505050613d8a86606001516120b2565b613d9787604001516120b2565b613da0866120b2565b613daa9190614d2b565b613db491906150d9565b9450613dc78561309788604001516120b2565b91508082108015613ddf575060008760800151600b0b135b15613e2157613df186606001516120b2565b613dfe87604001516120b2565b613e07836120b2565b613e119190614d2b565b613e1b91906150d9565b94508091505b6001600160a01b03891615801590613e4b5750876001600160a01b0316896001600160a01b031614155b15613e5557600093505b604051806080016040528060008960800151600b0b13613e76576000613e78565b8b5b81526020018860800151600b0b815260200183815260200187606001518152509250876001600160a01b031663a1b2bf8b8860000151613eb7866142d7565b6040518363ffffffff1660e01b8152600401613ed4929190614cd1565b600060405180830381600087803b158015613eee57600080fd5b505af1158015613f02573d6000803e3d6000fd5b505060408051808201909152600080825260208201529250613f22915050565b613f4888886020015189608001518960200151613f3f9190614c1c565b8860008f614348565b600b0b8152604087015160208701516080890151613f77928b929091613f6e9190614c1c565b6000808f614348565b600b0b60208083018290526040808a0151918a015160808b0151855160a08d015193516001600160a01b0395861696938616958f16947f57269d2ebcccecdcc0d9d2c0a0b80ead95f344e28ec20f50f709811f209d4e0e94613fdd94939290919061534f565b60405180910390a486606001516001600160a01b03167f71e0c98e270fc3084227b473f176924d5303ece8c639e679998a2d7dc8e70f748360405161402491815260200190565b60405180910390a25050955095509592505050565b614041614741565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015614095573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140b99190615290565b889650919450925090508280156140ce575081155b1561427a576140dd84896145b1565b93508760c0015181166000036142685760006140fc8960c0015161462f565b89516040808c015160608d01518251600081526020810190935261412a9392309291908e906044810161537d565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a84926141999291869164200000000091909114908b90600401615311565b6000604051808303816000875af11580156141b8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526141e09190810190615170565b604051631fb6491d60e11b81529095503390633f6c923a9061420690889060040161494b565b600060405180830381865afa158015614223573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261424b9190810190614fbc565b955061426089608001518761010001516146ee565b610100870152505b614277868661010001516146c6565b93505b505050935093915050565b60008082121561211c5760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f73697469766560448201526064016112f6565b6040805160018082528183019092526060916020808301908036833701905050905060208260600151901c604060208460400151901c901b608084602001516bffffffffffffffffffffffff16901b60e08560000151901b17171760001b81600081518110612b0d57612b0d614ebf565b600080614355888861196f565b91505060008160200151600b0b61437a836000015186614375919061512f565b6120b2565b6143849190614d52565b905080156143ef5760405163cf97256d60e01b81526001600160a01b038981166004830152602482018390528a169063cf97256d90604401600060405180830381600087803b1580156143d657600080fd5b505af11580156143ea573d6000803e3d6000fd5b505050505b8682602001516143ff9190614d82565b600b0b6020830152838252604082015161441e908790613097906120b2565b60408301526060820151614437908690613097906120b2565b60608301526001600160a01b03891663090c415e896000614457866142d7565b6040518463ffffffff1660e01b8152600401614475939291906153d6565b600060405180830381600087803b15801561448f57600080fd5b505af11580156144a3573d6000803e3d6000fd5b5050506020909201519998505050505050505050565b60008183136144c85782610992565b50919050565b60408051600481526024810182526020810180516001600160e01b03166377a1e96360e11b1790529051600091829182916001600160a01b0386169161451491906153fd565b600060405180830381855afa9150503d806000811461454f576040519150601f19603f3d011682016040523d82523d6000602084013e614554565b606091505b5091509150811561457657808060200190518101906145739190614cea565b92505b5050919050565b60008063ffffffff8316614592576000614595565b60015b60ff16905060206145a88285831c6151d2565b901b9392505050565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb0946145e8948a94600401615419565b6000604051808303816000875af1158015614607573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109929190810190615170565b6000640100000000820361464b57506330d9c91560e01b919050565b64040000000082036146655750630221347d60e61b919050565b641000000000820361467f5750635f9e7d7760e01b919050565b6402000000008203614699575063d86ed3e560e01b919050565b64080000000082036146b3575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b604051634c4d861f60e11b8152606090339063989b0c3e906145e890869086906004016151e5565b60006109926000614707614701866120b2565b856144b9565b6000818313613a765781610992565b6040518060800160405280600081526020016000600b0b815260200160008152602001600081525090565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6040518060600160405280606081526020016147b6614716565b81526020016147c3614741565b905290565b6001600160a01b038116811461089e57600080fd5b6000806000606084860312156147f257600080fd5b83356147fd816147c8565b9250602084013561480d816147c8565b9150604084013561481d816147c8565b809150509250925092565b6000806040838503121561483b57600080fd5b8235614846816147c8565b946020939093013593505050565b60008083601f84011261486657600080fd5b50813567ffffffffffffffff81111561487e57600080fd5b60208301915083602082850101111561181357600080fd5b600080600080606085870312156148ac57600080fd5b84356148b7816147c8565b935060208501356148c7816147c8565b9250604085013567ffffffffffffffff8111156148e357600080fd5b6148ef87828801614854565b95989497509550505050565b60005b838110156149165781810151838201526020016148fe565b50506000910152565b600081518084526149378160208601602086016148fb565b601f01601f19169290920160200192915050565b602081526000610992602083018461491f565b6000806040838503121561497157600080fd5b823561497c816147c8565b9150602083013561498c816147c8565b809150509250929050565b60ff8116811461089e57600080fd5b600080604083850312156149b957600080fd5b82356149c481614997565b9150602083013561498c81614997565b8035600b81900b81146146c157600080fd5b60008060008060008060a087890312156149ff57600080fd5b8635614a0a816147c8565b95506020870135614a1a816147c8565b94506040870135614a2a816147c8565b9350614a38606088016149d4565b9250608087013567ffffffffffffffff811115614a5457600080fd5b614a6089828a01614854565b979a9699509497509295939492505050565b600060208284031215614a8457600080fd5b8135610992816147c8565b600080600060608486031215614aa457600080fd5b8335614aaf816147c8565b92506020840135614abf816147c8565b929592945050506040919091013590565b600080600080600060808688031215614ae857600080fd5b8535614af3816147c8565b94506020860135614b03816147c8565b93506040860135614b13816147c8565b9250606086013567ffffffffffffffff811115614b2f57600080fd5b614b3b88828901614854565b969995985093965092949392505050565b600080600080600060808688031215614b6457600080fd5b8535614b6f816147c8565b94506020860135614b7f816147c8565b9350614b13604087016149d4565b60008060008060008060a08789031215614ba657600080fd5b8635614bb1816147c8565b95506020870135614bc1816147c8565b94506040870135614a2a81614997565b60008060408385031215614be457600080fd5b8235614bef816147c8565b9150614bfd602084016149d4565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600b82810b9082900b036b7fffffffffffffffffffffff19811260016001605f1b038213171561068157610681614c06565b600080600060608486031215614c6357600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215614c8e57600080fd5b5051919050565b60008151808452602080850194506020840160005b83811015614cc657815187529582019590820190600101614caa565b509495945050505050565b8281526040602082015260006106006040830184614c95565b600060208284031215614cfc57600080fd5b8151610992816147c8565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8181036000831280158383131683831282161715614d4b57614d4b614c06565b5092915050565b80820260008212600160ff1b84141615614d6e57614d6e614c06565b818105831482151761068157610681614c06565b600b81810b9083900b0160016001605f1b0381136b7fffffffffffffffffffffff198212171561068157610681614c06565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715614dee57614dee614db4565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715614e1d57614e1d614db4565b604052919050565b60006020808385031215614e3857600080fd5b825167ffffffffffffffff80821115614e5057600080fd5b818501915085601f830112614e6457600080fd5b815181811115614e7657614e76614db4565b8060051b9150614e87848301614df4565b8181529183018401918481019088841115614ea157600080fd5b938501935b83851015610d5f57845182529385019390850190614ea6565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b600082614efa57614efa614ed5565b500490565b80516146c1816147c8565b805180151581146146c157600080fd5b600060208284031215614f2c57600080fd5b61099282614f0a565b80516146c181614997565b80516001600160e01b0319811681146146c157600080fd5b600082601f830112614f6957600080fd5b815167ffffffffffffffff811115614f8357614f83614db4565b614f96601f8201601f1916602001614df4565b818152846020838601011115614fab57600080fd5b6106008260208301602087016148fb565b600060208284031215614fce57600080fd5b815167ffffffffffffffff80821115614fe657600080fd5b908301906101608286031215614ffb57600080fd5b615003614dca565b61500c83614f35565b815261501a60208401614f35565b60208201526040830151604082015261503560608401614eff565b606082015261504660808401614f40565b608082015260a08301518281111561505d57600080fd5b61506987828601614f58565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506150a0828401614eff565b8282015261014091506150b4828401614eff565b91810191909152949350505050565b634e487b7160e01b600052602160045260246000fd5b80820182811260008312801582168215821617156150f9576150f9614c06565b505092915050565b60008261511057615110614ed5565b600160ff1b82146000198414161561512a5761512a614c06565b500590565b8181038181111561068157610681614c06565b606081526000615155606083018661491f565b6001600160a01b039490941660208301525060400152919050565b60006020828403121561518257600080fd5b815167ffffffffffffffff81111561519957600080fd5b61060084828501614f58565b634e487b7160e01b600052600160045260246000fd5b808202811582820484141761068157610681614c06565b8082018082111561068157610681614c06565b6040815260006151f8604083018561491f565b90508260208301529392505050565b6000600160ff1b820161521c5761521c614c06565b5060000390565b87815260e06020820152600061523c60e083018961491f565b6001600160a01b03978816604084015295151560608301525092909416608083015260a082015260c0019190915292915050565b600082600b0b82600b0b0280600b0b9150808214614d4b57614d4b614c06565b6000806000606084860312156152a557600080fd5b6152ae84614f0a565b92506152bc60208501614f0a565b9150604084015190509250925092565b6001600160a01b038681168252851660208201526040810184905260a0606082018190526000906152ff9083018561491f565b8281036080840152610d5f818561491f565b6001600160a01b03851681526080602082018190526000906153359083018661491f565b841515604084015282810360608401526110cf818561491f565b84600b0b815283600b0b602082015282600b0b6040820152608060608201526000610cae608083018461491f565b6001600160a01b038781168252861660208201526040810185905260c0606082018190526000906153b09083018661491f565b82810360808401526153c2818661491f565b905082810360a0840152611250818561491f565b60018060a01b03841681528260208201526060604082015260006106196060830184614c95565b6000825161540f8184602087016148fb565b9190910192915050565b60a08152600061542c60a083018861491f565b6001600160a01b039687166020840152604083019590955250606081019290925290921660809092019190915291905056fea2646970667358221220d86269d45c9dddc90541f57643325131610378a5218a5c1cbdf4100f33f5b72664736f6c63430008170033";
1247
1247
  const isSuperArgs = (xs) => xs.length > 1;
1248
1248
  export class ConstantFlowAgreementV1__factory extends ContractFactory {
1249
1249
  constructor(...args) {
@@ -16,7 +16,7 @@ export declare class InstantDistributionAgreementV1__factory extends ContractFac
16
16
  }): TransactionRequest;
17
17
  attach(address: string): InstantDistributionAgreementV1;
18
18
  connect(signer: Signer): InstantDistributionAgreementV1__factory;
19
- static readonly bytecode = "0x60a06040523480156200001157600080fd5b50604051620052fb380380620052fb833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b6080516152676200009460003960006110f301526152676000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80637fbc7639116100b8578063acafa1b81161007c578063acafa1b814610336578063acf4a6c214610349578063b6dacdb81461035c578063b96731c21461037e578063cd7245c514610391578063d787840a146103e957600080fd5b80637fbc76391461029f578063899baaec146102b25780639903ad38146102e25780639b2e48bc146102ea578063a5653ced1461031857600080fd5b806350d75d25116100ff57806350d75d251461020457806352d1902d1461020c5780635b534051146102225780636041ae96146102665780637730599e1461027957600080fd5b8063232d2b581461013c57806323fc23f3146101655780632e5e74c6146101a95780633fd4176a146101bc57806346951954146101ef575b600080fd5b61014f61014a3660046143b0565b6103fc565b60405161015c919061448b565b60405180910390f35b61017861017336600461449e565b610b16565b6040805194151585526001600160801b0393841660208601529183169184019190915216606082015260800161015c565b61014f6101b73660046144e9565b610b81565b6101d773__$97ed594b3f931187fb739dcb88a7dff641$__81565b6040516001600160a01b03909116815260200161015c565b6102026101fd36600461453d565b6110e8565b005b6101d761113d565b61021461116c565b60405190815260200161015c565b610235610230366004614561565b6111d0565b60405161015c9493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b61014f6102743660046145bd565b6112a6565b7f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a674610214565b61014f6102ad366004614638565b6116cb565b6102c56102c0366004614679565b6117b8565b604080519283526001600160801b0390911660208301520161015c565b61020261185d565b6102fd6102f83660046146ca565b61196b565b6040805193845260208401929092529082015260600161015c565b61032161010081565b60405163ffffffff909116815260200161015c565b61014f6103443660046144e9565b611b76565b61014f6103573660046145bd565b611f7b565b61036f61036a36600461470b565b612535565b60405161015c93929190614789565b61014f61038c366004614826565b61278a565b6103a461039f36600461487b565b61288a565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a00161015c565b61014f6103f73660046148a7565b61298c565b60606001600160a01b03851661042557604051633242919d60e21b815260040160405180910390fd5b61042d614208565b610435614266565b606060008061047a8c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b90508060a00151925080606001519150506104998b828b8d6000612d14565b60808901521515602080890191909152606088019190915260408088018390529287528251908101909252600082526104d5918d918c91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050602086015191965050156105395764040000000060c084015261052f8386612e35565b60a0850152610554565b64010000000060c084015261054e8386612e35565b60a08501525b83602001518015610571575060808401515163ffffffff90811614155b1561064c576105c08460800151608001516001600160801b0316896001600160801b03168660600151602001516001600160801b03166105b19190614921565b6105bb9190614934565b612fec565b6060850180516001600160801b03909216602090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518363ffffffff1660e01b8152600401610615929190614978565b600060405180830381600087803b15801561062f57600080fd5b505af1158015610643573d6000803e3d6000fd5b50505050610833565b8360200151156106c9576106918460800151608001516001600160801b0316896001600160801b03168660600151604001516001600160801b03166105b19190614921565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518060a0016040528063ffffffff80168152602001826001600160a01b031681526020018b63ffffffff1681526020018560600151600001516001600160801b03168152602001896001600160801b031681525084608001819052508a6001600160a01b03166312a6a3f8856040015161074887608001516130f7565b6040518363ffffffff1660e01b8152600401610765929190614978565b600060405180830381600087803b15801561077f57600080fd5b505af1158015610793573d6000803e3d6000fd5b50505050878460600151604001516107ab9190614991565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916107e390613059565b6040518363ffffffff1660e01b8152600401610800929190614978565b600060405180830381600087803b15801561081a57600080fd5b505af115801561082e573d6000803e3d6000fd5b505050505b60008460800151608001516001600160801b031685608001516060015186606001516000015161086391906149b8565b6001600160801b031661087691906149d8565b905063ffffffff801685608001516000015163ffffffff160361090f576108a68c836108a184614a08565b61319e565b6001600160a01b038c1663cf97256d836108bf84614a08565b6040518363ffffffff1660e01b81526004016108dc929190614a24565b600060405180830381600087803b1580156108f657600080fd5b505af115801561090a573d6000803e3d6000fd5b505050505b60405163cf97256d60e01b81526001600160a01b038d169063cf97256d9061093d908d908590600401614a24565b600060405180830381600087803b15801561095757600080fd5b505af115801561096b573d6000803e3d6000fd5b50505050846020015115610a115760608086015151608080880180516001600160801b039384169401939093528251918c16910152604086015190516001600160a01b038e169163a1b2bf8b916109c1906130f7565b6040518363ffffffff1660e01b81526004016109de929190614978565b600060405180830381600087803b1580156109f857600080fd5b505af1158015610a0c573d6000803e3d6000fd5b505050505b846020015115610a405764080000000060c085015260a0850151610a37908590886132ec565b9650610a609050565b64020000000060c085015260a0850151610a5c908590886132ec565b9650505b8a63ffffffff16826001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398d8d88604051610aae93929190614a3d565b60405180910390a4896001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c182524977848e8d88604051610aff9493929190614a79565b60405180910390a350505050509695505050505050565b600080600080610b3f604080516060810182526000808252602082018190529181019190915290565b6000610b4b8888613538565b9050610b57898261359f565b90965091508515610b7657815160208301516040840151919650945092505b505093509350935093565b6060610b8b614208565b610b93614266565b600060606000610bd98c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015160a0909101519093509150506001600160a01b038816610c1157604051633242919d60e21b815260040160405180910390fd5b896001600160a01b0316826001600160a01b031614610c43576040516392da6d1760e01b815260040160405180910390fd5b610c518b8b8a8c6001612d14565b6080890152506060870152604080870182905291865281516020810190925260008252610c81918d918b91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c087015250909550610cd290508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691610d04916149b8565b6001600160801b0316610d1791906149d8565b60808601515190915063ffffffff90811614610d6457846080015160800151856060015160200151610d4991906149b8565b60608601516001600160801b03909116602090910152610d97565b846080015160800151856060015160400151610d8091906149b8565b60608601516001600160801b039091166040909101525b8b6001600160a01b031663a1b2bf8b8660000151610db88860600151613059565b6040518363ffffffff1660e01b8152600401610dd5929190614978565b600060405180830381600087803b158015610def57600080fd5b505af1158015610e03573d6000803e3d6000fd5b5050505060808501515163ffffffff90811614610e2d57610e2d8c8a8760800151600001516136b3565b60808501515163ffffffff1663fffffffe1901610ebb57610e528c8c6108a184614a08565b6001600160a01b038c1663cf97256d8c610e6b84614a08565b6040518363ffffffff1660e01b8152600401610e88929190614a24565b600060405180830381600087803b158015610ea257600080fd5b505af1158015610eb6573d6000803e3d6000fd5b505050505b6040858101519051632704839760e01b81526004810191909152600260248201526001600160a01b038d1690632704839790604401600060405180830381600087803b158015610f0a57600080fd5b505af1158015610f1e573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038f16925063cf97256d9150610f50908c908590600401614a24565b600060405180830381600087803b158015610f6a57600080fd5b505af1158015610f7e573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151610f9e908590886132ec565b9050809650508963ffffffff168b6001600160a01b03168d6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428c86604051610ff0929190614ac2565b60405180910390a4886001600160a01b03168c6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558d8d8660405161103f93929190614ae6565b60405180910390a38963ffffffff168b6001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398c60008760405161109693929190614a3d565b60405180910390a4886001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c1825249778d8d600087604051610aff9493929190614a79565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461113157604051630b00ec8f60e11b815260040160405180910390fd5b61113a8161373e565b50565b60006111677f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190614b16565b6000806000806000806111fc604080516060810182526000808252602082018190529181019190915290565b6112046142a1565b6112128c8c8b8d6000612d14565b909b50929650909450925090508761123b5760008060008097509750975097505050505061129b565b8051608082015163ffffffff9182169091141597509550866112915780608001516001600160801b03168160600151836000015161127991906149b8565b6001600160801b031661128c9190614b2f565b611294565b60005b9450505050505b945094509450949050565b60606112b0614208565b6112b8614266565b6000606060006112fe8b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a0015191505061131d8a8a848b6001612d14565b6080890181905260608901929092525060408701919091529085525163ffffffff1663fffffffe190161136357604051633741257360e01b815260040160405180910390fd5b6113828a8a866040015160405180602001604052806000815250612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c0870152509095506113d390508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691611405916149b8565b6001600160801b031661141891906149d8565b905084608001516080015185606001516020015161143691906149b8565b6060860180516001600160801b0390921660209092019190915260808087015101519051604001516114689190614991565b6060860180516001600160801b03909216604090920191909152855190516001600160a01b038d169163a1b2bf8b916114a090613059565b6040518363ffffffff1660e01b81526004016114bd929190614978565b600060405180830381600087803b1580156114d757600080fd5b505af11580156114eb573d6000803e3d6000fd5b505050506115028b848760800151600001516136b3565b606080860151516080870180516001600160801b039092169190920152805163ffffffff9052604086015190516001600160a01b038d169163a1b2bf8b91611549906130f7565b6040518363ffffffff1660e01b8152600401611566929190614978565b600060405180830381600087803b15801561158057600080fd5b505af1158015611594573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506115c69086908590600401614a24565b600060405180830381600087803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151611614908590886132ec565b9050809650508863ffffffff168a6001600160a01b03168c6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428686604051611666929190614ac2565b60405180910390a4826001600160a01b03168b6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558c8c866040516116b593929190614ae6565b60405180910390a3505050505095945050505050565b6060600061170f8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806117258a848b613946565b9150915080600001516001600160801b0316886001600160801b031610156117605760405163cfdca72560e01b815260040160405180910390fd5b6117738a848b85858d8a60a001516139a5565b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929d9c50505050505050505050505050565b60008060006117c78686613538565b90506000806117d6898461359f565b91509150816117f85760405163edeaa63b60e01b815260040160405180910390fd5b60008160400151826020015161180e9190614991565b6001600160801b0316905060006118286105bb838a614b46565b8351909150611838908290614991565b955061184d826001600160801b038316614b2f565b9650505050505094509492505050565b600054610100900460ff161580801561187d5750600054600160ff909116105b806118975750303b158015611897575060005460ff166001145b6118ff5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611922576000805461ff0019166101001790555b801561113a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b600080600060608061197d8888613bd4565b909250905060005b81518163ffffffff161015611b5a57600061199e6142a1565b600080868563ffffffff16815181106119b9576119b9614b68565b602002602001015190506119ec8d878763ffffffff16815181106119df576119df614b68565b6020026020010151613cbf565b9094509250836119fe576119fe614b7e565b8063ffffffff16836000015163ffffffff1614611a1d57611a1d614b7e565b6001600160a01b038d16634b61cc33308e611a4263ffffffff8616600160801b614921565b60016040518563ffffffff1660e01b8152600401611a639493929190614b94565b600060405180830381865afa158015611a80573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611aa89190810190614cbe565b600081518110611aba57611aba614b68565b6020026020010151915050611ae8604080516060810182526000808252602082018190529181019190915290565b611af28d8361359f565b909450905083611b0457611b04614b7e565b82608001516001600160801b031683606001518260000151611b2691906149b8565b6001600160801b0316611b3991906149d8565b611b43908b614cf2565b99505050505080611b5390614d1a565b9050611985565b50611b658888613ddb565b935060009250505093509350939050565b6060611bb88784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b506001600160a01b038416611be057604051633242919d60e21b815260040160405180910390fd5b611be8614208565b611bf0614266565b611bfe8989888a6001612d14565b6080870181905260608701929092525060408501919091529083525163ffffffff90811614611c4057604051633eb2f84960e01b815260040160405180910390fd5b60008260800151608001516001600160801b0316836080015160600151846060015160000151611c7091906149b8565b6001600160801b0316611c839190614b2f565b9050611ca48a8a856040015160405180602001604052806000815250612e07565b915085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505082159150611f3490505764040000000060c0830152611cfc8285612e35565b60a0840152611d0f8a8a6108a184614a08565b6001600160a01b038a1663cf97256d8a611d2884614a08565b6040518363ffffffff1660e01b8152600401611d45929190614a24565b600060405180830381600087803b158015611d5f57600080fd5b505af1158015611d73573d6000803e3d6000fd5b50505050606083810151516080850180516001600160801b039092169190920152604084015190516001600160a01b038c169163a1b2bf8b91611db5906130f7565b6040518363ffffffff1660e01b8152600401611dd2929190614978565b600060405180830381600087803b158015611dec57600080fd5b505af1158015611e00573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038d16925063cf97256d9150611e32908a908590600401614a24565b600060405180830381600087803b158015611e4c57600080fd5b505af1158015611e60573d6000803e3d6000fd5b505050508763ffffffff16896001600160a01b03168b6001600160a01b03167f467eccd248ef31c8bcef16d94856855799a8783aeef10f3759e43614059a6bb18a85604051611eb0929190614a24565b60405180910390a4604080516001600160a01b038b8116825263ffffffff8b166020830152918101839052818916918c16907f48a3d91d4a07e4982b081260e24f922bd33bb965882772d6de19c922c3eabdea9060600160405180910390a364080000000060c083015260a0830151611f2b908390866132ec565b9450611f6e9050565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b6060611f85614208565b611f8d614266565b600060606000611fd38b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a00151915050611ff28a8a848b6000612d14565b60808901521580156020890152606088019190915260408701919091529085526120425760808401515163ffffffff9081161461204257604051633eb2f84960e01b815260040160405180910390fd5b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040808a015181516020810190925291815294995061209b948f94508e9350909150612e07565b925083602001516121c45764010000000060c08401526120bb8386612e35565b60a08086019190915260408051918201815260008083526001600160a01b038c16602084015263ffffffff8b1691830191909152606080870151516001600160801b031690830152608080830191909152850152835161211e908b908490613e84565b60808501805163ffffffff909216909152604085015190516001600160a01b038c16916312a6a3f891612150906130f7565b6040518363ffffffff1660e01b815260040161216d929190614978565b600060405180830381600087803b15801561218757600080fd5b505af115801561219b573d6000803e3d6000fd5b505064020000000060c0860152505060a08401516121bb908490876132ec565b95506124859050565b64040000000060c08401526121d98386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b039092169161220b916149b8565b6001600160801b031661221e91906149d8565b9050846080015160800151856060015160200181815161223e9190614991565b6001600160801b03169052506080808601510151606086015160400180516122679083906149b8565b6001600160801b0316905250845160608601516001600160a01b038d169163a1b2bf8b9161229490613059565b6040518363ffffffff1660e01b81526004016122b1929190614978565b600060405180830381600087803b1580156122cb57600080fd5b505af11580156122df573d6000803e3d6000fd5b505050506122f28b8b836108a190614a08565b6001600160a01b038b1663cf97256d8b61230b84614a08565b6040518363ffffffff1660e01b8152600401612328929190614a24565b600060405180830381600087803b15801561234257600080fd5b505af1158015612356573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506123889086908590600401614a24565b600060405180830381600087803b1580156123a257600080fd5b505af11580156123b6573d6000803e3d6000fd5b5050506060808701515160808801516001600160801b039091169101525084516123e3908c908590613e84565b60808601805163ffffffff909216909152604086015190516001600160a01b038d169163a1b2bf8b91612415906130f7565b6040518363ffffffff1660e01b8152600401612432929190614978565b600060405180830381600087803b15801561244c57600080fd5b505af1158015612460573d6000803e3d6000fd5b505064080000000060c0870152505060a0850151612480908590886132ec565b965050505b8763ffffffff16896001600160a01b03168b6001600160a01b03167f492d2641617cfaf24ac7328f85bc5bdf5113537d78dc7671afa4f49a73f053c285856040516124d1929190614ac2565b60405180910390a4816001600160a01b03168a6001600160a01b03167fc0b8396b655615cdb85fe462a9a1792480816f909cd46d9517a940b386dfbf6b8b8b8560405161252093929190614ae6565b60405180910390a35050505095945050505050565b60608060608060606125478787613bd4565b909250905060006125566142a1565b82516001600160401b0381111561256f5761256f614bbd565b604051908082528060200260200182016040528015612598578160200160208202803683370190505b50965082516001600160401b038111156125b4576125b4614bbd565b6040519080825280602002602001820160405280156125dd578160200160208202803683370190505b50955082516001600160401b038111156125f9576125f9614bbd565b604051908082528060200260200182016040528015612622578160200160208202803683370190505b50945060005b83518163ffffffff16101561277e576000858263ffffffff168151811061265157612651614b68565b602002602001015190506000858363ffffffff168151811061267557612675614b68565b602002602001015190506126898c82613cbf565b90955093508461269b5761269b614b7e565b8163ffffffff16846000015163ffffffff16146126ba576126ba614b7e565b83602001518a8463ffffffff16815181106126d7576126d7614b68565b60200260200101906001600160a01b031690816001600160a01b0316815250508360400151898463ffffffff168151811061271457612714614b68565b602002602001019063ffffffff16908163ffffffff16815250508360800151888463ffffffff168151811061274b5761274b614b68565b60200260200101906001600160801b031690816001600160801b03168152505050508061277790614d1a565b9050612628565b50505050509250925092565b606060006127ce8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806127e48a848b613946565b915091506000816040015182602001516127fe9190614991565b6001600160801b03169050801561284457600061281e6105bb838c614b46565b90506128428c868d87878689600001516128389190614991565b8c60a001516139a5565b505b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929e9d5050505050505050505050505050565b60008060008060008060006128b8604080516060810182526000808252602082018190529181019190915290565b6128c06142a1565b6128ca8b8b613cbf565b9094509050836128ed5760405163016d919360e71b815260040160405180910390fd5b80602001519850806040015197506129058989613538565b92506129118b8461359f565b90945091508361292357612923614b7e565b8051608082015163ffffffff9182169091141597509550866129795780608001516001600160801b03168160600151836000015161296191906149b8565b6001600160801b03166129749190614b2f565b61297c565b60005b9450505050509295509295909350565b606060006129d08685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015190915060006129e48288613538565b90506129f08882613f2b565b15612a0e57604051635c02a51760e01b815260040160405180910390fd5b876001600160a01b03166312a6a3f882612a5f604051806060016040528060006001600160801b0316815260200160006001600160801b0316815260200160006001600160801b0316815250613059565b6040518363ffffffff1660e01b8152600401612a7c929190614978565b600060405180830381600087803b158015612a9657600080fd5b505af1158015612aaa573d6000803e3d6000fd5b505050508663ffffffff16826001600160a01b0316896001600160a01b03167f01ab8663165edfb7390d9e5f75d960a66dacf4f01fa9787e3a731c870d0da9218660a00151604051612afc919061448b565b60405180910390a485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929b9a5050505050505050505050565b612b4f6142cf565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bbb9190614d48565b6001600160a01b031614612c055760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b60448201526064016118f6565b604051632fd0a1cd60e21b8152339063bf42873490612c2890859060040161448b565b602060405180830381865afa158015612c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c699190614d75565b612ca35760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b60448201526064016118f6565b604051631fb6491d60e11b81523390633f6c923a90612cc690859060040161448b565b600060405180830381865afa158015612ce3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614e1c565b90505b92915050565b6040805160608101825260008082526020820181905291810182905281906000612d3c6142a1565b6000612d488a89613538565b9550612d548987613fd7565b9450612d608b8761359f565b9450905080612d825760405163edeaa63b60e01b815260040160405180910390fd5b612d8c8b86613cbf565b90935091508615612df95782612db55760405163016d919360e71b815260040160405180910390fd5b896001600160a01b031682602001516001600160a01b031614612dda57612dda614b7e565b8763ffffffff16826040015163ffffffff1614612df957612df9614b7e565b509550955095509550959050565b612e0f614266565b6001600160a01b0394851681529290931660208301526040820152606081019190915290565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015612e89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ead9190614f22565b91945092509050828015612ebf575081155b15612fe3576000612ed08688614018565b90508660c001518216600003612fd5576000612eef8860c00151614096565b88516040808b015160608c015182516000815260208101909352612f1b93923092919060448101614f5e565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e0292612f8a9291869164100000000091909114908890600401614fa3565b6000604051808303816000875af1158015612fa9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fd19190810190614fec565b9550505b612fe086600061412d565b50505b50505092915050565b60006001600160801b038211156130555760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016118f6565b5090565b604080516002808252606080830184529260208301908036833701905050905081600001516001600160801b0316600160801b1760001b816000815181106130a3576130a3614b68565b602002602001018181525050608082604001516001600160801b0316901b82602001516001600160801b03161760001b816001815181106130e6576130e6614b68565b602002602001018181525050919050565b6040805160028082526060808301845292602083019080368337019050509050816000015163ffffffff166020836040015163ffffffff16901b606084602001516001600160a01b0316901b171760001b8160008151811061315b5761315b614b68565b602002602001018181525050608082608001516001600160801b0316901b82606001516001600160801b03161760001b816001815181106130e6576130e6614b68565b806000036131ab57505050565b604051634b61cc3360e01b81526000906001600160a01b03851690634b61cc33906131e6903090879064010000000090600190600401614b94565b600060405180830381865afa158015613203573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261322b9190810190614cbe565b9050816132548260008151811061324457613244614b68565b602002602001015160001c614155565b61325e9190614cf2565b60001b8160008151811061327457613274614b68565b602090810291909101015260405163048620af60e11b81526001600160a01b0385169063090c415e906132b4908690640100000000908690600401615020565b600060405180830381600087803b1580156132ce57600080fd5b505af11580156132e2573d6000803e3d6000fd5b5050505050505050565b6132f46142cf565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061336c9190614f22565b88965091945092509050828015613381575081155b1561352d576133908489614018565b93508760c00151811660000361351b5760006133af8960c00151614096565b89516040808c015160608d0151825160008152602081019093526133dd9392309291908e9060448101615047565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a849261344c9291869164200000000091909114908b90600401614fa3565b6000604051808303816000875af115801561346b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134939190810190614fec565b604051631fb6491d60e11b81529095503390633f6c923a906134b990889060040161448b565b600060405180830381865afa1580156134d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134fe9190810190614e1c565b955061351389608001518761010001516141bf565b610100870152505b61352a8686610100015161412d565b93505b505050935093915050565b60405168383ab13634b9b432b960b91b60208201526bffffffffffffffffffffffff19606084901b1660298201526001600160e01b031960e083901b16603d8201526000906041015b60405160208183030381529060405280519060200120905092915050565b60408051606081018252600080825260208201819052918101829052604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613610573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136389190810190614cbe565b905060008160008151811061364f5761364f614b68565b602002602001015160001c905060008260018151811061367157613671614b68565b602002602001015160001c905060008211945084156136a9576001600160801b03808316855281166020850152608081901c60408501525b5050509250929050565b604051631528e57f60e31b81526001600160a01b038085166004830152831660248201526000604482015263ffffffff8216606482015273__$97ed594b3f931187fb739dcb88a7dff641$__9063a9472bf89060840160006040518083038186803b15801561372157600080fd5b505af4158015613735573d6000803e3d6000fd5b50505050505050565b60006137687f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137be5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016118f6565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138209190614b16565b61382861116c565b146138815760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016118f6565b6001600160a01b03811630036138d95760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016118f6565b613901817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc61392a61116c565b604080519182526001600160a01b038416602083015201611960565b60408051606081018252600080825260208201819052918101829052600061396e8585613538565b925061397a868461359f565b925090508061399c5760405163edeaa63b60e01b815260040160405180910390fd5b50935093915050565b866001600160a01b031663cf97256d8785602001516001600160801b03168660000151866139d391906149b8565b6001600160801b03166139e590614a08565b6139ef91906149d8565b6040518363ffffffff1660e01b8152600401613a0c929190614a24565b600060405180830381600087803b158015613a2657600080fd5b505af1158015613a3a573d6000803e3d6000fd5b50505050613a74878785604001516001600160801b0316866000015186613a6191906149b8565b6001600160801b03166108a191906149d8565b82516001600160801b03831684526001600160a01b03881663a1b2bf8b86613a9b87613059565b6040518363ffffffff1660e01b8152600401613ab8929190614978565b600060405180830381600087803b158015613ad257600080fd5b505af1158015613ae6573d6000803e3d6000fd5b505050508563ffffffff16876001600160a01b0316896001600160a01b03167f81e37f3d9f16cbf29a62d6a1c21d79b23ef29b54124ec44af43a50fffb9304f3848789604001518a6020015189604051613b449594939291906150ad565b60405180910390a46040516379359f6f60e01b81526001600160a01b0388811660048301528916906379359f6f90602401602060405180830381865afa158015613b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bb69190614d75565b156132e2576040516316e759bb60e01b815260040160405180910390fd5b60608073__$97ed594b3f931187fb739dcb88a7dff641$__6306967a8c85856000600160801b6040518563ffffffff1660e01b8152600401613c199493929190614b94565b600060405180830381865af4158015613c36573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5e91908101906150e9565b909250905060005b8151811015613cb757613c9284838381518110613c8557613c85614b68565b6020026020010151613fd7565b828281518110613ca457613ca4614b68565b6020908102919091010152600101613c66565b509250929050565b6000613cc96142a1565b604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613d1e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613d469190810190614cbe565b9050600081600081518110613d5d57613d5d614b68565b602002602001015160001c9050600082600181518110613d7f57613d7f614b68565b602002602001015160001c905060008211945084156136a957606082811c60208087019190915283901c63ffffffff9081166040870152831685526001600160801b03821690850152608081811c908501525050509250929050565b600080836001600160a01b0316634b61cc33308564010000000060016040518563ffffffff1660e01b8152600401613e169493929190614b94565b600060405180830381865afa158015613e33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613e5b9190810190614cbe565b905080600081518110613e7057613e70614b68565b602002602001015160001c91505092915050565b604051630a32470160e41b81526001600160a01b03808516600483015283166024820152600060448201819052600160801b6064830152608482018390529073__$97ed594b3f931187fb739dcb88a7dff641$__9063a32470109060a401602060405180830381865af4158015613eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f2391906151ad565b949350505050565b604051636c2d9f2f60e01b8152306004820152602481018290526002604482015260009081906001600160a01b03851690636c2d9f2f90606401600060405180830381865afa158015613f82573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613faa9190810190614cbe565b9050600081600081518110613fc157613fc1614b68565b6020908102919091010151151595945050505050565b604080516b39bab139b1b934b83a34b7b760a11b6020820152606084811b6bffffffffffffffffffffffff1916602c83015291810183905260009101613581565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb09461404f948a946004016151ca565b6000604051808303816000875af115801561406e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614fec565b600064010000000082036140b257506330d9c91560e01b919050565b64040000000082036140cc5750630221347d60e61b919050565b64100000000082036140e65750635f9e7d7760e01b919050565b6402000000008203614100575063d86ed3e560e01b919050565b640800000000820361411a575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b604051634c4d861f60e11b8152606090339063989b0c3e9061404f908690869060040161520f565b60006001600160ff1b038211156130555760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016118f6565b6000612d0b60006141d86141d286614155565b856141dd565b6141f2565b60008183136141ec5782612d0b565b50919050565b60008183136142015781612d0b565b5090919050565b6040805160c081018252600080825260208201819052918101919091526060810161424c604080516060810182526000808252602082018190529181019190915290565b81526020016142596142a1565b8152602001606081525090565b6040805160e0810182526000808252602082018190529181018290526060808201526080810182905260a0810182905260c081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461113a57600080fd5b63ffffffff8116811461113a57600080fd5b80356001600160801b038116811461412857600080fd5b60008083601f84011261437a57600080fd5b5081356001600160401b0381111561439157600080fd5b6020830191508360208285010111156143a957600080fd5b9250929050565b60008060008060008060a087890312156143c957600080fd5b86356143d48161432a565b955060208701356143e48161433f565b945060408701356143f48161432a565b935061440260608801614351565b925060808701356001600160401b0381111561441d57600080fd5b61442989828a01614368565b979a9699509497509295939492505050565b60005b8381101561445657818101518382015260200161443e565b50506000910152565b6000815180845261447781602086016020860161443b565b601f01601f19169290920160200192915050565b602081526000612d0b602083018461445f565b6000806000606084860312156144b357600080fd5b83356144be8161432a565b925060208401356144ce8161432a565b915060408401356144de8161433f565b809150509250925092565b60008060008060008060a0878903121561450257600080fd5b863561450d8161432a565b9550602087013561451d8161432a565b9450604087013561452d8161433f565b935060608701356144028161432a565b60006020828403121561454f57600080fd5b813561455a8161432a565b9392505050565b6000806000806080858703121561457757600080fd5b84356145828161432a565b935060208501356145928161432a565b925060408501356145a28161433f565b915060608501356145b28161432a565b939692955090935050565b6000806000806000608086880312156145d557600080fd5b85356145e08161432a565b945060208601356145f08161432a565b935060408601356146008161433f565b925060608601356001600160401b0381111561461b57600080fd5b61462788828901614368565b969995985093965092949392505050565b60008060008060006080868803121561465057600080fd5b853561465b8161432a565b9450602086013561466b8161433f565b935061460060408701614351565b6000806000806080858703121561468f57600080fd5b843561469a8161432a565b935060208501356146aa8161432a565b925060408501356146ba8161433f565b9396929550929360600135925050565b6000806000606084860312156146df57600080fd5b83356146ea8161432a565b925060208401356146fa8161432a565b929592945050506040919091013590565b6000806040838503121561471e57600080fd5b82356147298161432a565b915060208301356147398161432a565b809150509250929050565b60008151808452602080850194506020840160005b8381101561477e5781516001600160801b031687529582019590820190600101614759565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b828110156147cb5781516001600160a01b0316845292840192908401906001016147a6565b5050508381038285015285518082528683019183019060005b8181101561480657835163ffffffff16835292840192918401916001016147e4565b5050848103604086015261481a8187614744565b98975050505050505050565b60008060008060006080868803121561483e57600080fd5b85356148498161432a565b945060208601356148598161433f565b93506040860135925060608601356001600160401b0381111561461b57600080fd5b6000806040838503121561488e57600080fd5b82356148998161432a565b946020939093013593505050565b600080600080606085870312156148bd57600080fd5b84356148c88161432a565b935060208501356148d88161433f565b925060408501356001600160401b038111156148f357600080fd5b6148ff87828801614368565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115612d0e57612d0e61490b565b81810381811115612d0e57612d0e61490b565b60008151808452602080850194506020840160005b8381101561477e5781518752958201959082019060010161495c565b828152604060208201526000613f236040830184614947565b6001600160801b038181168382160190808211156149b1576149b161490b565b5092915050565b6001600160801b038281168282160390808211156149b1576149b161490b565b80820260008212600160ff1b841416156149f4576149f461490b565b8181058314821517612d0e57612d0e61490b565b6000600160ff1b8201614a1d57614a1d61490b565b5060000390565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03841681526001600160801b0383166020820152606060408201819052600090614a709083018461445f565b95945050505050565b6001600160a01b038516815263ffffffff841660208201526001600160801b0383166040820152608060608201819052600090614ab89083018461445f565b9695505050505050565b6001600160a01b0383168152604060208201819052600090613f239083018461445f565b6001600160a01b038416815263ffffffff83166020820152606060408201819052600090614a709083018461445f565b600060208284031215614b2857600080fd5b5051919050565b8082028115828204841417612d0e57612d0e61490b565b600082614b6357634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715614bf657614bf6614bbd565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614c2457614c24614bbd565b604052919050565b60006001600160401b03821115614c4557614c45614bbd565b5060051b60200190565b600082601f830112614c6057600080fd5b81516020614c75614c7083614c2c565b614bfc565b8083825260208201915060208460051b870101935086841115614c9757600080fd5b602086015b84811015614cb35780518352918301918301614c9c565b509695505050505050565b600060208284031215614cd057600080fd5b81516001600160401b03811115614ce657600080fd5b613f2384828501614c4f565b8082018281126000831280158216821582161715614d1257614d1261490b565b505092915050565b600063ffffffff808316818103614d3357614d3361490b565b6001019392505050565b80516141288161432a565b600060208284031215614d5a57600080fd5b815161455a8161432a565b8051801515811461412857600080fd5b600060208284031215614d8757600080fd5b612d0b82614d65565b805160ff8116811461412857600080fd5b80516001600160e01b03198116811461412857600080fd5b600082601f830112614dca57600080fd5b81516001600160401b03811115614de357614de3614bbd565b614df6601f8201601f1916602001614bfc565b818152846020838601011115614e0b57600080fd5b613f2382602083016020870161443b565b600060208284031215614e2e57600080fd5b81516001600160401b0380821115614e4557600080fd5b908301906101608286031215614e5a57600080fd5b614e62614bd3565b614e6b83614d90565b8152614e7960208401614d90565b602082015260408301516040820152614e9460608401614d3d565b6060820152614ea560808401614da1565b608082015260a083015182811115614ebc57600080fd5b614ec887828601614db9565b60a08301525060c083015160c082015260e083015160e0820152610100915081830151828201526101209150614eff828401614d3d565b828201526101409150614f13828401614d3d565b91810191909152949350505050565b600080600060608486031215614f3757600080fd5b614f4084614d65565b9250614f4e60208501614d65565b9150604084015190509250925092565b6001600160a01b038681168252851660208201526040810184905260a060608201819052600090614f919083018561445f565b828103608084015261481a818561445f565b6001600160a01b0385168152608060208201819052600090614fc79083018661445f565b84151560408401528281036060840152614fe1818561445f565b979650505050505050565b600060208284031215614ffe57600080fd5b81516001600160401b0381111561501457600080fd5b613f2384828501614db9565b60018060a01b0384168152826020820152606060408201526000614a706060830184614947565b6001600160a01b038781168252861660208201526040810185905260c06060820181905260009061507a9083018661445f565b828103608084015261508c818661445f565b905082810360a08401526150a0818561445f565b9998505050505050505050565b60006001600160801b0380881683528087166020840152808616604084015280851660608401525060a06080830152614fe160a083018461445f565b600080604083850312156150fc57600080fd5b82516001600160401b038082111561511357600080fd5b818501915085601f83011261512757600080fd5b81516020615137614c7083614c2c565b82815260059290921b8401810191818101908984111561515657600080fd5b948201945b8386101561517d57855161516e8161433f565b8252948201949082019061515b565b9188015191965090935050508082111561519657600080fd5b506151a385828601614c4f565b9150509250929050565b6000602082840312156151bf57600080fd5b815161455a8161433f565b60a0815260006151dd60a083018861445f565b6001600160a01b0396871660208401526040830195909552506060810192909252909216608090920191909152919050565b604081526000615222604083018561445f565b9050826020830152939250505056fea26469706673582212202d1eaaccfee653d92a2016dfadfb860306ec38745185cf8bee170188a60cd6c764736f6c63430008170033";
19
+ static readonly bytecode = "0x60a06040523480156200001157600080fd5b50604051620052fb380380620052fb833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b6080516152676200009460003960006110f301526152676000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80637fbc7639116100b8578063acafa1b81161007c578063acafa1b814610336578063acf4a6c214610349578063b6dacdb81461035c578063b96731c21461037e578063cd7245c514610391578063d787840a146103e957600080fd5b80637fbc76391461029f578063899baaec146102b25780639903ad38146102e25780639b2e48bc146102ea578063a5653ced1461031857600080fd5b806350d75d25116100ff57806350d75d251461020457806352d1902d1461020c5780635b534051146102225780636041ae96146102665780637730599e1461027957600080fd5b8063232d2b581461013c57806323fc23f3146101655780632e5e74c6146101a95780633fd4176a146101bc57806346951954146101ef575b600080fd5b61014f61014a3660046143b0565b6103fc565b60405161015c919061448b565b60405180910390f35b61017861017336600461449e565b610b16565b6040805194151585526001600160801b0393841660208601529183169184019190915216606082015260800161015c565b61014f6101b73660046144e9565b610b81565b6101d773__$97ed594b3f931187fb739dcb88a7dff641$__81565b6040516001600160a01b03909116815260200161015c565b6102026101fd36600461453d565b6110e8565b005b6101d761113d565b61021461116c565b60405190815260200161015c565b610235610230366004614561565b6111d0565b60405161015c9493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b61014f6102743660046145bd565b6112a6565b7f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a674610214565b61014f6102ad366004614638565b6116cb565b6102c56102c0366004614679565b6117b8565b604080519283526001600160801b0390911660208301520161015c565b61020261185d565b6102fd6102f83660046146ca565b61196b565b6040805193845260208401929092529082015260600161015c565b61032161010081565b60405163ffffffff909116815260200161015c565b61014f6103443660046144e9565b611b76565b61014f6103573660046145bd565b611f7b565b61036f61036a36600461470b565b612535565b60405161015c93929190614789565b61014f61038c366004614826565b61278a565b6103a461039f36600461487b565b61288a565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a00161015c565b61014f6103f73660046148a7565b61298c565b60606001600160a01b03851661042557604051633242919d60e21b815260040160405180910390fd5b61042d614208565b610435614266565b606060008061047a8c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b90508060a00151925080606001519150506104998b828b8d6000612d14565b60808901521515602080890191909152606088019190915260408088018390529287528251908101909252600082526104d5918d918c91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050602086015191965050156105395764040000000060c084015261052f8386612e35565b60a0850152610554565b64010000000060c084015261054e8386612e35565b60a08501525b83602001518015610571575060808401515163ffffffff90811614155b1561064c576105c08460800151608001516001600160801b0316896001600160801b03168660600151602001516001600160801b03166105b19190614921565b6105bb9190614934565b612fec565b6060850180516001600160801b03909216602090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518363ffffffff1660e01b8152600401610615929190614978565b600060405180830381600087803b15801561062f57600080fd5b505af1158015610643573d6000803e3d6000fd5b50505050610833565b8360200151156106c9576106918460800151608001516001600160801b0316896001600160801b03168660600151604001516001600160801b03166105b19190614921565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518060a0016040528063ffffffff80168152602001826001600160a01b031681526020018b63ffffffff1681526020018560600151600001516001600160801b03168152602001896001600160801b031681525084608001819052508a6001600160a01b03166312a6a3f8856040015161074887608001516130f7565b6040518363ffffffff1660e01b8152600401610765929190614978565b600060405180830381600087803b15801561077f57600080fd5b505af1158015610793573d6000803e3d6000fd5b50505050878460600151604001516107ab9190614991565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916107e390613059565b6040518363ffffffff1660e01b8152600401610800929190614978565b600060405180830381600087803b15801561081a57600080fd5b505af115801561082e573d6000803e3d6000fd5b505050505b60008460800151608001516001600160801b031685608001516060015186606001516000015161086391906149b8565b6001600160801b031661087691906149d8565b905063ffffffff801685608001516000015163ffffffff160361090f576108a68c836108a184614a08565b61319e565b6001600160a01b038c1663cf97256d836108bf84614a08565b6040518363ffffffff1660e01b81526004016108dc929190614a24565b600060405180830381600087803b1580156108f657600080fd5b505af115801561090a573d6000803e3d6000fd5b505050505b60405163cf97256d60e01b81526001600160a01b038d169063cf97256d9061093d908d908590600401614a24565b600060405180830381600087803b15801561095757600080fd5b505af115801561096b573d6000803e3d6000fd5b50505050846020015115610a115760608086015151608080880180516001600160801b039384169401939093528251918c16910152604086015190516001600160a01b038e169163a1b2bf8b916109c1906130f7565b6040518363ffffffff1660e01b81526004016109de929190614978565b600060405180830381600087803b1580156109f857600080fd5b505af1158015610a0c573d6000803e3d6000fd5b505050505b846020015115610a405764080000000060c085015260a0850151610a37908590886132ec565b9650610a609050565b64020000000060c085015260a0850151610a5c908590886132ec565b9650505b8a63ffffffff16826001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398d8d88604051610aae93929190614a3d565b60405180910390a4896001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c182524977848e8d88604051610aff9493929190614a79565b60405180910390a350505050509695505050505050565b600080600080610b3f604080516060810182526000808252602082018190529181019190915290565b6000610b4b8888613538565b9050610b57898261359f565b90965091508515610b7657815160208301516040840151919650945092505b505093509350935093565b6060610b8b614208565b610b93614266565b600060606000610bd98c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015160a0909101519093509150506001600160a01b038816610c1157604051633242919d60e21b815260040160405180910390fd5b896001600160a01b0316826001600160a01b031614610c43576040516392da6d1760e01b815260040160405180910390fd5b610c518b8b8a8c6001612d14565b6080890152506060870152604080870182905291865281516020810190925260008252610c81918d918b91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c087015250909550610cd290508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691610d04916149b8565b6001600160801b0316610d1791906149d8565b60808601515190915063ffffffff90811614610d6457846080015160800151856060015160200151610d4991906149b8565b60608601516001600160801b03909116602090910152610d97565b846080015160800151856060015160400151610d8091906149b8565b60608601516001600160801b039091166040909101525b8b6001600160a01b031663a1b2bf8b8660000151610db88860600151613059565b6040518363ffffffff1660e01b8152600401610dd5929190614978565b600060405180830381600087803b158015610def57600080fd5b505af1158015610e03573d6000803e3d6000fd5b5050505060808501515163ffffffff90811614610e2d57610e2d8c8a8760800151600001516136b3565b60808501515163ffffffff1663fffffffe1901610ebb57610e528c8c6108a184614a08565b6001600160a01b038c1663cf97256d8c610e6b84614a08565b6040518363ffffffff1660e01b8152600401610e88929190614a24565b600060405180830381600087803b158015610ea257600080fd5b505af1158015610eb6573d6000803e3d6000fd5b505050505b6040858101519051632704839760e01b81526004810191909152600260248201526001600160a01b038d1690632704839790604401600060405180830381600087803b158015610f0a57600080fd5b505af1158015610f1e573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038f16925063cf97256d9150610f50908c908590600401614a24565b600060405180830381600087803b158015610f6a57600080fd5b505af1158015610f7e573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151610f9e908590886132ec565b9050809650508963ffffffff168b6001600160a01b03168d6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428c86604051610ff0929190614ac2565b60405180910390a4886001600160a01b03168c6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558d8d8660405161103f93929190614ae6565b60405180910390a38963ffffffff168b6001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398c60008760405161109693929190614a3d565b60405180910390a4886001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c1825249778d8d600087604051610aff9493929190614a79565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461113157604051630b00ec8f60e11b815260040160405180910390fd5b61113a8161373e565b50565b60006111677f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190614b16565b6000806000806000806111fc604080516060810182526000808252602082018190529181019190915290565b6112046142a1565b6112128c8c8b8d6000612d14565b909b50929650909450925090508761123b5760008060008097509750975097505050505061129b565b8051608082015163ffffffff9182169091141597509550866112915780608001516001600160801b03168160600151836000015161127991906149b8565b6001600160801b031661128c9190614b2f565b611294565b60005b9450505050505b945094509450949050565b60606112b0614208565b6112b8614266565b6000606060006112fe8b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a0015191505061131d8a8a848b6001612d14565b6080890181905260608901929092525060408701919091529085525163ffffffff1663fffffffe190161136357604051633741257360e01b815260040160405180910390fd5b6113828a8a866040015160405180602001604052806000815250612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c0870152509095506113d390508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691611405916149b8565b6001600160801b031661141891906149d8565b905084608001516080015185606001516020015161143691906149b8565b6060860180516001600160801b0390921660209092019190915260808087015101519051604001516114689190614991565b6060860180516001600160801b03909216604090920191909152855190516001600160a01b038d169163a1b2bf8b916114a090613059565b6040518363ffffffff1660e01b81526004016114bd929190614978565b600060405180830381600087803b1580156114d757600080fd5b505af11580156114eb573d6000803e3d6000fd5b505050506115028b848760800151600001516136b3565b606080860151516080870180516001600160801b039092169190920152805163ffffffff9052604086015190516001600160a01b038d169163a1b2bf8b91611549906130f7565b6040518363ffffffff1660e01b8152600401611566929190614978565b600060405180830381600087803b15801561158057600080fd5b505af1158015611594573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506115c69086908590600401614a24565b600060405180830381600087803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151611614908590886132ec565b9050809650508863ffffffff168a6001600160a01b03168c6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428686604051611666929190614ac2565b60405180910390a4826001600160a01b03168b6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558c8c866040516116b593929190614ae6565b60405180910390a3505050505095945050505050565b6060600061170f8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806117258a848b613946565b9150915080600001516001600160801b0316886001600160801b031610156117605760405163cfdca72560e01b815260040160405180910390fd5b6117738a848b85858d8a60a001516139a5565b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929d9c50505050505050505050505050565b60008060006117c78686613538565b90506000806117d6898461359f565b91509150816117f85760405163edeaa63b60e01b815260040160405180910390fd5b60008160400151826020015161180e9190614991565b6001600160801b0316905060006118286105bb838a614b46565b8351909150611838908290614991565b955061184d826001600160801b038316614b2f565b9650505050505094509492505050565b600054610100900460ff161580801561187d5750600054600160ff909116105b806118975750303b158015611897575060005460ff166001145b6118ff5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611922576000805461ff0019166101001790555b801561113a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b600080600060608061197d8888613bd4565b909250905060005b81518163ffffffff161015611b5a57600061199e6142a1565b600080868563ffffffff16815181106119b9576119b9614b68565b602002602001015190506119ec8d878763ffffffff16815181106119df576119df614b68565b6020026020010151613cbf565b9094509250836119fe576119fe614b7e565b8063ffffffff16836000015163ffffffff1614611a1d57611a1d614b7e565b6001600160a01b038d16634b61cc33308e611a4263ffffffff8616600160801b614921565b60016040518563ffffffff1660e01b8152600401611a639493929190614b94565b600060405180830381865afa158015611a80573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611aa89190810190614cbe565b600081518110611aba57611aba614b68565b6020026020010151915050611ae8604080516060810182526000808252602082018190529181019190915290565b611af28d8361359f565b909450905083611b0457611b04614b7e565b82608001516001600160801b031683606001518260000151611b2691906149b8565b6001600160801b0316611b3991906149d8565b611b43908b614cf2565b99505050505080611b5390614d1a565b9050611985565b50611b658888613ddb565b935060009250505093509350939050565b6060611bb88784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b506001600160a01b038416611be057604051633242919d60e21b815260040160405180910390fd5b611be8614208565b611bf0614266565b611bfe8989888a6001612d14565b6080870181905260608701929092525060408501919091529083525163ffffffff90811614611c4057604051633eb2f84960e01b815260040160405180910390fd5b60008260800151608001516001600160801b0316836080015160600151846060015160000151611c7091906149b8565b6001600160801b0316611c839190614b2f565b9050611ca48a8a856040015160405180602001604052806000815250612e07565b915085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505082159150611f3490505764040000000060c0830152611cfc8285612e35565b60a0840152611d0f8a8a6108a184614a08565b6001600160a01b038a1663cf97256d8a611d2884614a08565b6040518363ffffffff1660e01b8152600401611d45929190614a24565b600060405180830381600087803b158015611d5f57600080fd5b505af1158015611d73573d6000803e3d6000fd5b50505050606083810151516080850180516001600160801b039092169190920152604084015190516001600160a01b038c169163a1b2bf8b91611db5906130f7565b6040518363ffffffff1660e01b8152600401611dd2929190614978565b600060405180830381600087803b158015611dec57600080fd5b505af1158015611e00573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038d16925063cf97256d9150611e32908a908590600401614a24565b600060405180830381600087803b158015611e4c57600080fd5b505af1158015611e60573d6000803e3d6000fd5b505050508763ffffffff16896001600160a01b03168b6001600160a01b03167f467eccd248ef31c8bcef16d94856855799a8783aeef10f3759e43614059a6bb18a85604051611eb0929190614a24565b60405180910390a4604080516001600160a01b038b8116825263ffffffff8b166020830152918101839052818916918c16907f48a3d91d4a07e4982b081260e24f922bd33bb965882772d6de19c922c3eabdea9060600160405180910390a364080000000060c083015260a0830151611f2b908390866132ec565b9450611f6e9050565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b6060611f85614208565b611f8d614266565b600060606000611fd38b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a00151915050611ff28a8a848b6000612d14565b60808901521580156020890152606088019190915260408701919091529085526120425760808401515163ffffffff9081161461204257604051633eb2f84960e01b815260040160405180910390fd5b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040808a015181516020810190925291815294995061209b948f94508e9350909150612e07565b925083602001516121c45764010000000060c08401526120bb8386612e35565b60a08086019190915260408051918201815260008083526001600160a01b038c16602084015263ffffffff8b1691830191909152606080870151516001600160801b031690830152608080830191909152850152835161211e908b908490613e84565b60808501805163ffffffff909216909152604085015190516001600160a01b038c16916312a6a3f891612150906130f7565b6040518363ffffffff1660e01b815260040161216d929190614978565b600060405180830381600087803b15801561218757600080fd5b505af115801561219b573d6000803e3d6000fd5b505064020000000060c0860152505060a08401516121bb908490876132ec565b95506124859050565b64040000000060c08401526121d98386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b039092169161220b916149b8565b6001600160801b031661221e91906149d8565b9050846080015160800151856060015160200181815161223e9190614991565b6001600160801b03169052506080808601510151606086015160400180516122679083906149b8565b6001600160801b0316905250845160608601516001600160a01b038d169163a1b2bf8b9161229490613059565b6040518363ffffffff1660e01b81526004016122b1929190614978565b600060405180830381600087803b1580156122cb57600080fd5b505af11580156122df573d6000803e3d6000fd5b505050506122f28b8b836108a190614a08565b6001600160a01b038b1663cf97256d8b61230b84614a08565b6040518363ffffffff1660e01b8152600401612328929190614a24565b600060405180830381600087803b15801561234257600080fd5b505af1158015612356573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506123889086908590600401614a24565b600060405180830381600087803b1580156123a257600080fd5b505af11580156123b6573d6000803e3d6000fd5b5050506060808701515160808801516001600160801b039091169101525084516123e3908c908590613e84565b60808601805163ffffffff909216909152604086015190516001600160a01b038d169163a1b2bf8b91612415906130f7565b6040518363ffffffff1660e01b8152600401612432929190614978565b600060405180830381600087803b15801561244c57600080fd5b505af1158015612460573d6000803e3d6000fd5b505064080000000060c0870152505060a0850151612480908590886132ec565b965050505b8763ffffffff16896001600160a01b03168b6001600160a01b03167f492d2641617cfaf24ac7328f85bc5bdf5113537d78dc7671afa4f49a73f053c285856040516124d1929190614ac2565b60405180910390a4816001600160a01b03168a6001600160a01b03167fc0b8396b655615cdb85fe462a9a1792480816f909cd46d9517a940b386dfbf6b8b8b8560405161252093929190614ae6565b60405180910390a35050505095945050505050565b60608060608060606125478787613bd4565b909250905060006125566142a1565b82516001600160401b0381111561256f5761256f614bbd565b604051908082528060200260200182016040528015612598578160200160208202803683370190505b50965082516001600160401b038111156125b4576125b4614bbd565b6040519080825280602002602001820160405280156125dd578160200160208202803683370190505b50955082516001600160401b038111156125f9576125f9614bbd565b604051908082528060200260200182016040528015612622578160200160208202803683370190505b50945060005b83518163ffffffff16101561277e576000858263ffffffff168151811061265157612651614b68565b602002602001015190506000858363ffffffff168151811061267557612675614b68565b602002602001015190506126898c82613cbf565b90955093508461269b5761269b614b7e565b8163ffffffff16846000015163ffffffff16146126ba576126ba614b7e565b83602001518a8463ffffffff16815181106126d7576126d7614b68565b60200260200101906001600160a01b031690816001600160a01b0316815250508360400151898463ffffffff168151811061271457612714614b68565b602002602001019063ffffffff16908163ffffffff16815250508360800151888463ffffffff168151811061274b5761274b614b68565b60200260200101906001600160801b031690816001600160801b03168152505050508061277790614d1a565b9050612628565b50505050509250925092565b606060006127ce8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806127e48a848b613946565b915091506000816040015182602001516127fe9190614991565b6001600160801b03169050801561284457600061281e6105bb838c614b46565b90506128428c868d87878689600001516128389190614991565b8c60a001516139a5565b505b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929e9d5050505050505050505050505050565b60008060008060008060006128b8604080516060810182526000808252602082018190529181019190915290565b6128c06142a1565b6128ca8b8b613cbf565b9094509050836128ed5760405163016d919360e71b815260040160405180910390fd5b80602001519850806040015197506129058989613538565b92506129118b8461359f565b90945091508361292357612923614b7e565b8051608082015163ffffffff9182169091141597509550866129795780608001516001600160801b03168160600151836000015161296191906149b8565b6001600160801b03166129749190614b2f565b61297c565b60005b9450505050509295509295909350565b606060006129d08685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015190915060006129e48288613538565b90506129f08882613f2b565b15612a0e57604051635c02a51760e01b815260040160405180910390fd5b876001600160a01b03166312a6a3f882612a5f604051806060016040528060006001600160801b0316815260200160006001600160801b0316815260200160006001600160801b0316815250613059565b6040518363ffffffff1660e01b8152600401612a7c929190614978565b600060405180830381600087803b158015612a9657600080fd5b505af1158015612aaa573d6000803e3d6000fd5b505050508663ffffffff16826001600160a01b0316896001600160a01b03167f01ab8663165edfb7390d9e5f75d960a66dacf4f01fa9787e3a731c870d0da9218660a00151604051612afc919061448b565b60405180910390a485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929b9a5050505050505050505050565b612b4f6142cf565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bbb9190614d48565b6001600160a01b031614612c055760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b60448201526064016118f6565b604051632fd0a1cd60e21b8152339063bf42873490612c2890859060040161448b565b602060405180830381865afa158015612c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c699190614d75565b612ca35760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b60448201526064016118f6565b604051631fb6491d60e11b81523390633f6c923a90612cc690859060040161448b565b600060405180830381865afa158015612ce3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614e1c565b90505b92915050565b6040805160608101825260008082526020820181905291810182905281906000612d3c6142a1565b6000612d488a89613538565b9550612d548987613fd7565b9450612d608b8761359f565b9450905080612d825760405163edeaa63b60e01b815260040160405180910390fd5b612d8c8b86613cbf565b90935091508615612df95782612db55760405163016d919360e71b815260040160405180910390fd5b896001600160a01b031682602001516001600160a01b031614612dda57612dda614b7e565b8763ffffffff16826040015163ffffffff1614612df957612df9614b7e565b509550955095509550959050565b612e0f614266565b6001600160a01b0394851681529290931660208301526040820152606081019190915290565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015612e89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ead9190614f22565b91945092509050828015612ebf575081155b15612fe3576000612ed08688614018565b90508660c001518216600003612fd5576000612eef8860c00151614096565b88516040808b015160608c015182516000815260208101909352612f1b93923092919060448101614f5e565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e0292612f8a9291869164100000000091909114908890600401614fa3565b6000604051808303816000875af1158015612fa9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fd19190810190614fec565b9550505b612fe086600061412d565b50505b50505092915050565b60006001600160801b038211156130555760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016118f6565b5090565b604080516002808252606080830184529260208301908036833701905050905081600001516001600160801b0316600160801b1760001b816000815181106130a3576130a3614b68565b602002602001018181525050608082604001516001600160801b0316901b82602001516001600160801b03161760001b816001815181106130e6576130e6614b68565b602002602001018181525050919050565b6040805160028082526060808301845292602083019080368337019050509050816000015163ffffffff166020836040015163ffffffff16901b606084602001516001600160a01b0316901b171760001b8160008151811061315b5761315b614b68565b602002602001018181525050608082608001516001600160801b0316901b82606001516001600160801b03161760001b816001815181106130e6576130e6614b68565b806000036131ab57505050565b604051634b61cc3360e01b81526000906001600160a01b03851690634b61cc33906131e6903090879064010000000090600190600401614b94565b600060405180830381865afa158015613203573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261322b9190810190614cbe565b9050816132548260008151811061324457613244614b68565b602002602001015160001c614155565b61325e9190614cf2565b60001b8160008151811061327457613274614b68565b602090810291909101015260405163048620af60e11b81526001600160a01b0385169063090c415e906132b4908690640100000000908690600401615020565b600060405180830381600087803b1580156132ce57600080fd5b505af11580156132e2573d6000803e3d6000fd5b5050505050505050565b6132f46142cf565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061336c9190614f22565b88965091945092509050828015613381575081155b1561352d576133908489614018565b93508760c00151811660000361351b5760006133af8960c00151614096565b89516040808c015160608d0151825160008152602081019093526133dd9392309291908e9060448101615047565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a849261344c9291869164200000000091909114908b90600401614fa3565b6000604051808303816000875af115801561346b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134939190810190614fec565b604051631fb6491d60e11b81529095503390633f6c923a906134b990889060040161448b565b600060405180830381865afa1580156134d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134fe9190810190614e1c565b955061351389608001518761010001516141bf565b610100870152505b61352a8686610100015161412d565b93505b505050935093915050565b60405168383ab13634b9b432b960b91b60208201526bffffffffffffffffffffffff19606084901b1660298201526001600160e01b031960e083901b16603d8201526000906041015b60405160208183030381529060405280519060200120905092915050565b60408051606081018252600080825260208201819052918101829052604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613610573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136389190810190614cbe565b905060008160008151811061364f5761364f614b68565b602002602001015160001c905060008260018151811061367157613671614b68565b602002602001015160001c905060008211945084156136a9576001600160801b03808316855281166020850152608081901c60408501525b5050509250929050565b604051631528e57f60e31b81526001600160a01b038085166004830152831660248201526000604482015263ffffffff8216606482015273__$97ed594b3f931187fb739dcb88a7dff641$__9063a9472bf89060840160006040518083038186803b15801561372157600080fd5b505af4158015613735573d6000803e3d6000fd5b50505050505050565b60006137687f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137be5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016118f6565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138209190614b16565b61382861116c565b146138815760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016118f6565b6001600160a01b03811630036138d95760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016118f6565b613901817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc61392a61116c565b604080519182526001600160a01b038416602083015201611960565b60408051606081018252600080825260208201819052918101829052600061396e8585613538565b925061397a868461359f565b925090508061399c5760405163edeaa63b60e01b815260040160405180910390fd5b50935093915050565b866001600160a01b031663cf97256d8785602001516001600160801b03168660000151866139d391906149b8565b6001600160801b03166139e590614a08565b6139ef91906149d8565b6040518363ffffffff1660e01b8152600401613a0c929190614a24565b600060405180830381600087803b158015613a2657600080fd5b505af1158015613a3a573d6000803e3d6000fd5b50505050613a74878785604001516001600160801b0316866000015186613a6191906149b8565b6001600160801b03166108a191906149d8565b82516001600160801b03831684526001600160a01b03881663a1b2bf8b86613a9b87613059565b6040518363ffffffff1660e01b8152600401613ab8929190614978565b600060405180830381600087803b158015613ad257600080fd5b505af1158015613ae6573d6000803e3d6000fd5b505050508563ffffffff16876001600160a01b0316896001600160a01b03167f81e37f3d9f16cbf29a62d6a1c21d79b23ef29b54124ec44af43a50fffb9304f3848789604001518a6020015189604051613b449594939291906150ad565b60405180910390a46040516379359f6f60e01b81526001600160a01b0388811660048301528916906379359f6f90602401602060405180830381865afa158015613b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bb69190614d75565b156132e2576040516316e759bb60e01b815260040160405180910390fd5b60608073__$97ed594b3f931187fb739dcb88a7dff641$__6306967a8c85856000600160801b6040518563ffffffff1660e01b8152600401613c199493929190614b94565b600060405180830381865af4158015613c36573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5e91908101906150e9565b909250905060005b8151811015613cb757613c9284838381518110613c8557613c85614b68565b6020026020010151613fd7565b828281518110613ca457613ca4614b68565b6020908102919091010152600101613c66565b509250929050565b6000613cc96142a1565b604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613d1e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613d469190810190614cbe565b9050600081600081518110613d5d57613d5d614b68565b602002602001015160001c9050600082600181518110613d7f57613d7f614b68565b602002602001015160001c905060008211945084156136a957606082811c60208087019190915283901c63ffffffff9081166040870152831685526001600160801b03821690850152608081811c908501525050509250929050565b600080836001600160a01b0316634b61cc33308564010000000060016040518563ffffffff1660e01b8152600401613e169493929190614b94565b600060405180830381865afa158015613e33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613e5b9190810190614cbe565b905080600081518110613e7057613e70614b68565b602002602001015160001c91505092915050565b604051630a32470160e41b81526001600160a01b03808516600483015283166024820152600060448201819052600160801b6064830152608482018390529073__$97ed594b3f931187fb739dcb88a7dff641$__9063a32470109060a401602060405180830381865af4158015613eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f2391906151ad565b949350505050565b604051636c2d9f2f60e01b8152306004820152602481018290526002604482015260009081906001600160a01b03851690636c2d9f2f90606401600060405180830381865afa158015613f82573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613faa9190810190614cbe565b9050600081600081518110613fc157613fc1614b68565b6020908102919091010151151595945050505050565b604080516b39bab139b1b934b83a34b7b760a11b6020820152606084811b6bffffffffffffffffffffffff1916602c83015291810183905260009101613581565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb09461404f948a946004016151ca565b6000604051808303816000875af115801561406e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614fec565b600064010000000082036140b257506330d9c91560e01b919050565b64040000000082036140cc5750630221347d60e61b919050565b64100000000082036140e65750635f9e7d7760e01b919050565b6402000000008203614100575063d86ed3e560e01b919050565b640800000000820361411a575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b604051634c4d861f60e11b8152606090339063989b0c3e9061404f908690869060040161520f565b60006001600160ff1b038211156130555760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016118f6565b6000612d0b60006141d86141d286614155565b856141dd565b6141f2565b60008183136141ec5782612d0b565b50919050565b60008183136142015781612d0b565b5090919050565b6040805160c081018252600080825260208201819052918101919091526060810161424c604080516060810182526000808252602082018190529181019190915290565b81526020016142596142a1565b8152602001606081525090565b6040805160e0810182526000808252602082018190529181018290526060808201526080810182905260a0810182905260c081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461113a57600080fd5b63ffffffff8116811461113a57600080fd5b80356001600160801b038116811461412857600080fd5b60008083601f84011261437a57600080fd5b5081356001600160401b0381111561439157600080fd5b6020830191508360208285010111156143a957600080fd5b9250929050565b60008060008060008060a087890312156143c957600080fd5b86356143d48161432a565b955060208701356143e48161433f565b945060408701356143f48161432a565b935061440260608801614351565b925060808701356001600160401b0381111561441d57600080fd5b61442989828a01614368565b979a9699509497509295939492505050565b60005b8381101561445657818101518382015260200161443e565b50506000910152565b6000815180845261447781602086016020860161443b565b601f01601f19169290920160200192915050565b602081526000612d0b602083018461445f565b6000806000606084860312156144b357600080fd5b83356144be8161432a565b925060208401356144ce8161432a565b915060408401356144de8161433f565b809150509250925092565b60008060008060008060a0878903121561450257600080fd5b863561450d8161432a565b9550602087013561451d8161432a565b9450604087013561452d8161433f565b935060608701356144028161432a565b60006020828403121561454f57600080fd5b813561455a8161432a565b9392505050565b6000806000806080858703121561457757600080fd5b84356145828161432a565b935060208501356145928161432a565b925060408501356145a28161433f565b915060608501356145b28161432a565b939692955090935050565b6000806000806000608086880312156145d557600080fd5b85356145e08161432a565b945060208601356145f08161432a565b935060408601356146008161433f565b925060608601356001600160401b0381111561461b57600080fd5b61462788828901614368565b969995985093965092949392505050565b60008060008060006080868803121561465057600080fd5b853561465b8161432a565b9450602086013561466b8161433f565b935061460060408701614351565b6000806000806080858703121561468f57600080fd5b843561469a8161432a565b935060208501356146aa8161432a565b925060408501356146ba8161433f565b9396929550929360600135925050565b6000806000606084860312156146df57600080fd5b83356146ea8161432a565b925060208401356146fa8161432a565b929592945050506040919091013590565b6000806040838503121561471e57600080fd5b82356147298161432a565b915060208301356147398161432a565b809150509250929050565b60008151808452602080850194506020840160005b8381101561477e5781516001600160801b031687529582019590820190600101614759565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b828110156147cb5781516001600160a01b0316845292840192908401906001016147a6565b5050508381038285015285518082528683019183019060005b8181101561480657835163ffffffff16835292840192918401916001016147e4565b5050848103604086015261481a8187614744565b98975050505050505050565b60008060008060006080868803121561483e57600080fd5b85356148498161432a565b945060208601356148598161433f565b93506040860135925060608601356001600160401b0381111561461b57600080fd5b6000806040838503121561488e57600080fd5b82356148998161432a565b946020939093013593505050565b600080600080606085870312156148bd57600080fd5b84356148c88161432a565b935060208501356148d88161433f565b925060408501356001600160401b038111156148f357600080fd5b6148ff87828801614368565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115612d0e57612d0e61490b565b81810381811115612d0e57612d0e61490b565b60008151808452602080850194506020840160005b8381101561477e5781518752958201959082019060010161495c565b828152604060208201526000613f236040830184614947565b6001600160801b038181168382160190808211156149b1576149b161490b565b5092915050565b6001600160801b038281168282160390808211156149b1576149b161490b565b80820260008212600160ff1b841416156149f4576149f461490b565b8181058314821517612d0e57612d0e61490b565b6000600160ff1b8201614a1d57614a1d61490b565b5060000390565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03841681526001600160801b0383166020820152606060408201819052600090614a709083018461445f565b95945050505050565b6001600160a01b038516815263ffffffff841660208201526001600160801b0383166040820152608060608201819052600090614ab89083018461445f565b9695505050505050565b6001600160a01b0383168152604060208201819052600090613f239083018461445f565b6001600160a01b038416815263ffffffff83166020820152606060408201819052600090614a709083018461445f565b600060208284031215614b2857600080fd5b5051919050565b8082028115828204841417612d0e57612d0e61490b565b600082614b6357634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715614bf657614bf6614bbd565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614c2457614c24614bbd565b604052919050565b60006001600160401b03821115614c4557614c45614bbd565b5060051b60200190565b600082601f830112614c6057600080fd5b81516020614c75614c7083614c2c565b614bfc565b8083825260208201915060208460051b870101935086841115614c9757600080fd5b602086015b84811015614cb35780518352918301918301614c9c565b509695505050505050565b600060208284031215614cd057600080fd5b81516001600160401b03811115614ce657600080fd5b613f2384828501614c4f565b8082018281126000831280158216821582161715614d1257614d1261490b565b505092915050565b600063ffffffff808316818103614d3357614d3361490b565b6001019392505050565b80516141288161432a565b600060208284031215614d5a57600080fd5b815161455a8161432a565b8051801515811461412857600080fd5b600060208284031215614d8757600080fd5b612d0b82614d65565b805160ff8116811461412857600080fd5b80516001600160e01b03198116811461412857600080fd5b600082601f830112614dca57600080fd5b81516001600160401b03811115614de357614de3614bbd565b614df6601f8201601f1916602001614bfc565b818152846020838601011115614e0b57600080fd5b613f2382602083016020870161443b565b600060208284031215614e2e57600080fd5b81516001600160401b0380821115614e4557600080fd5b908301906101608286031215614e5a57600080fd5b614e62614bd3565b614e6b83614d90565b8152614e7960208401614d90565b602082015260408301516040820152614e9460608401614d3d565b6060820152614ea560808401614da1565b608082015260a083015182811115614ebc57600080fd5b614ec887828601614db9565b60a08301525060c083015160c082015260e083015160e0820152610100915081830151828201526101209150614eff828401614d3d565b828201526101409150614f13828401614d3d565b91810191909152949350505050565b600080600060608486031215614f3757600080fd5b614f4084614d65565b9250614f4e60208501614d65565b9150604084015190509250925092565b6001600160a01b038681168252851660208201526040810184905260a060608201819052600090614f919083018561445f565b828103608084015261481a818561445f565b6001600160a01b0385168152608060208201819052600090614fc79083018661445f565b84151560408401528281036060840152614fe1818561445f565b979650505050505050565b600060208284031215614ffe57600080fd5b81516001600160401b0381111561501457600080fd5b613f2384828501614db9565b60018060a01b0384168152826020820152606060408201526000614a706060830184614947565b6001600160a01b038781168252861660208201526040810185905260c06060820181905260009061507a9083018661445f565b828103608084015261508c818661445f565b905082810360a08401526150a0818561445f565b9998505050505050505050565b60006001600160801b0380881683528087166020840152808616604084015280851660608401525060a06080830152614fe160a083018461445f565b600080604083850312156150fc57600080fd5b82516001600160401b038082111561511357600080fd5b818501915085601f83011261512757600080fd5b81516020615137614c7083614c2c565b82815260059290921b8401810191818101908984111561515657600080fd5b948201945b8386101561517d57855161516e8161433f565b8252948201949082019061515b565b9188015191965090935050508082111561519657600080fd5b506151a385828601614c4f565b9150509250929050565b6000602082840312156151bf57600080fd5b815161455a8161433f565b60a0815260006151dd60a083018861445f565b6001600160a01b0396871660208401526040830195909552506060810192909252909216608090920191909152919050565b604081526000615222604083018561445f565b9050826020830152939250505056fea26469706673582212204f55f05ed9dd4b811a4ee20eaac725aa4db615a3e47cdc2a4eab29d2fbded14b64736f6c63430008170033";
20
20
  static readonly abi: readonly [{
21
21
  readonly inputs: readonly [{
22
22
  readonly internalType: "contract ISuperfluid";