@superfluid-finance/sdk-core 0.6.14-dev.8e9f7a5.0 → 0.6.14-dev.a4d33c6.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 (545) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/index.umd.js +983 -858
  3. package/dist/main/SuperfluidPool.d.ts +8 -1
  4. package/dist/main/SuperfluidPool.d.ts.map +1 -1
  5. package/dist/main/SuperfluidPool.js +20 -0
  6. package/dist/main/SuperfluidPool.js.map +1 -1
  7. package/dist/main/events.d.ts +2 -0
  8. package/dist/main/events.d.ts.map +1 -1
  9. package/dist/main/index.d.ts +4 -1
  10. package/dist/main/index.d.ts.map +1 -1
  11. package/dist/main/index.js +4 -1
  12. package/dist/main/index.js.map +1 -1
  13. package/dist/main/interfaces.d.ts +4 -0
  14. package/dist/main/interfaces.d.ts.map +1 -1
  15. package/dist/main/mapGetAllEventsQueryEvents.d.ts.map +1 -1
  16. package/dist/main/mapGetAllEventsQueryEvents.js +2 -1
  17. package/dist/main/mapGetAllEventsQueryEvents.js.map +1 -1
  18. package/dist/main/pagination.js +1 -1
  19. package/dist/main/pagination.js.map +1 -1
  20. package/dist/main/subgraph/entities/flowOperator/{flowOperators.d.ts → flowOperator.d.ts} +1 -1
  21. package/dist/main/subgraph/entities/flowOperator/flowOperator.d.ts.map +1 -0
  22. package/dist/main/subgraph/entities/flowOperator/{flowOperators.js → flowOperator.js} +1 -1
  23. package/dist/main/subgraph/entities/flowOperator/flowOperator.js.map +1 -0
  24. package/dist/main/subgraph/entities/pool/pool.d.ts +57 -0
  25. package/dist/main/subgraph/entities/pool/pool.d.ts.map +1 -0
  26. package/dist/main/subgraph/entities/pool/pool.js +52 -0
  27. package/dist/main/subgraph/entities/pool/pool.js.map +1 -0
  28. package/dist/main/subgraph/entities/pool/pools.generated.d.ts +85 -0
  29. package/dist/main/subgraph/entities/pool/pools.generated.d.ts.map +1 -0
  30. package/dist/main/subgraph/entities/pool/pools.generated.js +6 -0
  31. package/dist/main/subgraph/entities/pool/pools.generated.js.map +1 -0
  32. package/dist/main/subgraph/entities/poolDistributor/poolDistributor.d.ts +37 -0
  33. package/dist/main/subgraph/entities/poolDistributor/poolDistributor.d.ts.map +1 -0
  34. package/dist/main/subgraph/entities/poolDistributor/poolDistributor.js +31 -0
  35. package/dist/main/subgraph/entities/poolDistributor/poolDistributor.js.map +1 -0
  36. package/dist/main/subgraph/entities/poolDistributor/poolDistributors.generated.d.ts +42 -0
  37. package/dist/main/subgraph/entities/poolDistributor/poolDistributors.generated.d.ts.map +1 -0
  38. package/dist/main/subgraph/entities/poolDistributor/poolDistributors.generated.js +5 -0
  39. package/dist/main/subgraph/entities/poolDistributor/poolDistributors.generated.js.map +1 -0
  40. package/dist/main/subgraph/entities/poolMember/poolMember.d.ts +39 -0
  41. package/dist/main/subgraph/entities/poolMember/poolMember.d.ts.map +1 -0
  42. package/dist/main/subgraph/entities/poolMember/poolMember.js +33 -0
  43. package/dist/main/subgraph/entities/poolMember/poolMember.js.map +1 -0
  44. package/dist/main/subgraph/entities/poolMember/poolMembers.generated.d.ts +44 -0
  45. package/dist/main/subgraph/entities/poolMember/poolMembers.generated.d.ts.map +1 -0
  46. package/dist/main/subgraph/entities/poolMember/poolMembers.generated.js +5 -0
  47. package/dist/main/subgraph/entities/poolMember/poolMembers.generated.js.map +1 -0
  48. package/dist/main/subgraph/events/events.generated.d.ts +97 -0
  49. package/dist/main/subgraph/events/events.generated.d.ts.map +1 -1
  50. package/dist/main/subgraph/events/events.generated.js +42 -42
  51. package/dist/main/subgraph/events/events.generated.js.map +1 -1
  52. package/dist/main/subgraph/queries/getAllEvents.generated.d.ts +55 -0
  53. package/dist/main/subgraph/queries/getAllEvents.generated.d.ts.map +1 -1
  54. package/dist/main/subgraph/queries/getAllEvents.generated.js +1 -1
  55. package/dist/main/subgraph/queries/getAllEvents.generated.js.map +1 -1
  56. package/dist/main/subgraph/schema.generated.d.ts +90 -209
  57. package/dist/main/subgraph/schema.generated.d.ts.map +1 -1
  58. package/dist/main/subgraph/subgraphQueryHandler.js +1 -1
  59. package/dist/main/subgraph/subgraphQueryHandler.js.map +1 -1
  60. package/dist/main/typechain-types/contracts/agreements/gdav1/GeneralDistributionAgreementV1.d.ts +65 -1
  61. package/dist/main/typechain-types/contracts/agreements/gdav1/GeneralDistributionAgreementV1.d.ts.map +1 -1
  62. package/dist/main/typechain-types/contracts/agreements/gdav1/SuperfluidPool.d.ts +18 -22
  63. package/dist/main/typechain-types/contracts/agreements/gdav1/SuperfluidPool.d.ts.map +1 -1
  64. package/dist/main/typechain-types/contracts/apps/CFASuperAppBase.d.ts +27 -1
  65. package/dist/main/typechain-types/contracts/apps/CFASuperAppBase.d.ts.map +1 -1
  66. package/dist/main/typechain-types/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1.d.ts +65 -1
  67. package/dist/main/typechain-types/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1.d.ts.map +1 -1
  68. package/dist/main/typechain-types/contracts/interfaces/agreements/gdav1/ISuperfluidPool.d.ts +21 -11
  69. package/dist/main/typechain-types/contracts/interfaces/agreements/gdav1/ISuperfluidPool.d.ts.map +1 -1
  70. package/dist/main/typechain-types/contracts/mocks/CFASuperAppBaseTester.d.ts +27 -1
  71. package/dist/main/typechain-types/contracts/mocks/CFASuperAppBaseTester.d.ts.map +1 -1
  72. package/dist/main/typechain-types/contracts/mocks/CrossStreamSuperApp.d.ts +27 -1
  73. package/dist/main/typechain-types/contracts/mocks/CrossStreamSuperApp.d.ts.map +1 -1
  74. package/dist/main/typechain-types/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock.d.ts +18 -22
  75. package/dist/main/typechain-types/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock.d.ts.map +1 -1
  76. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -5
  77. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts.map +1 -1
  78. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -6
  79. package/dist/main/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js.map +1 -1
  80. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +1 -1
  81. package/dist/main/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +1 -1
  82. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +57 -1
  83. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  84. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +74 -1
  85. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js.map +1 -1
  86. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  87. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  88. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.d.ts +1 -1
  89. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.js +1 -1
  90. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +18 -57
  91. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts.map +1 -1
  92. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +20 -71
  93. package/dist/main/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js.map +1 -1
  94. package/dist/main/typechain-types/factories/contracts/apps/CFASuperAppBase__factory.d.ts +40 -0
  95. package/dist/main/typechain-types/factories/contracts/apps/CFASuperAppBase__factory.d.ts.map +1 -1
  96. package/dist/main/typechain-types/factories/contracts/apps/CFASuperAppBase__factory.js +52 -0
  97. package/dist/main/typechain-types/factories/contracts/apps/CFASuperAppBase__factory.js.map +1 -1
  98. package/dist/main/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.d.ts +1 -1
  99. package/dist/main/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.d.ts.map +1 -1
  100. package/dist/main/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.js +1 -1
  101. package/dist/main/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.js.map +1 -1
  102. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  103. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  104. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  105. package/dist/main/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  106. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.d.ts +56 -0
  107. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  108. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.js +73 -0
  109. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.js.map +1 -1
  110. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.d.ts +16 -2
  111. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.d.ts.map +1 -1
  112. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.js +21 -2
  113. package/dist/main/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.js.map +1 -1
  114. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock__factory.d.ts +1 -1
  115. package/dist/main/typechain-types/factories/contracts/mocks/AgreementMock__factory.js +1 -1
  116. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  117. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  118. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  119. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp__factory.js +1 -1
  120. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  121. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp__factory.js +1 -1
  122. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  123. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp__factory.js +1 -1
  124. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  125. package/dist/main/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  126. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibraryMock__factory.d.ts +1 -1
  127. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibraryMock__factory.js +1 -1
  128. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock__factory.d.ts +1 -1
  129. package/dist/main/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock__factory.js +1 -1
  130. package/dist/main/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.d.ts +43 -19
  131. package/dist/main/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.d.ts.map +1 -1
  132. package/dist/main/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.js +57 -25
  133. package/dist/main/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.js.map +1 -1
  134. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock__factory.d.ts +1 -1
  135. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock__factory.js +1 -1
  136. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.d.ts +1 -1
  137. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.d.ts.map +1 -1
  138. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.js +1 -1
  139. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.js.map +1 -1
  140. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/FlowNFTBaseMock__factory.d.ts +1 -1
  141. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/FlowNFTBaseMock__factory.js +1 -1
  142. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock__factory.d.ts +1 -1
  143. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock__factory.js +1 -1
  144. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.d.ts +1 -1
  145. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.d.ts.map +1 -1
  146. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.js +1 -1
  147. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.js.map +1 -1
  148. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock__factory.d.ts +1 -1
  149. package/dist/main/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock__factory.js +1 -1
  150. package/dist/main/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.d.ts +41 -1
  151. package/dist/main/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.d.ts.map +1 -1
  152. package/dist/main/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.js +53 -1
  153. package/dist/main/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.js.map +1 -1
  154. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  155. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  156. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  157. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting__factory.js +1 -1
  158. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  159. package/dist/main/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock__factory.js +1 -1
  160. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester__factory.d.ts +1 -1
  161. package/dist/main/typechain-types/factories/contracts/mocks/IDASuperAppTester__factory.js +1 -1
  162. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock__factory.d.ts +1 -1
  163. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock__factory.js +1 -1
  164. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock__factory.d.ts +1 -1
  165. package/dist/main/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock__factory.js +1 -1
  166. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet__factory.d.ts +1 -1
  167. package/dist/main/typechain-types/factories/contracts/mocks/MockSmartWallet__factory.js +1 -1
  168. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp__factory.d.ts +1 -1
  169. package/dist/main/typechain-types/factories/contracts/mocks/MultiFlowTesterApp__factory.js +1 -1
  170. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolAdminNFTMock__factory.d.ts +1 -1
  171. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolAdminNFTMock__factory.js +1 -1
  172. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolMemberNFTMock__factory.d.ts +1 -1
  173. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolMemberNFTMock__factory.js +1 -1
  174. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolNFTBaseMock__factory.d.ts +1 -1
  175. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolNFTBaseMock__factory.js +1 -1
  176. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolAdminNFTStorageLayoutMock__factory.d.ts +1 -1
  177. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolAdminNFTStorageLayoutMock__factory.js +1 -1
  178. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolMemberNFTStorageLayoutMock__factory.d.ts +1 -1
  179. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolMemberNFTStorageLayoutMock__factory.js +1 -1
  180. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolNFTBaseStorageLayoutMock__factory.d.ts +1 -1
  181. package/dist/main/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolNFTBaseStorageLayoutMock__factory.js +1 -1
  182. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector__factory.d.ts +1 -1
  183. package/dist/main/typechain-types/factories/contracts/mocks/StreamRedirector__factory.js +1 -1
  184. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  185. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.js +1 -1
  186. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  187. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.js +1 -1
  188. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.d.ts +1 -1
  189. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.js +1 -1
  190. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  191. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  192. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  193. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  194. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  195. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  196. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  197. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  198. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.d.ts +1 -1
  199. package/dist/main/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.js +1 -1
  200. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
  201. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42__factory.js +1 -1
  202. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
  203. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock__factory.js +1 -1
  204. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
  205. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
  206. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
  207. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
  208. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  209. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.d.ts.map +1 -1
  210. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  211. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.js.map +1 -1
  212. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  213. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  214. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDAMock__factory.d.ts +1 -1
  215. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDAMock__factory.js +1 -1
  216. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +1 -1
  217. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDASuperAppMock__factory.js +1 -1
  218. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock__factory.d.ts +1 -1
  219. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock__factory.js +1 -1
  220. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts +1 -1
  221. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock__factory.js +1 -1
  222. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
  223. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/NoNFTSuperTokenMock__factory.js +1 -1
  224. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.d.ts +1 -1
  225. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.js +1 -1
  226. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.d.ts +1 -1
  227. package/dist/main/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.js +1 -1
  228. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  229. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  230. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.d.ts +1 -1
  231. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.js +1 -1
  232. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.d.ts +1 -1
  233. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.js +1 -1
  234. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.d.ts +18 -57
  235. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.d.ts.map +1 -1
  236. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.js +20 -71
  237. package/dist/main/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.js.map +1 -1
  238. package/dist/main/typechain-types/factories/contracts/superfluid/ConstantInflowNFT__factory.d.ts +1 -1
  239. package/dist/main/typechain-types/factories/contracts/superfluid/ConstantInflowNFT__factory.js +1 -1
  240. package/dist/main/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.d.ts +1 -1
  241. package/dist/main/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.d.ts.map +1 -1
  242. package/dist/main/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.js +1 -1
  243. package/dist/main/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.js.map +1 -1
  244. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
  245. package/dist/main/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
  246. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +1 -1
  247. package/dist/main/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +1 -1
  248. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +1 -1
  249. package/dist/main/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +1 -1
  250. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  251. package/dist/main/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  252. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  253. package/dist/main/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  254. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  255. package/dist/main/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  256. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts +1 -1
  257. package/dist/main/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js +1 -1
  258. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +1 -1
  259. package/dist/main/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +1 -1
  260. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  261. package/dist/main/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  262. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts +1 -1
  263. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js +1 -1
  264. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts +1 -1
  265. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js +1 -1
  266. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  267. package/dist/main/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  268. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
  269. package/dist/main/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
  270. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  271. package/dist/main/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  272. package/dist/module/SuperfluidPool.d.ts +8 -1
  273. package/dist/module/SuperfluidPool.d.ts.map +1 -1
  274. package/dist/module/SuperfluidPool.js +20 -0
  275. package/dist/module/SuperfluidPool.js.map +1 -1
  276. package/dist/module/events.d.ts +2 -0
  277. package/dist/module/events.d.ts.map +1 -1
  278. package/dist/module/index.d.ts +4 -1
  279. package/dist/module/index.d.ts.map +1 -1
  280. package/dist/module/index.js +4 -1
  281. package/dist/module/index.js.map +1 -1
  282. package/dist/module/interfaces.d.ts +4 -0
  283. package/dist/module/interfaces.d.ts.map +1 -1
  284. package/dist/module/mapGetAllEventsQueryEvents.d.ts.map +1 -1
  285. package/dist/module/mapGetAllEventsQueryEvents.js +2 -1
  286. package/dist/module/mapGetAllEventsQueryEvents.js.map +1 -1
  287. package/dist/module/pagination.js +1 -1
  288. package/dist/module/pagination.js.map +1 -1
  289. package/dist/module/subgraph/entities/flowOperator/{flowOperators.d.ts → flowOperator.d.ts} +1 -1
  290. package/dist/module/subgraph/entities/flowOperator/flowOperator.d.ts.map +1 -0
  291. package/dist/module/subgraph/entities/flowOperator/{flowOperators.js → flowOperator.js} +1 -1
  292. package/dist/module/subgraph/entities/flowOperator/flowOperator.js.map +1 -0
  293. package/dist/module/subgraph/entities/pool/pool.d.ts +57 -0
  294. package/dist/module/subgraph/entities/pool/pool.d.ts.map +1 -0
  295. package/dist/module/subgraph/entities/pool/pool.js +47 -0
  296. package/dist/module/subgraph/entities/pool/pool.js.map +1 -0
  297. package/dist/module/subgraph/entities/pool/pools.generated.d.ts +85 -0
  298. package/dist/module/subgraph/entities/pool/pools.generated.d.ts.map +1 -0
  299. package/dist/module/subgraph/entities/pool/pools.generated.js +3 -0
  300. package/dist/module/subgraph/entities/pool/pools.generated.js.map +1 -0
  301. package/dist/module/subgraph/entities/poolDistributor/poolDistributor.d.ts +37 -0
  302. package/dist/module/subgraph/entities/poolDistributor/poolDistributor.d.ts.map +1 -0
  303. package/dist/module/subgraph/entities/poolDistributor/poolDistributor.js +27 -0
  304. package/dist/module/subgraph/entities/poolDistributor/poolDistributor.js.map +1 -0
  305. package/dist/module/subgraph/entities/poolDistributor/poolDistributors.generated.d.ts +42 -0
  306. package/dist/module/subgraph/entities/poolDistributor/poolDistributors.generated.d.ts.map +1 -0
  307. package/dist/module/subgraph/entities/poolDistributor/poolDistributors.generated.js +2 -0
  308. package/dist/module/subgraph/entities/poolDistributor/poolDistributors.generated.js.map +1 -0
  309. package/dist/module/subgraph/entities/poolMember/poolMember.d.ts +39 -0
  310. package/dist/module/subgraph/entities/poolMember/poolMember.d.ts.map +1 -0
  311. package/dist/module/subgraph/entities/poolMember/poolMember.js +29 -0
  312. package/dist/module/subgraph/entities/poolMember/poolMember.js.map +1 -0
  313. package/dist/module/subgraph/entities/poolMember/poolMembers.generated.d.ts +44 -0
  314. package/dist/module/subgraph/entities/poolMember/poolMembers.generated.d.ts.map +1 -0
  315. package/dist/module/subgraph/entities/poolMember/poolMembers.generated.js +2 -0
  316. package/dist/module/subgraph/entities/poolMember/poolMembers.generated.js.map +1 -0
  317. package/dist/module/subgraph/events/events.generated.d.ts +97 -0
  318. package/dist/module/subgraph/events/events.generated.d.ts.map +1 -1
  319. package/dist/module/subgraph/events/events.generated.js +42 -42
  320. package/dist/module/subgraph/events/events.generated.js.map +1 -1
  321. package/dist/module/subgraph/queries/getAllEvents.generated.d.ts +55 -0
  322. package/dist/module/subgraph/queries/getAllEvents.generated.d.ts.map +1 -1
  323. package/dist/module/subgraph/queries/getAllEvents.generated.js +1 -1
  324. package/dist/module/subgraph/queries/getAllEvents.generated.js.map +1 -1
  325. package/dist/module/subgraph/schema.generated.d.ts +90 -209
  326. package/dist/module/subgraph/schema.generated.d.ts.map +1 -1
  327. package/dist/module/subgraph/subgraphQueryHandler.js +1 -1
  328. package/dist/module/subgraph/subgraphQueryHandler.js.map +1 -1
  329. package/dist/module/typechain-types/contracts/agreements/gdav1/GeneralDistributionAgreementV1.d.ts +65 -1
  330. package/dist/module/typechain-types/contracts/agreements/gdav1/GeneralDistributionAgreementV1.d.ts.map +1 -1
  331. package/dist/module/typechain-types/contracts/agreements/gdav1/SuperfluidPool.d.ts +18 -22
  332. package/dist/module/typechain-types/contracts/agreements/gdav1/SuperfluidPool.d.ts.map +1 -1
  333. package/dist/module/typechain-types/contracts/apps/CFASuperAppBase.d.ts +27 -1
  334. package/dist/module/typechain-types/contracts/apps/CFASuperAppBase.d.ts.map +1 -1
  335. package/dist/module/typechain-types/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1.d.ts +65 -1
  336. package/dist/module/typechain-types/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1.d.ts.map +1 -1
  337. package/dist/module/typechain-types/contracts/interfaces/agreements/gdav1/ISuperfluidPool.d.ts +21 -11
  338. package/dist/module/typechain-types/contracts/interfaces/agreements/gdav1/ISuperfluidPool.d.ts.map +1 -1
  339. package/dist/module/typechain-types/contracts/mocks/CFASuperAppBaseTester.d.ts +27 -1
  340. package/dist/module/typechain-types/contracts/mocks/CFASuperAppBaseTester.d.ts.map +1 -1
  341. package/dist/module/typechain-types/contracts/mocks/CrossStreamSuperApp.d.ts +27 -1
  342. package/dist/module/typechain-types/contracts/mocks/CrossStreamSuperApp.d.ts.map +1 -1
  343. package/dist/module/typechain-types/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock.d.ts +18 -22
  344. package/dist/module/typechain-types/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock.d.ts.map +1 -1
  345. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts +1 -5
  346. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.d.ts.map +1 -1
  347. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js +1 -6
  348. package/dist/module/typechain-types/factories/contracts/agreements/ConstantFlowAgreementV1__factory.js.map +1 -1
  349. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.d.ts +1 -1
  350. package/dist/module/typechain-types/factories/contracts/agreements/InstantDistributionAgreementV1__factory.js +1 -1
  351. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts +57 -1
  352. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  353. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js +74 -1
  354. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.js.map +1 -1
  355. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.d.ts +1 -1
  356. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolAdminNFT__factory.js +1 -1
  357. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.d.ts +1 -1
  358. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/PoolMemberNFT__factory.js +1 -1
  359. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts +18 -57
  360. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.d.ts.map +1 -1
  361. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js +20 -71
  362. package/dist/module/typechain-types/factories/contracts/agreements/gdav1/SuperfluidPool__factory.js.map +1 -1
  363. package/dist/module/typechain-types/factories/contracts/apps/CFASuperAppBase__factory.d.ts +40 -0
  364. package/dist/module/typechain-types/factories/contracts/apps/CFASuperAppBase__factory.d.ts.map +1 -1
  365. package/dist/module/typechain-types/factories/contracts/apps/CFASuperAppBase__factory.js +52 -0
  366. package/dist/module/typechain-types/factories/contracts/apps/CFASuperAppBase__factory.js.map +1 -1
  367. package/dist/module/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.d.ts +1 -1
  368. package/dist/module/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.d.ts.map +1 -1
  369. package/dist/module/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.js +1 -1
  370. package/dist/module/typechain-types/factories/contracts/apps/SuperfluidLoaderLibrary__factory.js.map +1 -1
  371. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.d.ts +1 -1
  372. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceIIProxy__factory.js +1 -1
  373. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.d.ts +1 -1
  374. package/dist/module/typechain-types/factories/contracts/gov/SuperfluidGovernanceII.sol/SuperfluidGovernanceII__factory.js +1 -1
  375. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.d.ts +56 -0
  376. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.d.ts.map +1 -1
  377. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.js +73 -0
  378. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1__factory.js.map +1 -1
  379. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.d.ts +16 -2
  380. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.d.ts.map +1 -1
  381. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.js +21 -2
  382. package/dist/module/typechain-types/factories/contracts/interfaces/agreements/gdav1/ISuperfluidPool__factory.js.map +1 -1
  383. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock__factory.d.ts +1 -1
  384. package/dist/module/typechain-types/factories/contracts/mocks/AgreementMock__factory.js +1 -1
  385. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp__factory.d.ts +1 -1
  386. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ClosingOnUpdateFlowTestApp__factory.js +1 -1
  387. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp__factory.d.ts +1 -1
  388. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/ExclusiveInflowTestApp__factory.js +1 -1
  389. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp__factory.d.ts +1 -1
  390. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/FlowExchangeTestApp__factory.js +1 -1
  391. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp__factory.d.ts +1 -1
  392. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/NonClosableOutflowTestApp__factory.js +1 -1
  393. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp__factory.d.ts +1 -1
  394. package/dist/module/typechain-types/factories/contracts/mocks/CFAAppMocks.sol/SelfDeletingFlowTestApp__factory.js +1 -1
  395. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibraryMock__factory.d.ts +1 -1
  396. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibraryMock__factory.js +1 -1
  397. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock__factory.d.ts +1 -1
  398. package/dist/module/typechain-types/factories/contracts/mocks/CFALibraryMock.sol/CFALibrarySuperAppMock__factory.js +1 -1
  399. package/dist/module/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.d.ts +43 -19
  400. package/dist/module/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.d.ts.map +1 -1
  401. package/dist/module/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.js +57 -25
  402. package/dist/module/typechain-types/factories/contracts/mocks/CFASuperAppBaseTester__factory.js.map +1 -1
  403. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock__factory.d.ts +1 -1
  404. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantInflowNFTMock__factory.js +1 -1
  405. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.d.ts +1 -1
  406. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.d.ts.map +1 -1
  407. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.js +1 -1
  408. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/ConstantOutflowNFTMock__factory.js.map +1 -1
  409. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/FlowNFTBaseMock__factory.d.ts +1 -1
  410. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTMock.sol/FlowNFTBaseMock__factory.js +1 -1
  411. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock__factory.d.ts +1 -1
  412. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantInflowNFTStorageLayoutMock__factory.js +1 -1
  413. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.d.ts +1 -1
  414. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.d.ts.map +1 -1
  415. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.js +1 -1
  416. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/ConstantOutflowNFTStorageLayoutMock__factory.js.map +1 -1
  417. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock__factory.d.ts +1 -1
  418. package/dist/module/typechain-types/factories/contracts/mocks/CFAv1NFTUpgradabilityMock.sol/FlowNFTBaseStorageLayoutMock__factory.js +1 -1
  419. package/dist/module/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.d.ts +41 -1
  420. package/dist/module/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.d.ts.map +1 -1
  421. package/dist/module/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.js +53 -1
  422. package/dist/module/typechain-types/factories/contracts/mocks/CrossStreamSuperApp__factory.js.map +1 -1
  423. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas__factory.d.ts +1 -1
  424. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientDrainingGas__factory.js +1 -1
  425. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting__factory.d.ts +1 -1
  426. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777RecipientReverting__factory.js +1 -1
  427. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock__factory.d.ts +1 -1
  428. package/dist/module/typechain-types/factories/contracts/mocks/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock__factory.js +1 -1
  429. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester__factory.d.ts +1 -1
  430. package/dist/module/typechain-types/factories/contracts/mocks/IDASuperAppTester__factory.js +1 -1
  431. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock__factory.d.ts +1 -1
  432. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibraryMock__factory.js +1 -1
  433. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock__factory.d.ts +1 -1
  434. package/dist/module/typechain-types/factories/contracts/mocks/IDAv1LibraryMock.sol/IDAv1LibrarySuperAppMock__factory.js +1 -1
  435. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet__factory.d.ts +1 -1
  436. package/dist/module/typechain-types/factories/contracts/mocks/MockSmartWallet__factory.js +1 -1
  437. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp__factory.d.ts +1 -1
  438. package/dist/module/typechain-types/factories/contracts/mocks/MultiFlowTesterApp__factory.js +1 -1
  439. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolAdminNFTMock__factory.d.ts +1 -1
  440. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolAdminNFTMock__factory.js +1 -1
  441. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolMemberNFTMock__factory.d.ts +1 -1
  442. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolMemberNFTMock__factory.js +1 -1
  443. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolNFTBaseMock__factory.d.ts +1 -1
  444. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTMock.sol/PoolNFTBaseMock__factory.js +1 -1
  445. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolAdminNFTStorageLayoutMock__factory.d.ts +1 -1
  446. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolAdminNFTStorageLayoutMock__factory.js +1 -1
  447. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolMemberNFTStorageLayoutMock__factory.d.ts +1 -1
  448. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolMemberNFTStorageLayoutMock__factory.js +1 -1
  449. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolNFTBaseStorageLayoutMock__factory.d.ts +1 -1
  450. package/dist/module/typechain-types/factories/contracts/mocks/PoolNFTUpgradabilityMock.sol/PoolNFTBaseStorageLayoutMock__factory.js +1 -1
  451. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector__factory.d.ts +1 -1
  452. package/dist/module/typechain-types/factories/contracts/mocks/StreamRedirector__factory.js +1 -1
  453. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.d.ts +1 -1
  454. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppFactoryMock__factory.js +1 -1
  455. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.d.ts +1 -1
  456. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock2ndLevel__factory.js +1 -1
  457. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.d.ts +1 -1
  458. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockAux__factory.js +1 -1
  459. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.d.ts +1 -1
  460. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningEmptyCtx__factory.js +1 -1
  461. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.d.ts +1 -1
  462. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockReturningInvalidCtx__factory.js +1 -1
  463. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingRegisterApp__factory.d.ts +1 -1
  464. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockUsingRegisterApp__factory.js +1 -1
  465. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.d.ts +1 -1
  466. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMockWithRegistrationKey__factory.js +1 -1
  467. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.d.ts +1 -1
  468. package/dist/module/typechain-types/factories/contracts/mocks/SuperAppMocks.sol/SuperAppMock__factory.js +1 -1
  469. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42__factory.d.ts +1 -1
  470. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock42__factory.js +1 -1
  471. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock__factory.d.ts +1 -1
  472. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryMock__factory.js +1 -1
  473. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester__factory.d.ts +1 -1
  474. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryStorageLayoutTester__factory.js +1 -1
  475. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.d.ts +1 -1
  476. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenFactoryMock.sol/SuperTokenFactoryUpdateLogicContractsTester__factory.js +1 -1
  477. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.d.ts +1 -1
  478. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.d.ts.map +1 -1
  479. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.js +1 -1
  480. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFAMock__factory.js.map +1 -1
  481. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock__factory.d.ts +1 -1
  482. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryCFASuperAppMock__factory.js +1 -1
  483. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDAMock__factory.d.ts +1 -1
  484. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDAMock__factory.js +1 -1
  485. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDASuperAppMock__factory.d.ts +1 -1
  486. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryGDASuperAppMock__factory.js +1 -1
  487. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock__factory.d.ts +1 -1
  488. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDAMock__factory.js +1 -1
  489. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock__factory.d.ts +1 -1
  490. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenLibraryV1Mock.sol/SuperTokenLibraryIDASuperAppMock__factory.js +1 -1
  491. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/NoNFTSuperTokenMock__factory.d.ts +1 -1
  492. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/NoNFTSuperTokenMock__factory.js +1 -1
  493. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.d.ts +1 -1
  494. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenMock__factory.js +1 -1
  495. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.d.ts +1 -1
  496. package/dist/module/typechain-types/factories/contracts/mocks/SuperTokenMock.sol/SuperTokenStorageLayoutTester__factory.js +1 -1
  497. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.d.ts +1 -1
  498. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidGovernanceIIMock.sol/SuperfluidGovernanceIIUpgradabilityTester__factory.js +1 -1
  499. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.d.ts +1 -1
  500. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidMock__factory.js +1 -1
  501. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.d.ts +1 -1
  502. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidMock.sol/SuperfluidUpgradabilityTester__factory.js +1 -1
  503. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.d.ts +18 -57
  504. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.d.ts.map +1 -1
  505. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.js +20 -71
  506. package/dist/module/typechain-types/factories/contracts/mocks/SuperfluidPoolUpgradabilityMock.sol/SuperfluidPoolStorageLayoutMock__factory.js.map +1 -1
  507. package/dist/module/typechain-types/factories/contracts/superfluid/ConstantInflowNFT__factory.d.ts +1 -1
  508. package/dist/module/typechain-types/factories/contracts/superfluid/ConstantInflowNFT__factory.js +1 -1
  509. package/dist/module/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.d.ts +1 -1
  510. package/dist/module/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.d.ts.map +1 -1
  511. package/dist/module/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.js +1 -1
  512. package/dist/module/typechain-types/factories/contracts/superfluid/ConstantOutflowNFT__factory.js.map +1 -1
  513. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.d.ts +1 -1
  514. package/dist/module/typechain-types/factories/contracts/superfluid/SuperTokenFactory.sol/SuperTokenFactory__factory.js +1 -1
  515. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.d.ts +1 -1
  516. package/dist/module/typechain-types/factories/contracts/superfluid/SuperToken__factory.js +1 -1
  517. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.d.ts +1 -1
  518. package/dist/module/typechain-types/factories/contracts/superfluid/Superfluid__factory.js +1 -1
  519. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.d.ts +1 -1
  520. package/dist/module/typechain-types/factories/contracts/utils/BatchLiquidator__factory.js +1 -1
  521. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.d.ts +1 -1
  522. package/dist/module/typechain-types/factories/contracts/utils/CFAv1Forwarder__factory.js +1 -1
  523. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.d.ts +1 -1
  524. package/dist/module/typechain-types/factories/contracts/utils/GDAv1Forwarder__factory.js +1 -1
  525. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.d.ts +1 -1
  526. package/dist/module/typechain-types/factories/contracts/utils/IDAv1Forwarder__factory.js +1 -1
  527. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.d.ts +1 -1
  528. package/dist/module/typechain-types/factories/contracts/utils/MacroForwarder__factory.js +1 -1
  529. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.d.ts +1 -1
  530. package/dist/module/typechain-types/factories/contracts/utils/SuperUpgrader__factory.js +1 -1
  531. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.d.ts +1 -1
  532. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeployer__factory.js +1 -1
  533. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.d.ts +1 -1
  534. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidFrameworkDeploymentSteps__factory.js +1 -1
  535. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.d.ts +1 -1
  536. package/dist/module/typechain-types/factories/contracts/utils/SuperfluidLoader__factory.js +1 -1
  537. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +1 -1
  538. package/dist/module/typechain-types/factories/contracts/utils/TOGA.sol/TOGA__factory.js +1 -1
  539. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.d.ts +1 -1
  540. package/dist/module/typechain-types/factories/contracts/utils/TestGovernance__factory.js +1 -1
  541. package/package.json +6 -5
  542. package/dist/main/subgraph/entities/flowOperator/flowOperators.d.ts.map +0 -1
  543. package/dist/main/subgraph/entities/flowOperator/flowOperators.js.map +0 -1
  544. package/dist/module/subgraph/entities/flowOperator/flowOperators.d.ts.map +0 -1
  545. package/dist/module/subgraph/entities/flowOperator/flowOperators.js.map +0 -1
@@ -1107,7 +1107,7 @@ const _abi = [
1107
1107
  type: "function",
1108
1108
  },
1109
1109
  ];
1110
- const _bytecode = "0x60a06040523480156200001157600080fd5b50604051620052fb380380620052fb833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b6080516152676200009460003960006110f301526152676000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80637fbc7639116100b8578063acafa1b81161007c578063acafa1b814610336578063acf4a6c214610349578063b6dacdb81461035c578063b96731c21461037e578063cd7245c514610391578063d787840a146103e957600080fd5b80637fbc76391461029f578063899baaec146102b25780639903ad38146102e25780639b2e48bc146102ea578063a5653ced1461031857600080fd5b806350d75d25116100ff57806350d75d251461020457806352d1902d1461020c5780635b534051146102225780636041ae96146102665780637730599e1461027957600080fd5b8063232d2b581461013c57806323fc23f3146101655780632e5e74c6146101a95780633fd4176a146101bc57806346951954146101ef575b600080fd5b61014f61014a3660046143b0565b6103fc565b60405161015c919061448b565b60405180910390f35b61017861017336600461449e565b610b16565b6040805194151585526001600160801b0393841660208601529183169184019190915216606082015260800161015c565b61014f6101b73660046144e9565b610b81565b6101d773__$97ed594b3f931187fb739dcb88a7dff641$__81565b6040516001600160a01b03909116815260200161015c565b6102026101fd36600461453d565b6110e8565b005b6101d761113d565b61021461116c565b60405190815260200161015c565b610235610230366004614561565b6111d0565b60405161015c9493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b61014f6102743660046145bd565b6112a6565b7f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a674610214565b61014f6102ad366004614638565b6116cb565b6102c56102c0366004614679565b6117b8565b604080519283526001600160801b0390911660208301520161015c565b61020261185d565b6102fd6102f83660046146ca565b61196b565b6040805193845260208401929092529082015260600161015c565b61032161010081565b60405163ffffffff909116815260200161015c565b61014f6103443660046144e9565b611b76565b61014f6103573660046145bd565b611f7b565b61036f61036a36600461470b565b612535565b60405161015c93929190614789565b61014f61038c366004614826565b61278a565b6103a461039f36600461487b565b61288a565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a00161015c565b61014f6103f73660046148a7565b61298c565b60606001600160a01b03851661042557604051633242919d60e21b815260040160405180910390fd5b61042d614208565b610435614266565b606060008061047a8c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b90508060a00151925080606001519150506104998b828b8d6000612d14565b60808901521515602080890191909152606088019190915260408088018390529287528251908101909252600082526104d5918d918c91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050602086015191965050156105395764040000000060c084015261052f8386612e35565b60a0850152610554565b64010000000060c084015261054e8386612e35565b60a08501525b83602001518015610571575060808401515163ffffffff90811614155b1561064c576105c08460800151608001516001600160801b0316896001600160801b03168660600151602001516001600160801b03166105b19190614921565b6105bb9190614934565b612fec565b6060850180516001600160801b03909216602090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518363ffffffff1660e01b8152600401610615929190614978565b600060405180830381600087803b15801561062f57600080fd5b505af1158015610643573d6000803e3d6000fd5b50505050610833565b8360200151156106c9576106918460800151608001516001600160801b0316896001600160801b03168660600151604001516001600160801b03166105b19190614921565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518060a0016040528063ffffffff80168152602001826001600160a01b031681526020018b63ffffffff1681526020018560600151600001516001600160801b03168152602001896001600160801b031681525084608001819052508a6001600160a01b03166312a6a3f8856040015161074887608001516130f7565b6040518363ffffffff1660e01b8152600401610765929190614978565b600060405180830381600087803b15801561077f57600080fd5b505af1158015610793573d6000803e3d6000fd5b50505050878460600151604001516107ab9190614991565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916107e390613059565b6040518363ffffffff1660e01b8152600401610800929190614978565b600060405180830381600087803b15801561081a57600080fd5b505af115801561082e573d6000803e3d6000fd5b505050505b60008460800151608001516001600160801b031685608001516060015186606001516000015161086391906149b8565b6001600160801b031661087691906149d8565b905063ffffffff801685608001516000015163ffffffff160361090f576108a68c836108a184614a08565b61319e565b6001600160a01b038c1663cf97256d836108bf84614a08565b6040518363ffffffff1660e01b81526004016108dc929190614a24565b600060405180830381600087803b1580156108f657600080fd5b505af115801561090a573d6000803e3d6000fd5b505050505b60405163cf97256d60e01b81526001600160a01b038d169063cf97256d9061093d908d908590600401614a24565b600060405180830381600087803b15801561095757600080fd5b505af115801561096b573d6000803e3d6000fd5b50505050846020015115610a115760608086015151608080880180516001600160801b039384169401939093528251918c16910152604086015190516001600160a01b038e169163a1b2bf8b916109c1906130f7565b6040518363ffffffff1660e01b81526004016109de929190614978565b600060405180830381600087803b1580156109f857600080fd5b505af1158015610a0c573d6000803e3d6000fd5b505050505b846020015115610a405764080000000060c085015260a0850151610a37908590886132ec565b9650610a609050565b64020000000060c085015260a0850151610a5c908590886132ec565b9650505b8a63ffffffff16826001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398d8d88604051610aae93929190614a3d565b60405180910390a4896001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c182524977848e8d88604051610aff9493929190614a79565b60405180910390a350505050509695505050505050565b600080600080610b3f604080516060810182526000808252602082018190529181019190915290565b6000610b4b8888613538565b9050610b57898261359f565b90965091508515610b7657815160208301516040840151919650945092505b505093509350935093565b6060610b8b614208565b610b93614266565b600060606000610bd98c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015160a0909101519093509150506001600160a01b038816610c1157604051633242919d60e21b815260040160405180910390fd5b896001600160a01b0316826001600160a01b031614610c43576040516392da6d1760e01b815260040160405180910390fd5b610c518b8b8a8c6001612d14565b6080890152506060870152604080870182905291865281516020810190925260008252610c81918d918b91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c087015250909550610cd290508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691610d04916149b8565b6001600160801b0316610d1791906149d8565b60808601515190915063ffffffff90811614610d6457846080015160800151856060015160200151610d4991906149b8565b60608601516001600160801b03909116602090910152610d97565b846080015160800151856060015160400151610d8091906149b8565b60608601516001600160801b039091166040909101525b8b6001600160a01b031663a1b2bf8b8660000151610db88860600151613059565b6040518363ffffffff1660e01b8152600401610dd5929190614978565b600060405180830381600087803b158015610def57600080fd5b505af1158015610e03573d6000803e3d6000fd5b5050505060808501515163ffffffff90811614610e2d57610e2d8c8a8760800151600001516136b3565b60808501515163ffffffff1663fffffffe1901610ebb57610e528c8c6108a184614a08565b6001600160a01b038c1663cf97256d8c610e6b84614a08565b6040518363ffffffff1660e01b8152600401610e88929190614a24565b600060405180830381600087803b158015610ea257600080fd5b505af1158015610eb6573d6000803e3d6000fd5b505050505b6040858101519051632704839760e01b81526004810191909152600260248201526001600160a01b038d1690632704839790604401600060405180830381600087803b158015610f0a57600080fd5b505af1158015610f1e573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038f16925063cf97256d9150610f50908c908590600401614a24565b600060405180830381600087803b158015610f6a57600080fd5b505af1158015610f7e573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151610f9e908590886132ec565b9050809650508963ffffffff168b6001600160a01b03168d6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428c86604051610ff0929190614ac2565b60405180910390a4886001600160a01b03168c6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558d8d8660405161103f93929190614ae6565b60405180910390a38963ffffffff168b6001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398c60008760405161109693929190614a3d565b60405180910390a4886001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c1825249778d8d600087604051610aff9493929190614a79565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461113157604051630b00ec8f60e11b815260040160405180910390fd5b61113a8161373e565b50565b60006111677f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190614b16565b6000806000806000806111fc604080516060810182526000808252602082018190529181019190915290565b6112046142a1565b6112128c8c8b8d6000612d14565b909b50929650909450925090508761123b5760008060008097509750975097505050505061129b565b8051608082015163ffffffff9182169091141597509550866112915780608001516001600160801b03168160600151836000015161127991906149b8565b6001600160801b031661128c9190614b2f565b611294565b60005b9450505050505b945094509450949050565b60606112b0614208565b6112b8614266565b6000606060006112fe8b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a0015191505061131d8a8a848b6001612d14565b6080890181905260608901929092525060408701919091529085525163ffffffff1663fffffffe190161136357604051633741257360e01b815260040160405180910390fd5b6113828a8a866040015160405180602001604052806000815250612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c0870152509095506113d390508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691611405916149b8565b6001600160801b031661141891906149d8565b905084608001516080015185606001516020015161143691906149b8565b6060860180516001600160801b0390921660209092019190915260808087015101519051604001516114689190614991565b6060860180516001600160801b03909216604090920191909152855190516001600160a01b038d169163a1b2bf8b916114a090613059565b6040518363ffffffff1660e01b81526004016114bd929190614978565b600060405180830381600087803b1580156114d757600080fd5b505af11580156114eb573d6000803e3d6000fd5b505050506115028b848760800151600001516136b3565b606080860151516080870180516001600160801b039092169190920152805163ffffffff9052604086015190516001600160a01b038d169163a1b2bf8b91611549906130f7565b6040518363ffffffff1660e01b8152600401611566929190614978565b600060405180830381600087803b15801561158057600080fd5b505af1158015611594573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506115c69086908590600401614a24565b600060405180830381600087803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151611614908590886132ec565b9050809650508863ffffffff168a6001600160a01b03168c6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428686604051611666929190614ac2565b60405180910390a4826001600160a01b03168b6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558c8c866040516116b593929190614ae6565b60405180910390a3505050505095945050505050565b6060600061170f8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806117258a848b613946565b9150915080600001516001600160801b0316886001600160801b031610156117605760405163cfdca72560e01b815260040160405180910390fd5b6117738a848b85858d8a60a001516139a5565b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929d9c50505050505050505050505050565b60008060006117c78686613538565b90506000806117d6898461359f565b91509150816117f85760405163edeaa63b60e01b815260040160405180910390fd5b60008160400151826020015161180e9190614991565b6001600160801b0316905060006118286105bb838a614b46565b8351909150611838908290614991565b955061184d826001600160801b038316614b2f565b9650505050505094509492505050565b600054610100900460ff161580801561187d5750600054600160ff909116105b806118975750303b158015611897575060005460ff166001145b6118ff5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611922576000805461ff0019166101001790555b801561113a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b600080600060608061197d8888613bd4565b909250905060005b81518163ffffffff161015611b5a57600061199e6142a1565b600080868563ffffffff16815181106119b9576119b9614b68565b602002602001015190506119ec8d878763ffffffff16815181106119df576119df614b68565b6020026020010151613cbf565b9094509250836119fe576119fe614b7e565b8063ffffffff16836000015163ffffffff1614611a1d57611a1d614b7e565b6001600160a01b038d16634b61cc33308e611a4263ffffffff8616600160801b614921565b60016040518563ffffffff1660e01b8152600401611a639493929190614b94565b600060405180830381865afa158015611a80573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611aa89190810190614cbe565b600081518110611aba57611aba614b68565b6020026020010151915050611ae8604080516060810182526000808252602082018190529181019190915290565b611af28d8361359f565b909450905083611b0457611b04614b7e565b82608001516001600160801b031683606001518260000151611b2691906149b8565b6001600160801b0316611b3991906149d8565b611b43908b614cf2565b99505050505080611b5390614d1a565b9050611985565b50611b658888613ddb565b935060009250505093509350939050565b6060611bb88784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b506001600160a01b038416611be057604051633242919d60e21b815260040160405180910390fd5b611be8614208565b611bf0614266565b611bfe8989888a6001612d14565b6080870181905260608701929092525060408501919091529083525163ffffffff90811614611c4057604051633eb2f84960e01b815260040160405180910390fd5b60008260800151608001516001600160801b0316836080015160600151846060015160000151611c7091906149b8565b6001600160801b0316611c839190614b2f565b9050611ca48a8a856040015160405180602001604052806000815250612e07565b915085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505082159150611f3490505764040000000060c0830152611cfc8285612e35565b60a0840152611d0f8a8a6108a184614a08565b6001600160a01b038a1663cf97256d8a611d2884614a08565b6040518363ffffffff1660e01b8152600401611d45929190614a24565b600060405180830381600087803b158015611d5f57600080fd5b505af1158015611d73573d6000803e3d6000fd5b50505050606083810151516080850180516001600160801b039092169190920152604084015190516001600160a01b038c169163a1b2bf8b91611db5906130f7565b6040518363ffffffff1660e01b8152600401611dd2929190614978565b600060405180830381600087803b158015611dec57600080fd5b505af1158015611e00573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038d16925063cf97256d9150611e32908a908590600401614a24565b600060405180830381600087803b158015611e4c57600080fd5b505af1158015611e60573d6000803e3d6000fd5b505050508763ffffffff16896001600160a01b03168b6001600160a01b03167f467eccd248ef31c8bcef16d94856855799a8783aeef10f3759e43614059a6bb18a85604051611eb0929190614a24565b60405180910390a4604080516001600160a01b038b8116825263ffffffff8b166020830152918101839052818916918c16907f48a3d91d4a07e4982b081260e24f922bd33bb965882772d6de19c922c3eabdea9060600160405180910390a364080000000060c083015260a0830151611f2b908390866132ec565b9450611f6e9050565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b6060611f85614208565b611f8d614266565b600060606000611fd38b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a00151915050611ff28a8a848b6000612d14565b60808901521580156020890152606088019190915260408701919091529085526120425760808401515163ffffffff9081161461204257604051633eb2f84960e01b815260040160405180910390fd5b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040808a015181516020810190925291815294995061209b948f94508e9350909150612e07565b925083602001516121c45764010000000060c08401526120bb8386612e35565b60a08086019190915260408051918201815260008083526001600160a01b038c16602084015263ffffffff8b1691830191909152606080870151516001600160801b031690830152608080830191909152850152835161211e908b908490613e84565b60808501805163ffffffff909216909152604085015190516001600160a01b038c16916312a6a3f891612150906130f7565b6040518363ffffffff1660e01b815260040161216d929190614978565b600060405180830381600087803b15801561218757600080fd5b505af115801561219b573d6000803e3d6000fd5b505064020000000060c0860152505060a08401516121bb908490876132ec565b95506124859050565b64040000000060c08401526121d98386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b039092169161220b916149b8565b6001600160801b031661221e91906149d8565b9050846080015160800151856060015160200181815161223e9190614991565b6001600160801b03169052506080808601510151606086015160400180516122679083906149b8565b6001600160801b0316905250845160608601516001600160a01b038d169163a1b2bf8b9161229490613059565b6040518363ffffffff1660e01b81526004016122b1929190614978565b600060405180830381600087803b1580156122cb57600080fd5b505af11580156122df573d6000803e3d6000fd5b505050506122f28b8b836108a190614a08565b6001600160a01b038b1663cf97256d8b61230b84614a08565b6040518363ffffffff1660e01b8152600401612328929190614a24565b600060405180830381600087803b15801561234257600080fd5b505af1158015612356573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506123889086908590600401614a24565b600060405180830381600087803b1580156123a257600080fd5b505af11580156123b6573d6000803e3d6000fd5b5050506060808701515160808801516001600160801b039091169101525084516123e3908c908590613e84565b60808601805163ffffffff909216909152604086015190516001600160a01b038d169163a1b2bf8b91612415906130f7565b6040518363ffffffff1660e01b8152600401612432929190614978565b600060405180830381600087803b15801561244c57600080fd5b505af1158015612460573d6000803e3d6000fd5b505064080000000060c0870152505060a0850151612480908590886132ec565b965050505b8763ffffffff16896001600160a01b03168b6001600160a01b03167f492d2641617cfaf24ac7328f85bc5bdf5113537d78dc7671afa4f49a73f053c285856040516124d1929190614ac2565b60405180910390a4816001600160a01b03168a6001600160a01b03167fc0b8396b655615cdb85fe462a9a1792480816f909cd46d9517a940b386dfbf6b8b8b8560405161252093929190614ae6565b60405180910390a35050505095945050505050565b60608060608060606125478787613bd4565b909250905060006125566142a1565b82516001600160401b0381111561256f5761256f614bbd565b604051908082528060200260200182016040528015612598578160200160208202803683370190505b50965082516001600160401b038111156125b4576125b4614bbd565b6040519080825280602002602001820160405280156125dd578160200160208202803683370190505b50955082516001600160401b038111156125f9576125f9614bbd565b604051908082528060200260200182016040528015612622578160200160208202803683370190505b50945060005b83518163ffffffff16101561277e576000858263ffffffff168151811061265157612651614b68565b602002602001015190506000858363ffffffff168151811061267557612675614b68565b602002602001015190506126898c82613cbf565b90955093508461269b5761269b614b7e565b8163ffffffff16846000015163ffffffff16146126ba576126ba614b7e565b83602001518a8463ffffffff16815181106126d7576126d7614b68565b60200260200101906001600160a01b031690816001600160a01b0316815250508360400151898463ffffffff168151811061271457612714614b68565b602002602001019063ffffffff16908163ffffffff16815250508360800151888463ffffffff168151811061274b5761274b614b68565b60200260200101906001600160801b031690816001600160801b03168152505050508061277790614d1a565b9050612628565b50505050509250925092565b606060006127ce8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806127e48a848b613946565b915091506000816040015182602001516127fe9190614991565b6001600160801b03169050801561284457600061281e6105bb838c614b46565b90506128428c868d87878689600001516128389190614991565b8c60a001516139a5565b505b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929e9d5050505050505050505050505050565b60008060008060008060006128b8604080516060810182526000808252602082018190529181019190915290565b6128c06142a1565b6128ca8b8b613cbf565b9094509050836128ed5760405163016d919360e71b815260040160405180910390fd5b80602001519850806040015197506129058989613538565b92506129118b8461359f565b90945091508361292357612923614b7e565b8051608082015163ffffffff9182169091141597509550866129795780608001516001600160801b03168160600151836000015161296191906149b8565b6001600160801b03166129749190614b2f565b61297c565b60005b9450505050509295509295909350565b606060006129d08685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015190915060006129e48288613538565b90506129f08882613f2b565b15612a0e57604051635c02a51760e01b815260040160405180910390fd5b876001600160a01b03166312a6a3f882612a5f604051806060016040528060006001600160801b0316815260200160006001600160801b0316815260200160006001600160801b0316815250613059565b6040518363ffffffff1660e01b8152600401612a7c929190614978565b600060405180830381600087803b158015612a9657600080fd5b505af1158015612aaa573d6000803e3d6000fd5b505050508663ffffffff16826001600160a01b0316896001600160a01b03167f01ab8663165edfb7390d9e5f75d960a66dacf4f01fa9787e3a731c870d0da9218660a00151604051612afc919061448b565b60405180910390a485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929b9a5050505050505050505050565b612b4f6142cf565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bbb9190614d48565b6001600160a01b031614612c055760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b60448201526064016118f6565b604051632fd0a1cd60e21b8152339063bf42873490612c2890859060040161448b565b602060405180830381865afa158015612c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c699190614d75565b612ca35760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b60448201526064016118f6565b604051631fb6491d60e11b81523390633f6c923a90612cc690859060040161448b565b600060405180830381865afa158015612ce3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614e1c565b90505b92915050565b6040805160608101825260008082526020820181905291810182905281906000612d3c6142a1565b6000612d488a89613538565b9550612d548987613fd7565b9450612d608b8761359f565b9450905080612d825760405163edeaa63b60e01b815260040160405180910390fd5b612d8c8b86613cbf565b90935091508615612df95782612db55760405163016d919360e71b815260040160405180910390fd5b896001600160a01b031682602001516001600160a01b031614612dda57612dda614b7e565b8763ffffffff16826040015163ffffffff1614612df957612df9614b7e565b509550955095509550959050565b612e0f614266565b6001600160a01b0394851681529290931660208301526040820152606081019190915290565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015612e89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ead9190614f22565b91945092509050828015612ebf575081155b15612fe3576000612ed08688614018565b90508660c001518216600003612fd5576000612eef8860c00151614096565b88516040808b015160608c015182516000815260208101909352612f1b93923092919060448101614f5e565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e0292612f8a9291869164100000000091909114908890600401614fa3565b6000604051808303816000875af1158015612fa9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fd19190810190614fec565b9550505b612fe086600061412d565b50505b50505092915050565b60006001600160801b038211156130555760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016118f6565b5090565b604080516002808252606080830184529260208301908036833701905050905081600001516001600160801b0316600160801b1760001b816000815181106130a3576130a3614b68565b602002602001018181525050608082604001516001600160801b0316901b82602001516001600160801b03161760001b816001815181106130e6576130e6614b68565b602002602001018181525050919050565b6040805160028082526060808301845292602083019080368337019050509050816000015163ffffffff166020836040015163ffffffff16901b606084602001516001600160a01b0316901b171760001b8160008151811061315b5761315b614b68565b602002602001018181525050608082608001516001600160801b0316901b82606001516001600160801b03161760001b816001815181106130e6576130e6614b68565b806000036131ab57505050565b604051634b61cc3360e01b81526000906001600160a01b03851690634b61cc33906131e6903090879064010000000090600190600401614b94565b600060405180830381865afa158015613203573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261322b9190810190614cbe565b9050816132548260008151811061324457613244614b68565b602002602001015160001c614155565b61325e9190614cf2565b60001b8160008151811061327457613274614b68565b602090810291909101015260405163048620af60e11b81526001600160a01b0385169063090c415e906132b4908690640100000000908690600401615020565b600060405180830381600087803b1580156132ce57600080fd5b505af11580156132e2573d6000803e3d6000fd5b5050505050505050565b6132f46142cf565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061336c9190614f22565b88965091945092509050828015613381575081155b1561352d576133908489614018565b93508760c00151811660000361351b5760006133af8960c00151614096565b89516040808c015160608d0151825160008152602081019093526133dd9392309291908e9060448101615047565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a849261344c9291869164200000000091909114908b90600401614fa3565b6000604051808303816000875af115801561346b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134939190810190614fec565b604051631fb6491d60e11b81529095503390633f6c923a906134b990889060040161448b565b600060405180830381865afa1580156134d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134fe9190810190614e1c565b955061351389608001518761010001516141bf565b610100870152505b61352a8686610100015161412d565b93505b505050935093915050565b60405168383ab13634b9b432b960b91b60208201526bffffffffffffffffffffffff19606084901b1660298201526001600160e01b031960e083901b16603d8201526000906041015b60405160208183030381529060405280519060200120905092915050565b60408051606081018252600080825260208201819052918101829052604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613610573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136389190810190614cbe565b905060008160008151811061364f5761364f614b68565b602002602001015160001c905060008260018151811061367157613671614b68565b602002602001015160001c905060008211945084156136a9576001600160801b03808316855281166020850152608081901c60408501525b5050509250929050565b604051631528e57f60e31b81526001600160a01b038085166004830152831660248201526000604482015263ffffffff8216606482015273__$97ed594b3f931187fb739dcb88a7dff641$__9063a9472bf89060840160006040518083038186803b15801561372157600080fd5b505af4158015613735573d6000803e3d6000fd5b50505050505050565b60006137687f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137be5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016118f6565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138209190614b16565b61382861116c565b146138815760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016118f6565b6001600160a01b03811630036138d95760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016118f6565b613901817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc61392a61116c565b604080519182526001600160a01b038416602083015201611960565b60408051606081018252600080825260208201819052918101829052600061396e8585613538565b925061397a868461359f565b925090508061399c5760405163edeaa63b60e01b815260040160405180910390fd5b50935093915050565b866001600160a01b031663cf97256d8785602001516001600160801b03168660000151866139d391906149b8565b6001600160801b03166139e590614a08565b6139ef91906149d8565b6040518363ffffffff1660e01b8152600401613a0c929190614a24565b600060405180830381600087803b158015613a2657600080fd5b505af1158015613a3a573d6000803e3d6000fd5b50505050613a74878785604001516001600160801b0316866000015186613a6191906149b8565b6001600160801b03166108a191906149d8565b82516001600160801b03831684526001600160a01b03881663a1b2bf8b86613a9b87613059565b6040518363ffffffff1660e01b8152600401613ab8929190614978565b600060405180830381600087803b158015613ad257600080fd5b505af1158015613ae6573d6000803e3d6000fd5b505050508563ffffffff16876001600160a01b0316896001600160a01b03167f81e37f3d9f16cbf29a62d6a1c21d79b23ef29b54124ec44af43a50fffb9304f3848789604001518a6020015189604051613b449594939291906150ad565b60405180910390a46040516379359f6f60e01b81526001600160a01b0388811660048301528916906379359f6f90602401602060405180830381865afa158015613b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bb69190614d75565b156132e2576040516316e759bb60e01b815260040160405180910390fd5b60608073__$97ed594b3f931187fb739dcb88a7dff641$__6306967a8c85856000600160801b6040518563ffffffff1660e01b8152600401613c199493929190614b94565b600060405180830381865af4158015613c36573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5e91908101906150e9565b909250905060005b8151811015613cb757613c9284838381518110613c8557613c85614b68565b6020026020010151613fd7565b828281518110613ca457613ca4614b68565b6020908102919091010152600101613c66565b509250929050565b6000613cc96142a1565b604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613d1e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613d469190810190614cbe565b9050600081600081518110613d5d57613d5d614b68565b602002602001015160001c9050600082600181518110613d7f57613d7f614b68565b602002602001015160001c905060008211945084156136a957606082811c60208087019190915283901c63ffffffff9081166040870152831685526001600160801b03821690850152608081811c908501525050509250929050565b600080836001600160a01b0316634b61cc33308564010000000060016040518563ffffffff1660e01b8152600401613e169493929190614b94565b600060405180830381865afa158015613e33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613e5b9190810190614cbe565b905080600081518110613e7057613e70614b68565b602002602001015160001c91505092915050565b604051630a32470160e41b81526001600160a01b03808516600483015283166024820152600060448201819052600160801b6064830152608482018390529073__$97ed594b3f931187fb739dcb88a7dff641$__9063a32470109060a401602060405180830381865af4158015613eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f2391906151ad565b949350505050565b604051636c2d9f2f60e01b8152306004820152602481018290526002604482015260009081906001600160a01b03851690636c2d9f2f90606401600060405180830381865afa158015613f82573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613faa9190810190614cbe565b9050600081600081518110613fc157613fc1614b68565b6020908102919091010151151595945050505050565b604080516b39bab139b1b934b83a34b7b760a11b6020820152606084811b6bffffffffffffffffffffffff1916602c83015291810183905260009101613581565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb09461404f948a946004016151ca565b6000604051808303816000875af115801561406e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614fec565b600064010000000082036140b257506330d9c91560e01b919050565b64040000000082036140cc5750630221347d60e61b919050565b64100000000082036140e65750635f9e7d7760e01b919050565b6402000000008203614100575063d86ed3e560e01b919050565b640800000000820361411a575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b604051634c4d861f60e11b8152606090339063989b0c3e9061404f908690869060040161520f565b60006001600160ff1b038211156130555760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016118f6565b6000612d0b60006141d86141d286614155565b856141dd565b6141f2565b60008183136141ec5782612d0b565b50919050565b60008183136142015781612d0b565b5090919050565b6040805160c081018252600080825260208201819052918101919091526060810161424c604080516060810182526000808252602082018190529181019190915290565b81526020016142596142a1565b8152602001606081525090565b6040805160e0810182526000808252602082018190529181018290526060808201526080810182905260a0810182905260c081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461113a57600080fd5b63ffffffff8116811461113a57600080fd5b80356001600160801b038116811461412857600080fd5b60008083601f84011261437a57600080fd5b5081356001600160401b0381111561439157600080fd5b6020830191508360208285010111156143a957600080fd5b9250929050565b60008060008060008060a087890312156143c957600080fd5b86356143d48161432a565b955060208701356143e48161433f565b945060408701356143f48161432a565b935061440260608801614351565b925060808701356001600160401b0381111561441d57600080fd5b61442989828a01614368565b979a9699509497509295939492505050565b60005b8381101561445657818101518382015260200161443e565b50506000910152565b6000815180845261447781602086016020860161443b565b601f01601f19169290920160200192915050565b602081526000612d0b602083018461445f565b6000806000606084860312156144b357600080fd5b83356144be8161432a565b925060208401356144ce8161432a565b915060408401356144de8161433f565b809150509250925092565b60008060008060008060a0878903121561450257600080fd5b863561450d8161432a565b9550602087013561451d8161432a565b9450604087013561452d8161433f565b935060608701356144028161432a565b60006020828403121561454f57600080fd5b813561455a8161432a565b9392505050565b6000806000806080858703121561457757600080fd5b84356145828161432a565b935060208501356145928161432a565b925060408501356145a28161433f565b915060608501356145b28161432a565b939692955090935050565b6000806000806000608086880312156145d557600080fd5b85356145e08161432a565b945060208601356145f08161432a565b935060408601356146008161433f565b925060608601356001600160401b0381111561461b57600080fd5b61462788828901614368565b969995985093965092949392505050565b60008060008060006080868803121561465057600080fd5b853561465b8161432a565b9450602086013561466b8161433f565b935061460060408701614351565b6000806000806080858703121561468f57600080fd5b843561469a8161432a565b935060208501356146aa8161432a565b925060408501356146ba8161433f565b9396929550929360600135925050565b6000806000606084860312156146df57600080fd5b83356146ea8161432a565b925060208401356146fa8161432a565b929592945050506040919091013590565b6000806040838503121561471e57600080fd5b82356147298161432a565b915060208301356147398161432a565b809150509250929050565b60008151808452602080850194506020840160005b8381101561477e5781516001600160801b031687529582019590820190600101614759565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b828110156147cb5781516001600160a01b0316845292840192908401906001016147a6565b5050508381038285015285518082528683019183019060005b8181101561480657835163ffffffff16835292840192918401916001016147e4565b5050848103604086015261481a8187614744565b98975050505050505050565b60008060008060006080868803121561483e57600080fd5b85356148498161432a565b945060208601356148598161433f565b93506040860135925060608601356001600160401b0381111561461b57600080fd5b6000806040838503121561488e57600080fd5b82356148998161432a565b946020939093013593505050565b600080600080606085870312156148bd57600080fd5b84356148c88161432a565b935060208501356148d88161433f565b925060408501356001600160401b038111156148f357600080fd5b6148ff87828801614368565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115612d0e57612d0e61490b565b81810381811115612d0e57612d0e61490b565b60008151808452602080850194506020840160005b8381101561477e5781518752958201959082019060010161495c565b828152604060208201526000613f236040830184614947565b6001600160801b038181168382160190808211156149b1576149b161490b565b5092915050565b6001600160801b038281168282160390808211156149b1576149b161490b565b80820260008212600160ff1b841416156149f4576149f461490b565b8181058314821517612d0e57612d0e61490b565b6000600160ff1b8201614a1d57614a1d61490b565b5060000390565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03841681526001600160801b0383166020820152606060408201819052600090614a709083018461445f565b95945050505050565b6001600160a01b038516815263ffffffff841660208201526001600160801b0383166040820152608060608201819052600090614ab89083018461445f565b9695505050505050565b6001600160a01b0383168152604060208201819052600090613f239083018461445f565b6001600160a01b038416815263ffffffff83166020820152606060408201819052600090614a709083018461445f565b600060208284031215614b2857600080fd5b5051919050565b8082028115828204841417612d0e57612d0e61490b565b600082614b6357634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715614bf657614bf6614bbd565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614c2457614c24614bbd565b604052919050565b60006001600160401b03821115614c4557614c45614bbd565b5060051b60200190565b600082601f830112614c6057600080fd5b81516020614c75614c7083614c2c565b614bfc565b8083825260208201915060208460051b870101935086841115614c9757600080fd5b602086015b84811015614cb35780518352918301918301614c9c565b509695505050505050565b600060208284031215614cd057600080fd5b81516001600160401b03811115614ce657600080fd5b613f2384828501614c4f565b8082018281126000831280158216821582161715614d1257614d1261490b565b505092915050565b600063ffffffff808316818103614d3357614d3361490b565b6001019392505050565b80516141288161432a565b600060208284031215614d5a57600080fd5b815161455a8161432a565b8051801515811461412857600080fd5b600060208284031215614d8757600080fd5b612d0b82614d65565b805160ff8116811461412857600080fd5b80516001600160e01b03198116811461412857600080fd5b600082601f830112614dca57600080fd5b81516001600160401b03811115614de357614de3614bbd565b614df6601f8201601f1916602001614bfc565b818152846020838601011115614e0b57600080fd5b613f2382602083016020870161443b565b600060208284031215614e2e57600080fd5b81516001600160401b0380821115614e4557600080fd5b908301906101608286031215614e5a57600080fd5b614e62614bd3565b614e6b83614d90565b8152614e7960208401614d90565b602082015260408301516040820152614e9460608401614d3d565b6060820152614ea560808401614da1565b608082015260a083015182811115614ebc57600080fd5b614ec887828601614db9565b60a08301525060c083015160c082015260e083015160e0820152610100915081830151828201526101209150614eff828401614d3d565b828201526101409150614f13828401614d3d565b91810191909152949350505050565b600080600060608486031215614f3757600080fd5b614f4084614d65565b9250614f4e60208501614d65565b9150604084015190509250925092565b6001600160a01b038681168252851660208201526040810184905260a060608201819052600090614f919083018561445f565b828103608084015261481a818561445f565b6001600160a01b0385168152608060208201819052600090614fc79083018661445f565b84151560408401528281036060840152614fe1818561445f565b979650505050505050565b600060208284031215614ffe57600080fd5b81516001600160401b0381111561501457600080fd5b613f2384828501614db9565b60018060a01b0384168152826020820152606060408201526000614a706060830184614947565b6001600160a01b038781168252861660208201526040810185905260c06060820181905260009061507a9083018661445f565b828103608084015261508c818661445f565b905082810360a08401526150a0818561445f565b9998505050505050505050565b60006001600160801b0380881683528087166020840152808616604084015280851660608401525060a06080830152614fe160a083018461445f565b600080604083850312156150fc57600080fd5b82516001600160401b038082111561511357600080fd5b818501915085601f83011261512757600080fd5b81516020615137614c7083614c2c565b82815260059290921b8401810191818101908984111561515657600080fd5b948201945b8386101561517d57855161516e8161433f565b8252948201949082019061515b565b9188015191965090935050508082111561519657600080fd5b506151a385828601614c4f565b9150509250929050565b6000602082840312156151bf57600080fd5b815161455a8161433f565b60a0815260006151dd60a083018861445f565b6001600160a01b0396871660208401526040830195909552506060810192909252909216608090920191909152919050565b604081526000615222604083018561445f565b9050826020830152939250505056fea26469706673582212209feccd7e40fc1b09e983e26412b5ab4a2cfbf34fdf1de5e4219f1b4abc6da7be64736f6c63430008170033";
1110
+ const _bytecode = "0x60a06040523480156200001157600080fd5b50604051620052fb380380620052fb833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b6080516152676200009460003960006110f301526152676000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80637fbc7639116100b8578063acafa1b81161007c578063acafa1b814610336578063acf4a6c214610349578063b6dacdb81461035c578063b96731c21461037e578063cd7245c514610391578063d787840a146103e957600080fd5b80637fbc76391461029f578063899baaec146102b25780639903ad38146102e25780639b2e48bc146102ea578063a5653ced1461031857600080fd5b806350d75d25116100ff57806350d75d251461020457806352d1902d1461020c5780635b534051146102225780636041ae96146102665780637730599e1461027957600080fd5b8063232d2b581461013c57806323fc23f3146101655780632e5e74c6146101a95780633fd4176a146101bc57806346951954146101ef575b600080fd5b61014f61014a3660046143b0565b6103fc565b60405161015c919061448b565b60405180910390f35b61017861017336600461449e565b610b16565b6040805194151585526001600160801b0393841660208601529183169184019190915216606082015260800161015c565b61014f6101b73660046144e9565b610b81565b6101d773__$97ed594b3f931187fb739dcb88a7dff641$__81565b6040516001600160a01b03909116815260200161015c565b6102026101fd36600461453d565b6110e8565b005b6101d761113d565b61021461116c565b60405190815260200161015c565b610235610230366004614561565b6111d0565b60405161015c9493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b61014f6102743660046145bd565b6112a6565b7f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a674610214565b61014f6102ad366004614638565b6116cb565b6102c56102c0366004614679565b6117b8565b604080519283526001600160801b0390911660208301520161015c565b61020261185d565b6102fd6102f83660046146ca565b61196b565b6040805193845260208401929092529082015260600161015c565b61032161010081565b60405163ffffffff909116815260200161015c565b61014f6103443660046144e9565b611b76565b61014f6103573660046145bd565b611f7b565b61036f61036a36600461470b565b612535565b60405161015c93929190614789565b61014f61038c366004614826565b61278a565b6103a461039f36600461487b565b61288a565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a00161015c565b61014f6103f73660046148a7565b61298c565b60606001600160a01b03851661042557604051633242919d60e21b815260040160405180910390fd5b61042d614208565b610435614266565b606060008061047a8c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b90508060a00151925080606001519150506104998b828b8d6000612d14565b60808901521515602080890191909152606088019190915260408088018390529287528251908101909252600082526104d5918d918c91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050602086015191965050156105395764040000000060c084015261052f8386612e35565b60a0850152610554565b64010000000060c084015261054e8386612e35565b60a08501525b83602001518015610571575060808401515163ffffffff90811614155b1561064c576105c08460800151608001516001600160801b0316896001600160801b03168660600151602001516001600160801b03166105b19190614921565b6105bb9190614934565b612fec565b6060850180516001600160801b03909216602090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518363ffffffff1660e01b8152600401610615929190614978565b600060405180830381600087803b15801561062f57600080fd5b505af1158015610643573d6000803e3d6000fd5b50505050610833565b8360200151156106c9576106918460800151608001516001600160801b0316896001600160801b03168660600151604001516001600160801b03166105b19190614921565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518060a0016040528063ffffffff80168152602001826001600160a01b031681526020018b63ffffffff1681526020018560600151600001516001600160801b03168152602001896001600160801b031681525084608001819052508a6001600160a01b03166312a6a3f8856040015161074887608001516130f7565b6040518363ffffffff1660e01b8152600401610765929190614978565b600060405180830381600087803b15801561077f57600080fd5b505af1158015610793573d6000803e3d6000fd5b50505050878460600151604001516107ab9190614991565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916107e390613059565b6040518363ffffffff1660e01b8152600401610800929190614978565b600060405180830381600087803b15801561081a57600080fd5b505af115801561082e573d6000803e3d6000fd5b505050505b60008460800151608001516001600160801b031685608001516060015186606001516000015161086391906149b8565b6001600160801b031661087691906149d8565b905063ffffffff801685608001516000015163ffffffff160361090f576108a68c836108a184614a08565b61319e565b6001600160a01b038c1663cf97256d836108bf84614a08565b6040518363ffffffff1660e01b81526004016108dc929190614a24565b600060405180830381600087803b1580156108f657600080fd5b505af115801561090a573d6000803e3d6000fd5b505050505b60405163cf97256d60e01b81526001600160a01b038d169063cf97256d9061093d908d908590600401614a24565b600060405180830381600087803b15801561095757600080fd5b505af115801561096b573d6000803e3d6000fd5b50505050846020015115610a115760608086015151608080880180516001600160801b039384169401939093528251918c16910152604086015190516001600160a01b038e169163a1b2bf8b916109c1906130f7565b6040518363ffffffff1660e01b81526004016109de929190614978565b600060405180830381600087803b1580156109f857600080fd5b505af1158015610a0c573d6000803e3d6000fd5b505050505b846020015115610a405764080000000060c085015260a0850151610a37908590886132ec565b9650610a609050565b64020000000060c085015260a0850151610a5c908590886132ec565b9650505b8a63ffffffff16826001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398d8d88604051610aae93929190614a3d565b60405180910390a4896001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c182524977848e8d88604051610aff9493929190614a79565b60405180910390a350505050509695505050505050565b600080600080610b3f604080516060810182526000808252602082018190529181019190915290565b6000610b4b8888613538565b9050610b57898261359f565b90965091508515610b7657815160208301516040840151919650945092505b505093509350935093565b6060610b8b614208565b610b93614266565b600060606000610bd98c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015160a0909101519093509150506001600160a01b038816610c1157604051633242919d60e21b815260040160405180910390fd5b896001600160a01b0316826001600160a01b031614610c43576040516392da6d1760e01b815260040160405180910390fd5b610c518b8b8a8c6001612d14565b6080890152506060870152604080870182905291865281516020810190925260008252610c81918d918b91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c087015250909550610cd290508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691610d04916149b8565b6001600160801b0316610d1791906149d8565b60808601515190915063ffffffff90811614610d6457846080015160800151856060015160200151610d4991906149b8565b60608601516001600160801b03909116602090910152610d97565b846080015160800151856060015160400151610d8091906149b8565b60608601516001600160801b039091166040909101525b8b6001600160a01b031663a1b2bf8b8660000151610db88860600151613059565b6040518363ffffffff1660e01b8152600401610dd5929190614978565b600060405180830381600087803b158015610def57600080fd5b505af1158015610e03573d6000803e3d6000fd5b5050505060808501515163ffffffff90811614610e2d57610e2d8c8a8760800151600001516136b3565b60808501515163ffffffff1663fffffffe1901610ebb57610e528c8c6108a184614a08565b6001600160a01b038c1663cf97256d8c610e6b84614a08565b6040518363ffffffff1660e01b8152600401610e88929190614a24565b600060405180830381600087803b158015610ea257600080fd5b505af1158015610eb6573d6000803e3d6000fd5b505050505b6040858101519051632704839760e01b81526004810191909152600260248201526001600160a01b038d1690632704839790604401600060405180830381600087803b158015610f0a57600080fd5b505af1158015610f1e573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038f16925063cf97256d9150610f50908c908590600401614a24565b600060405180830381600087803b158015610f6a57600080fd5b505af1158015610f7e573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151610f9e908590886132ec565b9050809650508963ffffffff168b6001600160a01b03168d6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428c86604051610ff0929190614ac2565b60405180910390a4886001600160a01b03168c6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558d8d8660405161103f93929190614ae6565b60405180910390a38963ffffffff168b6001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398c60008760405161109693929190614a3d565b60405180910390a4886001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c1825249778d8d600087604051610aff9493929190614a79565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461113157604051630b00ec8f60e11b815260040160405180910390fd5b61113a8161373e565b50565b60006111677f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190614b16565b6000806000806000806111fc604080516060810182526000808252602082018190529181019190915290565b6112046142a1565b6112128c8c8b8d6000612d14565b909b50929650909450925090508761123b5760008060008097509750975097505050505061129b565b8051608082015163ffffffff9182169091141597509550866112915780608001516001600160801b03168160600151836000015161127991906149b8565b6001600160801b031661128c9190614b2f565b611294565b60005b9450505050505b945094509450949050565b60606112b0614208565b6112b8614266565b6000606060006112fe8b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a0015191505061131d8a8a848b6001612d14565b6080890181905260608901929092525060408701919091529085525163ffffffff1663fffffffe190161136357604051633741257360e01b815260040160405180910390fd5b6113828a8a866040015160405180602001604052806000815250612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c0870152509095506113d390508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691611405916149b8565b6001600160801b031661141891906149d8565b905084608001516080015185606001516020015161143691906149b8565b6060860180516001600160801b0390921660209092019190915260808087015101519051604001516114689190614991565b6060860180516001600160801b03909216604090920191909152855190516001600160a01b038d169163a1b2bf8b916114a090613059565b6040518363ffffffff1660e01b81526004016114bd929190614978565b600060405180830381600087803b1580156114d757600080fd5b505af11580156114eb573d6000803e3d6000fd5b505050506115028b848760800151600001516136b3565b606080860151516080870180516001600160801b039092169190920152805163ffffffff9052604086015190516001600160a01b038d169163a1b2bf8b91611549906130f7565b6040518363ffffffff1660e01b8152600401611566929190614978565b600060405180830381600087803b15801561158057600080fd5b505af1158015611594573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506115c69086908590600401614a24565b600060405180830381600087803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151611614908590886132ec565b9050809650508863ffffffff168a6001600160a01b03168c6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428686604051611666929190614ac2565b60405180910390a4826001600160a01b03168b6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558c8c866040516116b593929190614ae6565b60405180910390a3505050505095945050505050565b6060600061170f8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806117258a848b613946565b9150915080600001516001600160801b0316886001600160801b031610156117605760405163cfdca72560e01b815260040160405180910390fd5b6117738a848b85858d8a60a001516139a5565b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929d9c50505050505050505050505050565b60008060006117c78686613538565b90506000806117d6898461359f565b91509150816117f85760405163edeaa63b60e01b815260040160405180910390fd5b60008160400151826020015161180e9190614991565b6001600160801b0316905060006118286105bb838a614b46565b8351909150611838908290614991565b955061184d826001600160801b038316614b2f565b9650505050505094509492505050565b600054610100900460ff161580801561187d5750600054600160ff909116105b806118975750303b158015611897575060005460ff166001145b6118ff5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611922576000805461ff0019166101001790555b801561113a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b600080600060608061197d8888613bd4565b909250905060005b81518163ffffffff161015611b5a57600061199e6142a1565b600080868563ffffffff16815181106119b9576119b9614b68565b602002602001015190506119ec8d878763ffffffff16815181106119df576119df614b68565b6020026020010151613cbf565b9094509250836119fe576119fe614b7e565b8063ffffffff16836000015163ffffffff1614611a1d57611a1d614b7e565b6001600160a01b038d16634b61cc33308e611a4263ffffffff8616600160801b614921565b60016040518563ffffffff1660e01b8152600401611a639493929190614b94565b600060405180830381865afa158015611a80573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611aa89190810190614cbe565b600081518110611aba57611aba614b68565b6020026020010151915050611ae8604080516060810182526000808252602082018190529181019190915290565b611af28d8361359f565b909450905083611b0457611b04614b7e565b82608001516001600160801b031683606001518260000151611b2691906149b8565b6001600160801b0316611b3991906149d8565b611b43908b614cf2565b99505050505080611b5390614d1a565b9050611985565b50611b658888613ddb565b935060009250505093509350939050565b6060611bb88784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b506001600160a01b038416611be057604051633242919d60e21b815260040160405180910390fd5b611be8614208565b611bf0614266565b611bfe8989888a6001612d14565b6080870181905260608701929092525060408501919091529083525163ffffffff90811614611c4057604051633eb2f84960e01b815260040160405180910390fd5b60008260800151608001516001600160801b0316836080015160600151846060015160000151611c7091906149b8565b6001600160801b0316611c839190614b2f565b9050611ca48a8a856040015160405180602001604052806000815250612e07565b915085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505082159150611f3490505764040000000060c0830152611cfc8285612e35565b60a0840152611d0f8a8a6108a184614a08565b6001600160a01b038a1663cf97256d8a611d2884614a08565b6040518363ffffffff1660e01b8152600401611d45929190614a24565b600060405180830381600087803b158015611d5f57600080fd5b505af1158015611d73573d6000803e3d6000fd5b50505050606083810151516080850180516001600160801b039092169190920152604084015190516001600160a01b038c169163a1b2bf8b91611db5906130f7565b6040518363ffffffff1660e01b8152600401611dd2929190614978565b600060405180830381600087803b158015611dec57600080fd5b505af1158015611e00573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038d16925063cf97256d9150611e32908a908590600401614a24565b600060405180830381600087803b158015611e4c57600080fd5b505af1158015611e60573d6000803e3d6000fd5b505050508763ffffffff16896001600160a01b03168b6001600160a01b03167f467eccd248ef31c8bcef16d94856855799a8783aeef10f3759e43614059a6bb18a85604051611eb0929190614a24565b60405180910390a4604080516001600160a01b038b8116825263ffffffff8b166020830152918101839052818916918c16907f48a3d91d4a07e4982b081260e24f922bd33bb965882772d6de19c922c3eabdea9060600160405180910390a364080000000060c083015260a0830151611f2b908390866132ec565b9450611f6e9050565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b6060611f85614208565b611f8d614266565b600060606000611fd38b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a00151915050611ff28a8a848b6000612d14565b60808901521580156020890152606088019190915260408701919091529085526120425760808401515163ffffffff9081161461204257604051633eb2f84960e01b815260040160405180910390fd5b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040808a015181516020810190925291815294995061209b948f94508e9350909150612e07565b925083602001516121c45764010000000060c08401526120bb8386612e35565b60a08086019190915260408051918201815260008083526001600160a01b038c16602084015263ffffffff8b1691830191909152606080870151516001600160801b031690830152608080830191909152850152835161211e908b908490613e84565b60808501805163ffffffff909216909152604085015190516001600160a01b038c16916312a6a3f891612150906130f7565b6040518363ffffffff1660e01b815260040161216d929190614978565b600060405180830381600087803b15801561218757600080fd5b505af115801561219b573d6000803e3d6000fd5b505064020000000060c0860152505060a08401516121bb908490876132ec565b95506124859050565b64040000000060c08401526121d98386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b039092169161220b916149b8565b6001600160801b031661221e91906149d8565b9050846080015160800151856060015160200181815161223e9190614991565b6001600160801b03169052506080808601510151606086015160400180516122679083906149b8565b6001600160801b0316905250845160608601516001600160a01b038d169163a1b2bf8b9161229490613059565b6040518363ffffffff1660e01b81526004016122b1929190614978565b600060405180830381600087803b1580156122cb57600080fd5b505af11580156122df573d6000803e3d6000fd5b505050506122f28b8b836108a190614a08565b6001600160a01b038b1663cf97256d8b61230b84614a08565b6040518363ffffffff1660e01b8152600401612328929190614a24565b600060405180830381600087803b15801561234257600080fd5b505af1158015612356573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506123889086908590600401614a24565b600060405180830381600087803b1580156123a257600080fd5b505af11580156123b6573d6000803e3d6000fd5b5050506060808701515160808801516001600160801b039091169101525084516123e3908c908590613e84565b60808601805163ffffffff909216909152604086015190516001600160a01b038d169163a1b2bf8b91612415906130f7565b6040518363ffffffff1660e01b8152600401612432929190614978565b600060405180830381600087803b15801561244c57600080fd5b505af1158015612460573d6000803e3d6000fd5b505064080000000060c0870152505060a0850151612480908590886132ec565b965050505b8763ffffffff16896001600160a01b03168b6001600160a01b03167f492d2641617cfaf24ac7328f85bc5bdf5113537d78dc7671afa4f49a73f053c285856040516124d1929190614ac2565b60405180910390a4816001600160a01b03168a6001600160a01b03167fc0b8396b655615cdb85fe462a9a1792480816f909cd46d9517a940b386dfbf6b8b8b8560405161252093929190614ae6565b60405180910390a35050505095945050505050565b60608060608060606125478787613bd4565b909250905060006125566142a1565b82516001600160401b0381111561256f5761256f614bbd565b604051908082528060200260200182016040528015612598578160200160208202803683370190505b50965082516001600160401b038111156125b4576125b4614bbd565b6040519080825280602002602001820160405280156125dd578160200160208202803683370190505b50955082516001600160401b038111156125f9576125f9614bbd565b604051908082528060200260200182016040528015612622578160200160208202803683370190505b50945060005b83518163ffffffff16101561277e576000858263ffffffff168151811061265157612651614b68565b602002602001015190506000858363ffffffff168151811061267557612675614b68565b602002602001015190506126898c82613cbf565b90955093508461269b5761269b614b7e565b8163ffffffff16846000015163ffffffff16146126ba576126ba614b7e565b83602001518a8463ffffffff16815181106126d7576126d7614b68565b60200260200101906001600160a01b031690816001600160a01b0316815250508360400151898463ffffffff168151811061271457612714614b68565b602002602001019063ffffffff16908163ffffffff16815250508360800151888463ffffffff168151811061274b5761274b614b68565b60200260200101906001600160801b031690816001600160801b03168152505050508061277790614d1a565b9050612628565b50505050509250925092565b606060006127ce8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806127e48a848b613946565b915091506000816040015182602001516127fe9190614991565b6001600160801b03169050801561284457600061281e6105bb838c614b46565b90506128428c868d87878689600001516128389190614991565b8c60a001516139a5565b505b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929e9d5050505050505050505050505050565b60008060008060008060006128b8604080516060810182526000808252602082018190529181019190915290565b6128c06142a1565b6128ca8b8b613cbf565b9094509050836128ed5760405163016d919360e71b815260040160405180910390fd5b80602001519850806040015197506129058989613538565b92506129118b8461359f565b90945091508361292357612923614b7e565b8051608082015163ffffffff9182169091141597509550866129795780608001516001600160801b03168160600151836000015161296191906149b8565b6001600160801b03166129749190614b2f565b61297c565b60005b9450505050509295509295909350565b606060006129d08685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015190915060006129e48288613538565b90506129f08882613f2b565b15612a0e57604051635c02a51760e01b815260040160405180910390fd5b876001600160a01b03166312a6a3f882612a5f604051806060016040528060006001600160801b0316815260200160006001600160801b0316815260200160006001600160801b0316815250613059565b6040518363ffffffff1660e01b8152600401612a7c929190614978565b600060405180830381600087803b158015612a9657600080fd5b505af1158015612aaa573d6000803e3d6000fd5b505050508663ffffffff16826001600160a01b0316896001600160a01b03167f01ab8663165edfb7390d9e5f75d960a66dacf4f01fa9787e3a731c870d0da9218660a00151604051612afc919061448b565b60405180910390a485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929b9a5050505050505050505050565b612b4f6142cf565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bbb9190614d48565b6001600160a01b031614612c055760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b60448201526064016118f6565b604051632fd0a1cd60e21b8152339063bf42873490612c2890859060040161448b565b602060405180830381865afa158015612c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c699190614d75565b612ca35760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b60448201526064016118f6565b604051631fb6491d60e11b81523390633f6c923a90612cc690859060040161448b565b600060405180830381865afa158015612ce3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614e1c565b90505b92915050565b6040805160608101825260008082526020820181905291810182905281906000612d3c6142a1565b6000612d488a89613538565b9550612d548987613fd7565b9450612d608b8761359f565b9450905080612d825760405163edeaa63b60e01b815260040160405180910390fd5b612d8c8b86613cbf565b90935091508615612df95782612db55760405163016d919360e71b815260040160405180910390fd5b896001600160a01b031682602001516001600160a01b031614612dda57612dda614b7e565b8763ffffffff16826040015163ffffffff1614612df957612df9614b7e565b509550955095509550959050565b612e0f614266565b6001600160a01b0394851681529290931660208301526040820152606081019190915290565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015612e89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ead9190614f22565b91945092509050828015612ebf575081155b15612fe3576000612ed08688614018565b90508660c001518216600003612fd5576000612eef8860c00151614096565b88516040808b015160608c015182516000815260208101909352612f1b93923092919060448101614f5e565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e0292612f8a9291869164100000000091909114908890600401614fa3565b6000604051808303816000875af1158015612fa9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fd19190810190614fec565b9550505b612fe086600061412d565b50505b50505092915050565b60006001600160801b038211156130555760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016118f6565b5090565b604080516002808252606080830184529260208301908036833701905050905081600001516001600160801b0316600160801b1760001b816000815181106130a3576130a3614b68565b602002602001018181525050608082604001516001600160801b0316901b82602001516001600160801b03161760001b816001815181106130e6576130e6614b68565b602002602001018181525050919050565b6040805160028082526060808301845292602083019080368337019050509050816000015163ffffffff166020836040015163ffffffff16901b606084602001516001600160a01b0316901b171760001b8160008151811061315b5761315b614b68565b602002602001018181525050608082608001516001600160801b0316901b82606001516001600160801b03161760001b816001815181106130e6576130e6614b68565b806000036131ab57505050565b604051634b61cc3360e01b81526000906001600160a01b03851690634b61cc33906131e6903090879064010000000090600190600401614b94565b600060405180830381865afa158015613203573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261322b9190810190614cbe565b9050816132548260008151811061324457613244614b68565b602002602001015160001c614155565b61325e9190614cf2565b60001b8160008151811061327457613274614b68565b602090810291909101015260405163048620af60e11b81526001600160a01b0385169063090c415e906132b4908690640100000000908690600401615020565b600060405180830381600087803b1580156132ce57600080fd5b505af11580156132e2573d6000803e3d6000fd5b5050505050505050565b6132f46142cf565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061336c9190614f22565b88965091945092509050828015613381575081155b1561352d576133908489614018565b93508760c00151811660000361351b5760006133af8960c00151614096565b89516040808c015160608d0151825160008152602081019093526133dd9392309291908e9060448101615047565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a849261344c9291869164200000000091909114908b90600401614fa3565b6000604051808303816000875af115801561346b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134939190810190614fec565b604051631fb6491d60e11b81529095503390633f6c923a906134b990889060040161448b565b600060405180830381865afa1580156134d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134fe9190810190614e1c565b955061351389608001518761010001516141bf565b610100870152505b61352a8686610100015161412d565b93505b505050935093915050565b60405168383ab13634b9b432b960b91b60208201526bffffffffffffffffffffffff19606084901b1660298201526001600160e01b031960e083901b16603d8201526000906041015b60405160208183030381529060405280519060200120905092915050565b60408051606081018252600080825260208201819052918101829052604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613610573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136389190810190614cbe565b905060008160008151811061364f5761364f614b68565b602002602001015160001c905060008260018151811061367157613671614b68565b602002602001015160001c905060008211945084156136a9576001600160801b03808316855281166020850152608081901c60408501525b5050509250929050565b604051631528e57f60e31b81526001600160a01b038085166004830152831660248201526000604482015263ffffffff8216606482015273__$97ed594b3f931187fb739dcb88a7dff641$__9063a9472bf89060840160006040518083038186803b15801561372157600080fd5b505af4158015613735573d6000803e3d6000fd5b50505050505050565b60006137687f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137be5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016118f6565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138209190614b16565b61382861116c565b146138815760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016118f6565b6001600160a01b03811630036138d95760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016118f6565b613901817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc61392a61116c565b604080519182526001600160a01b038416602083015201611960565b60408051606081018252600080825260208201819052918101829052600061396e8585613538565b925061397a868461359f565b925090508061399c5760405163edeaa63b60e01b815260040160405180910390fd5b50935093915050565b866001600160a01b031663cf97256d8785602001516001600160801b03168660000151866139d391906149b8565b6001600160801b03166139e590614a08565b6139ef91906149d8565b6040518363ffffffff1660e01b8152600401613a0c929190614a24565b600060405180830381600087803b158015613a2657600080fd5b505af1158015613a3a573d6000803e3d6000fd5b50505050613a74878785604001516001600160801b0316866000015186613a6191906149b8565b6001600160801b03166108a191906149d8565b82516001600160801b03831684526001600160a01b03881663a1b2bf8b86613a9b87613059565b6040518363ffffffff1660e01b8152600401613ab8929190614978565b600060405180830381600087803b158015613ad257600080fd5b505af1158015613ae6573d6000803e3d6000fd5b505050508563ffffffff16876001600160a01b0316896001600160a01b03167f81e37f3d9f16cbf29a62d6a1c21d79b23ef29b54124ec44af43a50fffb9304f3848789604001518a6020015189604051613b449594939291906150ad565b60405180910390a46040516379359f6f60e01b81526001600160a01b0388811660048301528916906379359f6f90602401602060405180830381865afa158015613b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bb69190614d75565b156132e2576040516316e759bb60e01b815260040160405180910390fd5b60608073__$97ed594b3f931187fb739dcb88a7dff641$__6306967a8c85856000600160801b6040518563ffffffff1660e01b8152600401613c199493929190614b94565b600060405180830381865af4158015613c36573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5e91908101906150e9565b909250905060005b8151811015613cb757613c9284838381518110613c8557613c85614b68565b6020026020010151613fd7565b828281518110613ca457613ca4614b68565b6020908102919091010152600101613c66565b509250929050565b6000613cc96142a1565b604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613d1e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613d469190810190614cbe565b9050600081600081518110613d5d57613d5d614b68565b602002602001015160001c9050600082600181518110613d7f57613d7f614b68565b602002602001015160001c905060008211945084156136a957606082811c60208087019190915283901c63ffffffff9081166040870152831685526001600160801b03821690850152608081811c908501525050509250929050565b600080836001600160a01b0316634b61cc33308564010000000060016040518563ffffffff1660e01b8152600401613e169493929190614b94565b600060405180830381865afa158015613e33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613e5b9190810190614cbe565b905080600081518110613e7057613e70614b68565b602002602001015160001c91505092915050565b604051630a32470160e41b81526001600160a01b03808516600483015283166024820152600060448201819052600160801b6064830152608482018390529073__$97ed594b3f931187fb739dcb88a7dff641$__9063a32470109060a401602060405180830381865af4158015613eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f2391906151ad565b949350505050565b604051636c2d9f2f60e01b8152306004820152602481018290526002604482015260009081906001600160a01b03851690636c2d9f2f90606401600060405180830381865afa158015613f82573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613faa9190810190614cbe565b9050600081600081518110613fc157613fc1614b68565b6020908102919091010151151595945050505050565b604080516b39bab139b1b934b83a34b7b760a11b6020820152606084811b6bffffffffffffffffffffffff1916602c83015291810183905260009101613581565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb09461404f948a946004016151ca565b6000604051808303816000875af115801561406e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614fec565b600064010000000082036140b257506330d9c91560e01b919050565b64040000000082036140cc5750630221347d60e61b919050565b64100000000082036140e65750635f9e7d7760e01b919050565b6402000000008203614100575063d86ed3e560e01b919050565b640800000000820361411a575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b604051634c4d861f60e11b8152606090339063989b0c3e9061404f908690869060040161520f565b60006001600160ff1b038211156130555760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016118f6565b6000612d0b60006141d86141d286614155565b856141dd565b6141f2565b60008183136141ec5782612d0b565b50919050565b60008183136142015781612d0b565b5090919050565b6040805160c081018252600080825260208201819052918101919091526060810161424c604080516060810182526000808252602082018190529181019190915290565b81526020016142596142a1565b8152602001606081525090565b6040805160e0810182526000808252602082018190529181018290526060808201526080810182905260a0810182905260c081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461113a57600080fd5b63ffffffff8116811461113a57600080fd5b80356001600160801b038116811461412857600080fd5b60008083601f84011261437a57600080fd5b5081356001600160401b0381111561439157600080fd5b6020830191508360208285010111156143a957600080fd5b9250929050565b60008060008060008060a087890312156143c957600080fd5b86356143d48161432a565b955060208701356143e48161433f565b945060408701356143f48161432a565b935061440260608801614351565b925060808701356001600160401b0381111561441d57600080fd5b61442989828a01614368565b979a9699509497509295939492505050565b60005b8381101561445657818101518382015260200161443e565b50506000910152565b6000815180845261447781602086016020860161443b565b601f01601f19169290920160200192915050565b602081526000612d0b602083018461445f565b6000806000606084860312156144b357600080fd5b83356144be8161432a565b925060208401356144ce8161432a565b915060408401356144de8161433f565b809150509250925092565b60008060008060008060a0878903121561450257600080fd5b863561450d8161432a565b9550602087013561451d8161432a565b9450604087013561452d8161433f565b935060608701356144028161432a565b60006020828403121561454f57600080fd5b813561455a8161432a565b9392505050565b6000806000806080858703121561457757600080fd5b84356145828161432a565b935060208501356145928161432a565b925060408501356145a28161433f565b915060608501356145b28161432a565b939692955090935050565b6000806000806000608086880312156145d557600080fd5b85356145e08161432a565b945060208601356145f08161432a565b935060408601356146008161433f565b925060608601356001600160401b0381111561461b57600080fd5b61462788828901614368565b969995985093965092949392505050565b60008060008060006080868803121561465057600080fd5b853561465b8161432a565b9450602086013561466b8161433f565b935061460060408701614351565b6000806000806080858703121561468f57600080fd5b843561469a8161432a565b935060208501356146aa8161432a565b925060408501356146ba8161433f565b9396929550929360600135925050565b6000806000606084860312156146df57600080fd5b83356146ea8161432a565b925060208401356146fa8161432a565b929592945050506040919091013590565b6000806040838503121561471e57600080fd5b82356147298161432a565b915060208301356147398161432a565b809150509250929050565b60008151808452602080850194506020840160005b8381101561477e5781516001600160801b031687529582019590820190600101614759565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b828110156147cb5781516001600160a01b0316845292840192908401906001016147a6565b5050508381038285015285518082528683019183019060005b8181101561480657835163ffffffff16835292840192918401916001016147e4565b5050848103604086015261481a8187614744565b98975050505050505050565b60008060008060006080868803121561483e57600080fd5b85356148498161432a565b945060208601356148598161433f565b93506040860135925060608601356001600160401b0381111561461b57600080fd5b6000806040838503121561488e57600080fd5b82356148998161432a565b946020939093013593505050565b600080600080606085870312156148bd57600080fd5b84356148c88161432a565b935060208501356148d88161433f565b925060408501356001600160401b038111156148f357600080fd5b6148ff87828801614368565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115612d0e57612d0e61490b565b81810381811115612d0e57612d0e61490b565b60008151808452602080850194506020840160005b8381101561477e5781518752958201959082019060010161495c565b828152604060208201526000613f236040830184614947565b6001600160801b038181168382160190808211156149b1576149b161490b565b5092915050565b6001600160801b038281168282160390808211156149b1576149b161490b565b80820260008212600160ff1b841416156149f4576149f461490b565b8181058314821517612d0e57612d0e61490b565b6000600160ff1b8201614a1d57614a1d61490b565b5060000390565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03841681526001600160801b0383166020820152606060408201819052600090614a709083018461445f565b95945050505050565b6001600160a01b038516815263ffffffff841660208201526001600160801b0383166040820152608060608201819052600090614ab89083018461445f565b9695505050505050565b6001600160a01b0383168152604060208201819052600090613f239083018461445f565b6001600160a01b038416815263ffffffff83166020820152606060408201819052600090614a709083018461445f565b600060208284031215614b2857600080fd5b5051919050565b8082028115828204841417612d0e57612d0e61490b565b600082614b6357634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715614bf657614bf6614bbd565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614c2457614c24614bbd565b604052919050565b60006001600160401b03821115614c4557614c45614bbd565b5060051b60200190565b600082601f830112614c6057600080fd5b81516020614c75614c7083614c2c565b614bfc565b8083825260208201915060208460051b870101935086841115614c9757600080fd5b602086015b84811015614cb35780518352918301918301614c9c565b509695505050505050565b600060208284031215614cd057600080fd5b81516001600160401b03811115614ce657600080fd5b613f2384828501614c4f565b8082018281126000831280158216821582161715614d1257614d1261490b565b505092915050565b600063ffffffff808316818103614d3357614d3361490b565b6001019392505050565b80516141288161432a565b600060208284031215614d5a57600080fd5b815161455a8161432a565b8051801515811461412857600080fd5b600060208284031215614d8757600080fd5b612d0b82614d65565b805160ff8116811461412857600080fd5b80516001600160e01b03198116811461412857600080fd5b600082601f830112614dca57600080fd5b81516001600160401b03811115614de357614de3614bbd565b614df6601f8201601f1916602001614bfc565b818152846020838601011115614e0b57600080fd5b613f2382602083016020870161443b565b600060208284031215614e2e57600080fd5b81516001600160401b0380821115614e4557600080fd5b908301906101608286031215614e5a57600080fd5b614e62614bd3565b614e6b83614d90565b8152614e7960208401614d90565b602082015260408301516040820152614e9460608401614d3d565b6060820152614ea560808401614da1565b608082015260a083015182811115614ebc57600080fd5b614ec887828601614db9565b60a08301525060c083015160c082015260e083015160e0820152610100915081830151828201526101209150614eff828401614d3d565b828201526101409150614f13828401614d3d565b91810191909152949350505050565b600080600060608486031215614f3757600080fd5b614f4084614d65565b9250614f4e60208501614d65565b9150604084015190509250925092565b6001600160a01b038681168252851660208201526040810184905260a060608201819052600090614f919083018561445f565b828103608084015261481a818561445f565b6001600160a01b0385168152608060208201819052600090614fc79083018661445f565b84151560408401528281036060840152614fe1818561445f565b979650505050505050565b600060208284031215614ffe57600080fd5b81516001600160401b0381111561501457600080fd5b613f2384828501614db9565b60018060a01b0384168152826020820152606060408201526000614a706060830184614947565b6001600160a01b038781168252861660208201526040810185905260c06060820181905260009061507a9083018661445f565b828103608084015261508c818661445f565b905082810360a08401526150a0818561445f565b9998505050505050505050565b60006001600160801b0380881683528087166020840152808616604084015280851660608401525060a06080830152614fe160a083018461445f565b600080604083850312156150fc57600080fd5b82516001600160401b038082111561511357600080fd5b818501915085601f83011261512757600080fd5b81516020615137614c7083614c2c565b82815260059290921b8401810191818101908984111561515657600080fd5b948201945b8386101561517d57855161516e8161433f565b8252948201949082019061515b565b9188015191965090935050508082111561519657600080fd5b506151a385828601614c4f565b9150509250929050565b6000602082840312156151bf57600080fd5b815161455a8161433f565b60a0815260006151dd60a083018861445f565b6001600160a01b0396871660208401526040830195909552506060810192909252909216608090920191909152919050565b604081526000615222604083018561445f565b9050826020830152939250505056fea26469706673582212204b502c0cc5c56ec44e2ce3abe9f27ec5088613ddf21f6c93e08299ce63331a0064736f6c63430008170033";
1111
1111
  const isSuperArgs = (xs) => {
1112
1112
  return (typeof xs[0] === "string" ||
1113
1113
  Array.isArray(xs[0]) ||
@@ -16,7 +16,7 @@ export declare class GeneralDistributionAgreementV1__factory extends ContractFac
16
16
  }): TransactionRequest;
17
17
  attach(address: string): GeneralDistributionAgreementV1;
18
18
  connect(signer: Signer): GeneralDistributionAgreementV1__factory;
19
- static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162005d3c38038062005d3c833981016040819052620000349162000065565b6001600160a01b039182166080521660a052620000a4565b6001600160a01b03811681146200006257600080fd5b50565b600080604083850312156200007957600080fd5b825162000086816200004c565b602084015190925062000099816200004c565b809150509250929050565b60805160a051615c48620000f4600039600081816103c4015261244d015260008181610bc401528181610ca201528181610eea0152818161365601528181613865015261398a0152615c486000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806352d1902d116101045780639903ad38116100a2578063e8e7e2d111610071578063e8e7e2d1146104d4578063eccfc6a5146104e7578063f0b7b915146104fa578063fa48736d1461050d57600080fd5b80639903ad38146104785780639b2e48bc14610480578063c782eb9c146104ae578063d2c0d542146104c157600080fd5b80635cfd50d7116100de5780635cfd50d7146103f95780636d1007a61461042c5780637730599e1461043f5780637b2cc0da1461046557600080fd5b806352d1902d146103a95780635437dd97146103bf5780635a6c6dbc146103e657600080fd5b80633fd4176a1161017c5780634d5c91ec1161014b5780634d5c91ec146103375780634e9ced57146103645780634fe9c2911461037757806350d75d25146103a157600080fd5b80633fd4176a146102d15780634543b745146102ec578063469519541461030f5780634b839e0b1461032457600080fd5b806330925b79116101b857806330925b791461025557806337bd42e014610268578063398c74e1146102a35780633c56f090146102b657600080fd5b80630735d750146101df5780630779d3651461020a57806310dc879214610235575b600080fd5b6101f26101ed366004614c45565b610520565b604051600b9190910b81526020015b60405180910390f35b61021d610218366004614d51565b610546565b6040516001600160a01b039091168152602001610201565b610248610243366004614e0f565b61055b565b6040516102019190614ec3565b610248610263366004614ed6565b6108a8565b61027b610276366004614f2a565b6108b7565b604080516001600160a01b0390941684526020840192909252600b0b90820152606001610201565b6102486102b1366004614f5c565b610958565b61021d73__$fb8a7211f6e0fb144ea3d242e9f7f2eec2$__81565b61021d73__$97ed594b3f931187fb739dcb88a7dff641$__81565b6102ff6102fa366004614fd7565b610b51565b6040519015158152602001610201565b61032261031d366004614f2a565b610bb9565b005b6102ff610332366004614fd7565b610c0e565b61034a610345366004615027565b610d25565b60408051600b93840b81529190920b602082015201610201565b6101f2610372366004614f2a565b610e44565b61038a610385366004615083565b610ee5565b604080519215158352602083019190915201610201565b61021d610f80565b6103b1610faf565b604051908152602001610201565b61021d7f000000000000000000000000000000000000000000000000000000000000000081565b6102486103f43660046150bc565b611013565b61040c610407366004615083565b6117a6565b604080519485526020850193909352918301526060820152608001610201565b61024861043a366004615149565b6117c8565b7fdfd8ece9bfbcb8c5c540edb935641f63d67686490a1ab97f000288759f30a9466103b1565b6102ff610473366004615083565b611ae3565b610322611af8565b61049361048e366004614fd7565b611c06565b60408051938452602084019290925290820152606001610201565b6102ff6104bc366004615083565b611e52565b6102486104cf3660046151af565b611ec0565b6101f26104e2366004615083565b612014565b6103b16104f53660046151e0565b61219b565b610248610508366004614ed6565b612206565b6102ff61051b366004615252565b612215565b6000806105368561053186866122ae565b61231e565b60200151925050505b9392505050565b60006105538484846123e5565b949350505050565b60606000856001600160a01b0316632b4116f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561059d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c191906152d8565b905060006106058286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061267792505050565b905060008160600151905085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093975061065692508691508b90508461283b565b90508015158815151461089c57604083810151905163d877ec8760e01b81526001600160a01b0384811660048301528a1515602483015263ffffffff9092166044820152908a169063d877ec87906064016020604051808303816000875af11580156106c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ea91906152f5565b6106f6576106f6615312565b87156107ae57600061071285846001600160a01b038d16612849565b9050846001600160a01b03166312a6a3f861072d858d6128e8565b61075960405180604001604052808f6001600160a01b031681526020018663ffffffff16815250612938565b6040518363ffffffff1660e01b8152600401610776929190615364565b600060405180830381600087803b15801561079057600080fd5b505af11580156107a4573d6000803e3d6000fd5b5050505050610840565b60006107bb85848c61299f565b915050846001600160a01b031663270483976107d7858d6128e8565b6040516001600160e01b031960e084901b168152600481019190915260016024820152604401600060405180830381600087803b15801561081757600080fd5b505af115801561082b573d6000803e3d6000fd5b5050505061083e85848360200151612a79565b505b816001600160a01b0316896001600160a01b0316856001600160a01b03167ff357a2e6919da4efedb0301baf1caaed2bca70b115b913f9add41bbefc75c9b38b8760a0015160405161089392919061537d565b60405180910390a45b50505050949350505050565b6060610553846000858561055b565b600080600061094b846001600160a01b0316632b4116f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092191906152d8565b604080516001600160a01b0390921660208301520160405160208183030381529060405285612b04565b9250925092509193909250565b6060856001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa158015610998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bc91906152d8565b6001600160a01b0316610a66876001600160a01b0316632b4116f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906152d8565b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061267792505050565b606001516001600160a01b031614610a9157604051633a87e56560e01b815260040160405180910390fd5b82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051631b16777760e01b81526001600160a01b0389811660048301526001600160801b038916602483015293945092891692631b167777925060440190506020604051808303816000875af1158015610b23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4791906152f5565b5095945050505050565b6000610b5d8433612b95565b1515600003610b7f576040516390028c3760e01b815260040160405180910390fd5b604080516001600160a01b0386166020820152610bae9101604051602081830303815290604052338585612c42565b506001949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c0257604051630b00ec8f60e11b815260040160405180910390fd5b610c0b81612ca8565b50565b604051633acd4df360e21b81526001600160a01b03838116600483015260248201839052600091829186169063eb3537cc90604401606060405180830381865afa158015610c60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c849190615398565b5050905060008112610c9a57600191505061053f565b600080610cc77f000000000000000000000000000000000000000000000000000000000000000088612eb0565b91509150610d1a83610d13610d0a8a604051602001610cf591906001600160a01b0391909116815260200190565b6040516020818303038152906040528a612fce565b6040015161308d565b84846130fb565b979650505050505050565b604080516001600160a01b0386166020820152600091829182910160405160208183030381529060405290506000610d5d87876122ae565b90506000610d6b8389613149565b90506000610d8860405180602001604052806000815250896131f5565b90506000610d9685856132fd565b9050600080610da48461332d565b9050600080610db68c600b0b86613347565b90506000610dc48a8f613353565b905042610dde88610dd5858561336d565b8b919084613379565b919a5098509350610e01610dfb88610df68789613347565b61336d565b83613347565b9550610e0f86600f0b613448565b9c50610e1d84600f0b613448565b9b5060008d600b0b1215610e305760009c505b505050505050505050505094509492505050565b600080826001600160a01b0316632b4116f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea991906152d8565b604080516001600160a01b038316602082015291925061053f91610edd910160405160208183030381529060405285613353565b600f0b613448565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a91906153c6565b9050610f77848483610c0e565b91509250929050565b6000610faa7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610faa91906153c6565b606061101f8786612b95565b1515600003611041576040516390028c3760e01b815260040160405180910390fd5b600084600b0b1215611066576040516315f2566360e01b815260040160405180910390fd5b61106e614b71565b6110ae8885858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061267792505050565b81526110ba87876122ae565b6020828101918252604080516001600160a01b038c1681840152815180820390930183528101905290516110ee91906132fd565b600f0b60408083019190915280516020601f86018190048102820181019092528481529085908590819084018382808284376000920182905250939550505050600b86900b13801561119f5750856001600160a01b031663cb8599f06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611179573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119d91906152f5565b155b1561123f578060000151606001516001600160a01b0316866001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121891906152d8565b6001600160a01b03161461123f57604051637761a5e560e01b815260040160405180910390fd5b604080516001600160a01b038a166020820152600091829161128491016040516020818303038152906040528a8a86602001518b600b0b886000015160400151613471565b92509250508260000151606001516001600160a01b0316896001600160a01b03161461141f57600087600b0b13156112cf57604051637b3e931f60e11b815260040160405180910390fd5b82516040908101519051633acd4df360e21b81526001600160a01b038b8116600483015260248201929092526000918c169063eb3537cc90604401606060405180830381865afa158015611327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134b9190615398565b50506040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091529091506001600160a01b03808d168083528c8216604080850191909152875160609081015190931660a0850152602080890151938501939093528051928301919091526113e091610d0a91016040516020818303038152906040528d612fce565b6080820152602081018290526000821215611403576113fe81613624565b61141c565b60405163666f381d60e01b815260040160405180910390fd5b50505b6114308a898b866020015186613861565b8260000151606001516001600160a01b0316896001600160a01b0316036115045782516040908101519051633acd4df360e21b81526001600160a01b038b8116600483015260248201929092526000918c169063eb3537cc90604401606060405180830381865afa1580156114a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cd9190615398565b50509050600088600b0b1380156114e45750600081125b15611502576040516333115c3f60e01b815260040160405180910390fd5b505b600061150f8b613bf9565b90506001600160a01b038116156116cc5760008089600b0b13801561153957506040850151600f0b155b156115b4575a60405163f7e3d98360e01b81526001600160a01b038e811660048301528d811660248301528c811660448301529192509083169063f7e3d98390606401600060405180830381600087803b15801561159657600080fd5b505af19250505080156115a7575060015b6115b4576115b481613ca8565b600089600b0b1380156115ce575060008560400151600f0b135b15611649575a6040516375aa53e560e11b81526001600160a01b038e811660048301528d811660248301528c811660448301529192509083169063eb54a7ca90606401600060405180830381600087803b15801561162b57600080fd5b505af192505050801561163c575060015b6116495761164981613ca8565b88600b0b6000036116ca575a60405163ef1f023760e01b81526001600160a01b038e811660048301528d811660248301528c811660448301529192509083169063ef1f023790606401600060405180830381600087803b1580156116ac57600080fd5b505af19250505080156116bd575060015b6116ca576116ca81613ca8565b505b50604080516001600160a01b038c16602082015260009182916116ff91016040516020818303038152906040528b612b04565b92505091508a6001600160a01b03168a6001600160a01b03168d6001600160a01b03167fc4bd0e4bfe3a83cbd5a7a71bb33bcb6bed9e0c24d710f3fb51c85caf1cd3af3688600001516060015161175c8a60400151600f0b613448565b6117688a600f0b613448565b6117748a600f0b613448565b8c5160a0015160405161178f95949392918c918c91906153df565b60405180910390a450505050509695505050505050565b6000806000806117b7868642611c06565b919890975090955042945092505050565b6060600061180c8885858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061267792505050565b905083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945061185492508a9150889050612b95565b1515600003611876576040516390028c3760e01b815260040160405180910390fd5b856001600160a01b031663cb8599f06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d891906152f5565b6119735780606001516001600160a01b0316866001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa158015611928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194c91906152d8565b6001600160a01b03161461197357604051637761a5e560e01b815260040160405180910390fd5b80606001516001600160a01b0316876001600160a01b0316146119a957604051637b3e931f60e11b815260040160405180910390fd5b604080516001600160a01b038a1660208201526000916119e791016040516020818303038152906040528360600151896119e28a61308d565b613ccf565b6040516379359f6f60e01b81526001600160a01b038b81166004830152919350908b1691506379359f6f90602401602060405180830381865afa158015611a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5691906152f5565b15611a74576040516333115c3f60e01b815260040160405180910390fd5b876001600160a01b0316876001600160a01b03168a6001600160a01b03167f6e8348961b299f365797c30cd18a91284b046858689eeb6150a5ba432fe6583e85606001518a868860a00151604051611acf949392919061542e565b60405180910390a450509695505050505050565b6000611aef8383612b95565b90505b92915050565b600054610100900460ff1615808015611b185750600054600160ff909116105b80611b325750303b158015611b32575060005460ff166001145b611b9a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611bbd576000805461ff0019166101001790555b8015610c0b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b604080516001600160a01b0385166020820152600091829182918291611c3c910160405160208183030381529060405287612fce565b9050611c488787612b95565b15611cc2576040516336062c1560e11b815263ffffffff861660048201526001600160a01b03871690636c0c582a90602401602060405180830381865afa158015611c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cbb91906153c6565b9350611d0f565b611d0c85611d068360408051606081018252600080825260208083018281529383019182528451600b0b9093529183015163ffffffff168152608090920151905290565b90613d48565b93505b6000806000611d1e8a8a613d76565b9150915060005b8251811015611e23576000828281518110611d4257611d4261545b565b602002602001015160001c9050600080611d5d8e8e8561299f565b9150915081611d6e57611d6e615312565b826001600160a01b031681600001516001600160a01b031614611d9357611d93615312565b604051637d6c008d60e01b81526001600160a01b038e8116600483015263ffffffff8e166024830152841690637d6c008d90604401602060405180830381865afa158015611de5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0991906153c6565b611e139088615487565b9650505050806001019050611d25565b5050508085611e329190615487565b9450611e41826040015161308d565b935060009250505093509350939050565b6000611aef836001600160a01b0316632b4116f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb991906152d8565b848461283b565b6060611f63856001600160a01b0316632b4116f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f2791906152d8565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061267792505050565b5082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516377329f3560e01b81526001600160a01b038881166004830152939450928816926377329f35925060240190506020604051808303816000875af1158015611fe7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200b91906152f5565b50949350505050565b604080516001600160a01b038416602082015260009161205391610edd9161204c910160405160208183030381529060405285613149565b6020015190565b905061205f8383612b95565b156120d357816001600160a01b031663a94ff3406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c691906154af565b6120d090826154cc565b90505b6000806120e08585613d76565b9150915060005b82518110156121925760008282815181106121045761210461545b565b60209081029190910101516040516314e7a30760e21b81526001600160a01b0388811660048301529192509082169063539e8c1c90602401602060405180830381865afa158015612159573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061217d91906154af565b61218790866154cc565b9450506001016120e7565b50505092915050565b604080516001600160a01b038616602082015260009182910160408051601f19818403018152602083019091526000808352909250906121f9906121df90876131f5565b6121e88661308d565b6121f2858a613149565b9190613e00565b9998505050505050505050565b6060610553846001858561055b565b60006122218433612b95565b1515600003612243576040516390028c3760e01b815260040160405180910390fd5b604080516001600160a01b038616602082015260009101604051602081830303815290604052905061228981336122848761227e8633613149565b90613e54565b613ef7565b506122a28133600161229c886020015190565b87613f98565b50600195945050505050565b604080514660208201526080918101829052601060a08201526f646973747269627574696f6e466c6f7760801b60c08201526001600160a01b03808516606083015283169181019190915260009060e0015b60405160208183030381529060405280519060200120905092915050565b60408051606081018252600080825260208201819052918101829052604051636c2d9f2f60e01b815230600482015260248101849052600160448201526123da906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015612390573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123b89190810190615595565b6000815181106123ca576123ca61545b565b602002602001015160001c61403f565b909590945092505050565b60006001600160a01b03831661240e576040516382c5d83760e01b815260040160405180910390fd5b6124188484612b95565b1561243657604051634d5c451360e11b815260040160405180910390fd5b6040516357677fc760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015280851660248301528516604482015282511515606482015260208301511515608482015273__$fb8a7211f6e0fb144ea3d242e9f7f2eec2$__9063aeceff8e9060a401602060405180830381865af41580156124d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f791906152d8565b6040805160018082528183019092529192506000919060208083019080368337019050509050600160001b816000815181106125355761253561545b565b602090810291909101015260405163048620af60e11b81526001600160a01b0386169063090c415e9061257190859060009086906004016155c9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505060006125ae86614094565b90506001600160a01b038116156126295760005a6040516335313c2160e11b81526001600160a01b03868116600483015291925090831690636a62784290602401600060405180830381600087803b15801561260957600080fd5b505af192505050801561261a575060015b6126275761262781613ca8565b505b6040516001600160a01b03848116825280871691908816907f9c5d829b9b23efc461f9aeef91979ec04bb903feb3bee4f26d22114abfc7335b9060200160405180910390a350509392505050565b61267f614b98565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126eb91906152d8565b6001600160a01b0316146127355760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b6044820152606401611b91565b604051632fd0a1cd60e21b8152339063bf42873490612758908590600401614ec3565b602060405180830381865afa158015612775573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061279991906152f5565b6127d35760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b6044820152606401611b91565b604051631fb6491d60e11b81523390633f6c923a906127f6908590600401614ec3565b600060405180830381865afa158015612813573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611aef919081019061567c565b600080610b4785848661299f565b604051630a32470160e41b81526001600160a01b0380851660048301528316602482015260016044820152600160801b60648201526084810182905260009073__$97ed594b3f931187fb739dcb88a7dff641$__9063a32470109060a401602060405180830381865af41580156128c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105539190615782565b604080514660208201526080918101829052600a60a0820152693837b7b626b2b6b132b960b11b60c08201526001600160a01b03808516606083015283169181019190915260009060e001612300565b6040805160018082528183019092526060916020808301908036833701905050905081600001516001600160a01b031660a0836020015163ffffffff16901b1760001b8160008151811061298e5761298e61545b565b602002602001018181525050919050565b6040805180820190915260008082526020820181905290612a6d856001600160a01b0316636c2d9f2f306129d388886128e8565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260016044820152606401600060405180830381865afa158015612a23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612a4b9190810190615595565b600081518110612a5d57612a5d61545b565b602002602001015160001c6140da565b90969095509350505050565b604051631528e57f60e31b81526001600160a01b038085166004830152831660248201526001604482015263ffffffff8216606482015273__$97ed594b3f931187fb739dcb88a7dff641$__9063a9472bf89060840160006040518083038186803b158015612ae757600080fd5b505af4158015612afb573d6000803e3d6000fd5b50505050505050565b6000806000836001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b6b91906152d8565b9250612b778484614118565b91508282612b88610edd88866132fd565b9250925092509250925092565b600060e080846001600160a01b0316634b61cc333086600060016040518563ffffffff1660e01b8152600401612bce949392919061579f565b600060405180830381865afa158015612beb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612c139190810190615595565b600081518110612c2557612c2561545b565b602002602001015160001c901b901c600116600114905092915050565b6060826001600160a01b0316846001600160a01b031603612c64575083610553565b6000612c708686613149565b90506000612c7e8786613149565b9050612c8b828286614170565b9092509050612c9b878784613ef7565b9650610d1a878683613ef7565b6000612cd27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603612d285760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611b91565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d8a91906153c6565b612d92610faf565b14612deb5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611b91565b6001600160a01b0381163003612e435760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611b91565b612e6b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc612e94610faf565b604080519182526001600160a01b038416602083015201611bfb565b6000806000846001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f1791906152d8565b60405163407b865d60e11b81526001600160a01b03878116600483015286811660248301527fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f7860448301529192506000918316906380f70cba90606401602060405180830381865afa158015612f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fb591906153c6565b63ffffffff602082901c81169891169650945050505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526105538380602001905181019061301091906152d8565b6001600160a01b0316634b61cc333085600060026040518563ffffffff1660e01b8152600401613043949392919061579f565b600060405180830381865afa158015613060573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526130889190810190615595565b6141ce565b60006001600160ff1b038211156130f75760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401611b91565b5090565b60008360000361310d57506000610553565b60006131198587615487565b9050600061312785876157de565b9050613133848661580c565b61313d82846157de565b13979650505050505050565b604080516060810182526000808252602082018190529181019190915260006131b28480602001905181019061317f91906152d8565b6001600160a01b0316634b61cc333086600060026040518563ffffffff1660e01b8152600401613043949392919061579f565b9150506105538160408051606081018252600080825260208083018281529383019182528451600b0b9093529183015163ffffffff168152608090920151905290565b6131fd614bf3565b6000826001600160a01b03166381045ead6040518163ffffffff1660e01b8152600401608060405180830381865afa15801561323d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613261919061581f565b60408051634ed67a5960e11b815282516001600160801b03166004820152602083015163ffffffff16602482015290820151600b0b6044820152606082015160648201529091506001600160a01b03841690639dacf4b290608401608060405180830381865afa1580156132d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610553919061589c565b60008061331d8480602001905181019061331791906152d8565b8461231e565b60200151600b0b95945050505050565b80516020808301510151600091611af291600f0b9061429a565b6000611aef828461591d565b6000806133608484612b04565b600b0b9695505050505050565b6000611aef828461594a565b604080516060810182526000808252602082018190529181019190915261339e614bf3565b60408051606080820183526000808352602080840182905283850182905284518084018652828152808201839052808601839052855193840186528284529083018290529382018190529290836133f48a61332d565b905061340f8a61340683600f0b6142a6565b8691908b6142b1565b5090935061342390508a613406838c61336d565b909750955091506134388261227e8d86613e54565b9650505050509450945094915050565b80600b81900b811461346c5760405162461bcd60e51b8152600401611b9190615977565b919050565b6060600080866001600160a01b0316886001600160a01b03160361349757613497615312565b60006134a38a8a613149565b905060006134b18b8a613149565b905060006134bf8c8b6131f5565b60408051606081018252600080825260208201819052918101919091529091506134e98d8c613353565b600f0b815260006134fa8e8c6132fd565b905060006135078461332d565b905060006135158c84613347565b90506135328561352983876000015161336d565b8891908e613379565b995090965094506000600f89900b121561354e5761354e615312565b61356661355f84610df68b86613347565b8551613347565b9850600089600f0b1261357f5760006020850152613598565b61358b89600f0b6142a6565b600f0b6020850152600098505b6135a28984613347565b600f0b604085018190526135ba90889088908e61431d565b80975081985050505050506135d08d8d86613ef7565b9c506135dd8d8c85613ef7565b9c506135ea8d8c846143ec565b9c506135fe8d8b8e8e8a866040015161449c565b9c506136108d8c83602001518b61456f565b9d959c50939a509398505050505050505050565b60006136388260000151836060015161231e565b915050600061364a826040015161308d565b9050600080600061367f7f00000000000000000000000000000000000000000000000000000000000000008760000151612eb0565b915091506136978660200151876080015184846130fb565b925050506000846080015185602001516136b19190615487565b9050600081126137a45760808501516000906136cd83866159bd565b6136d791906157de565b905085600001516001600160a01b0316631863e80987606001516002866136ff576001613702565b60005b6040805160ff938416602082015292909116908201526060016040516020818303038152906040528960a00151878b6040015161373e88614588565b61374a896000196159bd565b6040518863ffffffff1660e01b815260040161376c97969594939291906159ed565b600060405180830381600087803b15801561378657600080fd5b505af115801561379a573d6000803e3d6000fd5b505050505061385a565b8451606080870151604080516002602082018190529181019190915286936001600160a01b031692631863e8099291016040516020818303038152906040528960a0015160008b604001516137f888614588565b6138048a6000196159bd565b6040518863ffffffff1660e01b815260040161382697969594939291906159ed565b600060405180830381600087803b15801561384057600080fd5b505af1158015613854573d6000803e3d6000fd5b50505050505b5050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156138c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138e591906152d8565b60405163407b865d60e11b81523360048201526001600160a01b0388811660248301527feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc460448301529192506000918316906380f70cba90606401602060405180830381865afa15801561395d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061398191906153c6565b905060006139af7f000000000000000000000000000000000000000000000000000000000000000089612eb0565b50905060006139be898761231e565b9150600090506139d2600f87900b846145da565b9050836139de82614588565b1080156139ee5750600086600f0b135b156139ff576139fc8461308d565b90505b6000613a1782613a12856040015161308d565b6145f0565b90506000613a5160405180606001604052804263ffffffff168152602001613a418b600f0b613448565b600b0b81526020018590526145fc565b60405163a1b2bf8b60e01b81529091506001600160a01b038d169063a1b2bf8b90613a82908c908590600401615364565b600060405180830381600087803b158015613a9c57600080fd5b505af1158015613ab0573d6000803e3d6000fd5b50505050506000613aef8c604051602001613ada91906001600160a01b0391909116815260200190565b6040516020818303038152906040528b612fce565b9050613b1182613b02836040015161308d565b613b0c9190615487565b614588565b60408201526001600160a01b038c1663090c415e8b6000613b318561465c565b6040518463ffffffff1660e01b8152600401613b4f939291906155c9565b600060405180830381600087803b158015613b6957600080fd5b505af1158015613b7d573d6000803e3d6000fd5b50505050896001600160a01b03168b6001600160a01b03168d6001600160a01b03167f589f74ba61521b98a96e2f65e02028ca5af0c5990e3d9536176b37ee6b62013785613bca88614588565b6040808801518151938452602084019290925282015260600160405180910390a4505050505050505050505050565b60408051600481526024810182526020810180516001600160e01b03166377a1e96360e11b1790529051600091829182916001600160a01b03861691613c3f9190615a3a565b600060405180830381855afa9150503d8060008114613c7a576040519150601f19603f3d011682016040523d82523d6000602084013e613c7f565b606091505b50915091508115613ca15780806020019051810190613c9e91906152d8565b92505b5050919050565b613cb181614707565b15610c0b576040516320afada560e01b815260040160405180910390fd5b60606000836001600160a01b0316856001600160a01b031603613cf457613cf4615312565b6000613d008787613149565b90506000613d0e88876131f5565b9050613d1b828287613e00565b94509092509050613d2d888884613ef7565b9750613d3a8887836143ec565b989297509195505050505050565b6000611aef613d6c613d5e84866000015161471d565b6020860151600f0b906145da565b8460400151614729565b60608073__$97ed594b3f931187fb739dcb88a7dff641$__6306967a8c85856001600160801b6040518563ffffffff1660e01b8152600401613dbb949392919061579f565b600060405180830381865af4158015613dd8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526123da9190810190615a56565b6040805160608101825260008082526020820181905291810191909152613e25614bf3565b6000613e318585614735565b9092509050613e49613e4282614797565b87906147a2565b925093509350939050565b60408051606081018252600080825260208201819052918101919091528151835160009163ffffffff908116911611613e8e578251613e91565b83515b90506000613e9f85836147e3565b90506000613ead85846147e3565b63ffffffff8416855260408084015190820151919250613ecc91614729565b604085015260208083015190820151613ee5919061336d565b600f0b60208501525091949350505050565b60606000613f058585612fce565b905084806020019051810190613f1b91906152d8565b6001600160a01b031663090c415e856000613f3f8786604001518760600151614829565b6040518463ffffffff1660e01b8152600401613f5d939291906155c9565b600060405180830381600087803b158015613f7757600080fd5b505af1158015613f8b573d6000803e3d6000fd5b5096979650505050505050565b60606000856001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ffe91906152d8565b9050600061400c8783614118565b905085156140255761402285610df68a846132fd565b94505b6140338888848489896148e8565b98975050505050505050565b6040805160608101825260008082526020820181905291810182905282158015925061408f5760c083901c63ffffffff168152606083901c600b0b60208201526001600160601b03831660408201525b915091565b60408051600481526024810182526020810180516001600160e01b0316632c836c6b60e21b1790529051600091829182916001600160a01b03861691613c3f9190615a3a565b604080518082019091526000808252602082015281158015919061408f576001600160a01b038316815260a09290921c63ffffffff16602083015291565b604080514660208201526080918101829052601260a082015271706f6f6c41646a7573746d656e74466c6f7760701b60c08201526001600160a01b03808516606083015283169181019190915260009060e001612300565b60408051606080820183526000808352602080840182905283850182905284519283018552818352820181905292810192909252906141b86141b184614797565b86906147a2565b91506141c484846147a2565b9050935093915050565b6040805160a081018252600080825260208201819052918101829052606081018290526080810182905260008360008151811061420d5761420d61545b565b602002602001015160001c905060008460018151811061422f5761422f61545b565b602002602001015160001c9050600082118061424b5750600081115b935083156142935760a082901d600b0b8352608082811c63ffffffff1660208086019190915283901c6001600160601b03166040850152600180841614606085015283018190525b5050915091565b6000611aef8284615b1a565b6000611af282615b41565b60408051606081018252600080825260208201819052918101919091526142d6614bf3565b60006142ec856142e68887614984565b906149b2565b9092509050614311614301600f83900b6142a6565b61430b89876147e3565b90614a15565b92509450945094915050565b60408051606080820183526000808352602080840182905283850182905284518084018652828152808201839052808601839052855180850187528381528083018490528087018490528651808601885284815280840185905280880185905287519586018852848652858401859052968501939093529088015193949093919290916143ba896143b1600f84900b6142a6565b8691908a614a4c565b5092506143cb896143b1838b61336d565b955091506143dd8261227e8c86613e54565b95505050505094509492505050565b60408051634a0d910160e01b81528251600f90810b6004830152602080850151805163ffffffff1660248501529081015190910b60448301529091015160648201526060906001600160a01b03841690634a0d9101906084016020604051808303816000875af1158015614464573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061448891906152f5565b61449457614494615312565b509192915050565b60606000878060200190518101906144b491906152d8565b905060006144c2828961231e565b915050816001600160a01b031663a1b2bf8b8961451060405180606001604052804263ffffffff1681526020016144fb8b600f0b613448565b600b0b815260200186604001518152506145fc565b6040518363ffffffff1660e01b815260040161452d929190615364565b600060405180830381600087803b15801561454757600080fd5b505af115801561455b573d6000803e3d6000fd5b5050505088925050505b9695505050505050565b606061457f858560008686613f98565b95945050505050565b6000808212156130f75760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401611b91565b6000611aef63ffffffff8316600f85900b6159bd565b6000611aef8284615b67565b604080516001808252818301909252606091602080830190803683370190505090508160400151606083602001516001600160601b0316901b60c0846000015163ffffffff16901b171760001b8160008151811061298e5761298e61545b565b6040805160028082526060808301845292602083019080368337019050509050816060015161468c57600061468f565b60015b60ff1660206146a18460400151614aba565b6001600160601b0316901b6080846020015163ffffffff16901b60a08560000151600b0b901b17171760001b816000815181106146e0576146e061545b565b602002602001018181525050816080015160001b8160018151811061298e5761298e61545b565b6000614714604083615b87565b5a111592915050565b6000611aef8284615b9b565b6000611aef8284615487565b61473d614bf3565b600061474884614ae3565b8451909250600f0b1561479057835161476b906147658582614b0a565b90614b1a565b845190915061478a9061477f908390614b0a565b6020860151906147a2565b60208301525b9250929050565b6000611af282615bb8565b60408051606081018252600080825260208201819052918101919091526147c883614b2a565b90506147d8816040015183614729565b604082015292915050565b604080516060810182526000808252602082018190529181019190915261480983614b2a565b90506148158383613d48565b604082015263ffffffff9091168152919050565b604080516002808252606080830184529260208301908036833701905050905081614855576000614858565b60015b60ff16602061486685614aba565b6001600160601b0316901b608061487b875190565b63ffffffff16901b60a0614890886020015190565b600f0b901b17171760001b816000815181106148ae576148ae61545b565b602002602001018181525050836040015160001b816001815181106148d5576148d561545b565b6020026020010181815250509392505050565b6060846001600160a01b0316866001600160a01b03160361490a575085614565565b600061491f8461491a8a886132fd565b613347565b9050600061492d8989613149565b9050600061493b8a89613149565b90506149498282858861431d565b90925090506149598a8a84613ef7565b99506149668a8983613ef7565b99506149768a888b8b8a8861449c565b9a9950505050505050505050565b61498c614bf3565b61499583614ae3565b60208101519091506149a790836147e3565b602082015292915050565b6149ba614bf3565b60006149c584614ae3565b8451909250600f0b156147905783516149ef906149e6600f86900b82614b65565b600f0b9061429a565b905061478a614a0e856000015183600f0b614b6590919063ffffffff16565b6020840151905b6040805160608101825260008082526020820181905291810191909152614a3b83614b2a565b600f9290920b602083015250919050565b60408051606081018252600080825260208201819052918101919091526040805160608101825260008082526020820181905291810191909152614a9f614a9585600f0b6142a6565b61430b88866147e3565b9150614aaf8461430b87866147e3565b905094509492505050565b60006001600160601b038211156130f75760405162461bcd60e51b8152600401611b9190615977565b614aeb614bf3565b8151600f0b81526020820151614b0090614b2a565b6020820152919050565b6000611aef600f83900b846157de565b6000611aef600f83900b846159bd565b6040805160608101825260008082526020808301828152838501928352855163ffffffff16845290850151600f0b9052929091015190915290565b6000611aef8284615bd4565b6040518060600160405280614b84614b98565b815260006020820181905260409091015290565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b60405180604001604052806000600f0b8152602001614c2b604080516060810182526000808252602082018190529181019190915290565b905290565b6001600160a01b0381168114610c0b57600080fd5b600080600060608486031215614c5a57600080fd5b8335614c6581614c30565b92506020840135614c7581614c30565b91506040840135614c8581614c30565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715614cc857614cc8614c90565b60405290565b604051606081016001600160401b0381118282101715614cc857614cc8614c90565b60405161016081016001600160401b0381118282101715614cc857614cc8614c90565b604051601f8201601f191681016001600160401b0381118282101715614d3b57614d3b614c90565b604052919050565b8015158114610c0b57600080fd5b60008060008385036080811215614d6757600080fd5b8435614d7281614c30565b93506020850135614d8281614c30565b92506040603f1982011215614d9657600080fd5b50614d9f614ca6565b6040850135614dad81614d43565b81526060850135614dbd81614d43565b602082015292959194509192509050565b60008083601f840112614de057600080fd5b5081356001600160401b03811115614df757600080fd5b60208301915083602082850101111561479057600080fd5b60008060008060608587031215614e2557600080fd5b8435614e3081614c30565b93506020850135614e4081614d43565b925060408501356001600160401b03811115614e5b57600080fd5b614e6787828801614dce565b95989497509550505050565b60005b83811015614e8e578181015183820152602001614e76565b50506000910152565b60008151808452614eaf816020860160208601614e73565b601f01601f19169290920160200192915050565b602081526000611aef6020830184614e97565b600080600060408486031215614eeb57600080fd5b8335614ef681614c30565b925060208401356001600160401b03811115614f1157600080fd5b614f1d86828701614dce565b9497909650939450505050565b600060208284031215614f3c57600080fd5b813561053f81614c30565b6001600160801b0381168114610c0b57600080fd5b600080600080600060808688031215614f7457600080fd5b8535614f7f81614c30565b94506020860135614f8f81614c30565b93506040860135614f9f81614f47565b925060608601356001600160401b03811115614fba57600080fd5b614fc688828901614dce565b969995985093965092949392505050565b600080600060608486031215614fec57600080fd5b8335614ff781614c30565b9250602084013561500781614c30565b929592945050506040919091013590565b80600b0b8114610c0b57600080fd5b6000806000806080858703121561503d57600080fd5b843561504881614c30565b9350602085013561505881614c30565b9250604085013561506881614c30565b9150606085013561507881615018565b939692955090935050565b6000806040838503121561509657600080fd5b82356150a181614c30565b915060208301356150b181614c30565b809150509250929050565b60008060008060008060a087890312156150d557600080fd5b86356150e081614c30565b955060208701356150f081614c30565b9450604087013561510081614c30565b9350606087013561511081615018565b925060808701356001600160401b0381111561512b57600080fd5b61513789828a01614dce565b979a9699509497509295939492505050565b60008060008060008060a0878903121561516257600080fd5b863561516d81614c30565b9550602087013561517d81614c30565b9450604087013561518d81614c30565b93506060870135925060808701356001600160401b0381111561512b57600080fd5b600080600080606085870312156151c557600080fd5b84356151d081614c30565b93506020850135614e4081614c30565b600080600080608085870312156151f657600080fd5b843561520181614c30565b9350602085013561521181614c30565b9250604085013561522181614c30565b9396929550929360600135925050565b63ffffffff81168114610c0b57600080fd5b80600f0b8114610c0b57600080fd5b600080600083850360a081121561526857600080fd5b843561527381614c30565b93506060601f198201121561528757600080fd5b50615290614cce565b602085013561529e81615231565b815260408501356152ae81615243565b60208201526060850135604082015291506080840135614c8581615231565b805161346c81614c30565b6000602082840312156152ea57600080fd5b815161053f81614c30565b60006020828403121561530757600080fd5b815161053f81614d43565b634e487b7160e01b600052600160045260246000fd5b60008151808452602080850194506020840160005b838110156153595781518752958201959082019060010161533d565b509495945050505050565b8281526040602082015260006105536040830184615328565b82151581526040602082015260006105536040830184614e97565b6000806000606084860312156153ad57600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156153d857600080fd5b5051919050565b6001600160a01b038881168252600b88810b602084015287810b604084015286810b6060840152908516608083015283900b60a082015260e060c082018190526000906121f990830184614e97565b60018060a01b03851681528360208201528260408201526080606082015260006145656080830184614e97565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820182811260008312801582168215821617156154a7576154a7615471565b505092915050565b6000602082840312156154c157600080fd5b815161053f81615018565b600b81810b9083900b016b7fffffffffffffffffffffff81136b7fffffffffffffffffffffff1982121715611af257611af2615471565b60006001600160401b0382111561551c5761551c614c90565b5060051b60200190565b600082601f83011261553757600080fd5b8151602061554c61554783615503565b614d13565b8083825260208201915060208460051b87010193508684111561556e57600080fd5b602086015b8481101561558a5780518352918301918301615573565b509695505050505050565b6000602082840312156155a757600080fd5b81516001600160401b038111156155bd57600080fd5b61055384828501615526565b60018060a01b038416815282602082015260606040820152600061457f6060830184615328565b805160ff8116811461346c57600080fd5b80516001600160e01b03198116811461346c57600080fd5b600082601f83011261562a57600080fd5b81516001600160401b0381111561564357615643614c90565b615656601f8201601f1916602001614d13565b81815284602083860101111561566b57600080fd5b610553826020830160208701614e73565b60006020828403121561568e57600080fd5b81516001600160401b03808211156156a557600080fd5b9083019061016082860312156156ba57600080fd5b6156c2614cf0565b6156cb836155f0565b81526156d9602084016155f0565b6020820152604083015160408201526156f4606084016152cd565b606082015261570560808401615601565b608082015260a08301518281111561571c57600080fd5b61572887828601615619565b60a08301525060c083015160c082015260e083015160e082015261010091508183015182820152610120915061575f8284016152cd565b8282015261014091506157738284016152cd565b91810191909152949350505050565b60006020828403121561579457600080fd5b815161053f81615231565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b634e487b7160e01b600052601260045260246000fd5b6000826157ed576157ed6157c8565b600160ff1b82146000198414161561580757615807615471565b500590565b81810381811115611af257611af2615471565b60006080828403121561583157600080fd5b604051608081018181106001600160401b038211171561585357615853614c90565b604052825161586181614f47565b8152602083015161587181615231565b6020820152604083015161588481615018565b60408201526060928301519281019290925250919050565b600081830360808112156158af57600080fd5b6158b7614ca6565b83516158c281615243565b81526060601f19830112156158d657600080fd5b6158de614cce565b915060208401516158ee81615231565b825260408401516158fe81615243565b6020838101919091526060949094015160408301529283015250919050565b600f82810b9082900b0360016001607f1b0319811260016001607f1b0382131715611af257611af2615471565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715611af257611af2615471565b60208082526026908201527f53616665436173743a2076616c756520646f65736e27742066697420696e203960408201526536206269747360d01b606082015260800190565b80820260008212600160ff1b841416156159d9576159d9615471565b8181058314821517611af257611af2615471565b87815260e060208201526000615a0660e0830189614e97565b6001600160a01b03978816604084015295151560608301525092909416608083015260a082015260c0019190915292915050565b60008251615a4c818460208701614e73565b9190910192915050565b60008060408385031215615a6957600080fd5b82516001600160401b0380821115615a8057600080fd5b818501915085601f830112615a9457600080fd5b81516020615aa461554783615503565b82815260059290921b84018101918181019089841115615ac357600080fd5b948201945b83861015615aea578551615adb81615231565b82529482019490820190615ac8565b91880151919650909350505080821115615b0357600080fd5b50615b1085828601615526565b9150509250929050565b600082600f0b82600f0b0280600f0b9150808214615b3a57615b3a615471565b5092915050565b600081600f0b60016001607f1b03198103615b5e57615b5e615471565b60000392915050565b8181036000831280158383131683831282161715615b3a57615b3a615471565b600082615b9657615b966157c8565b500490565b63ffffffff828116828216039080821115615b3a57615b3a615471565b6000600160ff1b8201615bcd57615bcd615471565b5060000390565b600081600f0b83600f0b80615beb57615beb6157c8565b60016001607f1b0319821460001982141615615c0957615c09615471565b9005939250505056fea264697066735822122065be51e27d087a311086fb0abcb5a478d8bab62279d9544903dd6d4dbfbf183e64736f6c63430008170033";
19
+ static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162005dd338038062005dd3833981016040819052620000349162000065565b6001600160a01b039182166080521660a052620000a4565b6001600160a01b03811681146200006257600080fd5b50565b600080604083850312156200007957600080fd5b825162000086816200004c565b602084015190925062000099816200004c565b809150509250929050565b60805160a051615cdf620000f46000396000818161040b0152612516015260008181610c7601528181610d5401528181610f9c0152818161368e0152818161389d01526139c20152615cdf6000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806352d1902d1161010f5780639b2e48bc116100a2578063e8e7e2d111610071578063e8e7e2d11461052e578063eccfc6a514610541578063f0b7b91514610554578063fa48736d1461056757600080fd5b80639b2e48bc146104c7578063c782eb9c146104f5578063d2c0d54214610508578063e6a1e8881461051b57600080fd5b80636d1007a6116100de5780636d1007a6146104735780637730599e146104865780637b2cc0da146104ac5780639903ad38146104bf57600080fd5b806352d1902d146103f05780635437dd97146104065780635a6c6dbc1461042d5780635cfd50d71461044057600080fd5b80633fd4176a116101875780634d5c91ec116101565780634d5c91ec1461037e5780634e9ced57146103ab5780634fe9c291146103be57806350d75d25146103e857600080fd5b80633fd4176a146103185780634543b7451461033357806346951954146103565780634b839e0b1461036b57600080fd5b806330925b79116101c357806330925b791461029c57806337bd42e0146102af578063398c74e1146102ea5780633c56f090146102fd57600080fd5b80630735d750146101f55780630779d365146102205780630f1ac4951461024b57806310dc87921461027c575b600080fd5b610208610203366004614d6f565b61057a565b604051600b9190910b81526020015b60405180910390f35b61023361022e366004614e37565b6105a0565b6040516001600160a01b039091168152602001610217565b61025e610259366004614ed1565b6105b5565b60408051938452600b9290920b602084015290820152606001610217565b61028f61028a366004614f4b565b61060d565b6040516102179190614fff565b61028f6102aa366004615012565b61095a565b6102c26102bd366004615066565b610969565b604080516001600160a01b0390941684526020840192909252600b0b90820152606001610217565b61028f6102f8366004615098565b610a0a565b61023373__$fb8a7211f6e0fb144ea3d242e9f7f2eec2$__81565b61023373__$97ed594b3f931187fb739dcb88a7dff641$__81565b610346610341366004615113565b610c03565b6040519015158152602001610217565b610369610364366004615066565b610c6b565b005b610346610379366004615113565b610cc0565b61039161038c366004615163565b610dd7565b60408051600b93840b81529190920b602082015201610217565b6102086103b9366004615066565b610ef6565b6103d16103cc366004614ed1565b610f97565b604080519215158352602083019190915201610217565b610233611032565b6103f8611061565b604051908152602001610217565b6102337f000000000000000000000000000000000000000000000000000000000000000081565b61028f61043b3660046151bf565b6110c5565b61045361044e366004614ed1565b611837565b604080519485526020850193909352918301526060820152608001610217565b61028f61048136600461524c565b611859565b7fdfd8ece9bfbcb8c5c540edb935641f63d67686490a1ab97f000288759f30a9466103f8565b6103466104ba366004614ed1565b611b74565b610369611b89565b6104da6104d5366004615113565b611c97565b60408051938452602084019290925290820152606001610217565b610346610503366004614ed1565b611ee3565b61028f6105163660046152b2565b611f51565b61025e610529366004614d6f565b6120a5565b61020861053c366004614ed1565b6120dd565b6103f861054f3660046152e3565b612264565b61028f610562366004615012565b6122cf565b610346610575366004615346565b6122de565b6000806105908561058b8686612377565b6123e7565b60200151925050505b9392505050565b60006105ad8484846124ae565b949350505050565b604080516001600160a01b03841660208201526000918291829182916105eb910160405160208183030381529060405286612740565b6020810151815160409092015163ffffffff9091169891975095509350505050565b60606000856001600160a01b0316632b4116f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067391906153f0565b905060006106b78286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506127ff92505050565b905060008160600151905085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093975061070892508691508b9050846129c3565b90508015158815151461094e57604083810151905163d877ec8760e01b81526001600160a01b0384811660048301528a1515602483015263ffffffff9092166044820152908a169063d877ec87906064016020604051808303816000875af1158015610778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079c919061540d565b6107a8576107a861542a565b87156108605760006107c485846001600160a01b038d166129d1565b9050846001600160a01b03166312a6a3f86107df858d612a70565b61080b60405180604001604052808f6001600160a01b031681526020018663ffffffff16815250612ac0565b6040518363ffffffff1660e01b815260040161082892919061547c565b600060405180830381600087803b15801561084257600080fd5b505af1158015610856573d6000803e3d6000fd5b50505050506108f2565b600061086d85848c612b27565b915050846001600160a01b03166327048397610889858d612a70565b6040516001600160e01b031960e084901b168152600481019190915260016024820152604401600060405180830381600087803b1580156108c957600080fd5b505af11580156108dd573d6000803e3d6000fd5b505050506108f085848360200151612c01565b505b816001600160a01b0316896001600160a01b0316856001600160a01b03167ff357a2e6919da4efedb0301baf1caaed2bca70b115b913f9add41bbefc75c9b38b8760a00151604051610945929190615495565b60405180910390a45b50505050949350505050565b60606105ad846000858561060d565b60008060006109fd846001600160a01b0316632b4116f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d391906153f0565b604080516001600160a01b0390921660208301520160405160208183030381529060405285612c8c565b9250925092509193909250565b6060856001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6e91906153f0565b6001600160a01b0316610b18876001600160a01b0316632b4116f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adc91906153f0565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506127ff92505050565b606001516001600160a01b031614610b4357604051633a87e56560e01b815260040160405180910390fd5b82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051631b16777760e01b81526001600160a01b0389811660048301526001600160801b038916602483015293945092891692631b167777925060440190506020604051808303816000875af1158015610bd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf9919061540d565b5095945050505050565b6000610c0f8433612d1d565b1515600003610c31576040516390028c3760e01b815260040160405180910390fd5b604080516001600160a01b0386166020820152610c609101604051602081830303815290604052338585612dca565b506001949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cb457604051630b00ec8f60e11b815260040160405180910390fd5b610cbd81612e30565b50565b604051633acd4df360e21b81526001600160a01b03838116600483015260248201839052600091829186169063eb3537cc90604401606060405180830381865afa158015610d12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3691906154b0565b5050905060008112610d4c576001915050610599565b600080610d797f000000000000000000000000000000000000000000000000000000000000000088613038565b91509150610dcc83610dc5610dbc8a604051602001610da791906001600160a01b0391909116815260200190565b6040516020818303038152906040528a612740565b60400151613156565b84846131c4565b979650505050505050565b604080516001600160a01b0386166020820152600091829182910160405160208183030381529060405290506000610e0f8787612377565b90506000610e1d8389613212565b90506000610e3a60405180602001604052806000815250896132be565b90506000610e488585613335565b9050600080610e5684613365565b9050600080610e688c600b0b8661337f565b90506000610e768a8f61338b565b905042610e9088610e8785856133a5565b8b9190846133b1565b919a5098509350610eb3610ead88610ea8878961337f565b6133a5565b8361337f565b9550610ec186600f0b613480565b9c50610ecf84600f0b613480565b9b5060008d600b0b1215610ee25760009c505b505050505050505050505094509492505050565b600080826001600160a01b0316632b4116f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5b91906153f0565b604080516001600160a01b038316602082015291925061059991610f8f91016040516020818303038152906040528561338b565b600f0b613480565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101c91906154de565b9050611029848483610cc0565b91509250929050565b600061105c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105c91906154de565b60606110d18786612d1d565b15156000036110f3576040516390028c3760e01b815260040160405180910390fd5b600084600b0b1215611118576040516315f2566360e01b815260040160405180910390fd5b611120614c9b565b6111608885858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506127ff92505050565b815261116c8787612377565b6020828101918252604080516001600160a01b038c1681840152815180820390930183528101905290516111a09190613335565b600f0b60408083019190915280516020601f86018190048102820181019092528481529085908590819084018382808284376000920182905250939550505050600b86900b1380156112515750856001600160a01b031663cb8599f06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561122b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124f919061540d565b155b156112f1578060000151606001516001600160a01b0316866001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ca91906153f0565b6001600160a01b0316146112f157604051637761a5e560e01b815260040160405180910390fd5b604080516001600160a01b038a166020820152600091829161133691016040516020818303038152906040528a8a86602001518b600b0b8860000151604001516134a9565b92509250508260000151606001516001600160a01b0316896001600160a01b0316146114d157600087600b0b131561138157604051637b3e931f60e11b815260040160405180910390fd5b82516040908101519051633acd4df360e21b81526001600160a01b038b8116600483015260248201929092526000918c169063eb3537cc90604401606060405180830381865afa1580156113d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fd91906154b0565b50506040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091529091506001600160a01b03808d168083528c8216604080850191909152875160609081015190931660a08501526020808901519385019390935280519283019190915261149291610dbc91016040516020818303038152906040528d612740565b60808201526020810182905260008212156114b5576114b08161365c565b6114ce565b60405163666f381d60e01b815260040160405180910390fd5b50505b6114e28a898b866020015186613899565b8260000151606001516001600160a01b0316896001600160a01b0316036115b65782516040908101519051633acd4df360e21b81526001600160a01b038b8116600483015260248201929092526000918c169063eb3537cc90604401606060405180830381865afa15801561155b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157f91906154b0565b50509050600088600b0b1380156115965750600081125b156115b4576040516333115c3f60e01b815260040160405180910390fd5b505b60006115c18b613c31565b90506001600160a01b0381161561175d57600088600b0b1380156115ea57506040840151600f0b155b1561165b5760405163f7e3d98360e01b81526001600160a01b038c811660048301528b811660248301528a8116604483015282169063f7e3d98390606401600060405180830381600087803b15801561164257600080fd5b505af1158015611656573d6000803e3d6000fd5b505050505b600088600b0b138015611675575060008460400151600f0b135b156116e6576040516375aa53e560e11b81526001600160a01b038c811660048301528b811660248301528a8116604483015282169063eb54a7ca90606401600060405180830381600087803b1580156116cd57600080fd5b505af11580156116e1573d6000803e3d6000fd5b505050505b87600b0b60000361175d5760405163ef1f023760e01b81526001600160a01b038c811660048301528b811660248301528a8116604483015282169063ef1f023790606401600060405180830381600087803b15801561174457600080fd5b505af1158015611758573d6000803e3d6000fd5b505050505b50604080516001600160a01b038c166020820152600091829161179091016040516020818303038152906040528b612c8c565b92505091508a6001600160a01b03168a6001600160a01b03168d6001600160a01b03167fc4bd0e4bfe3a83cbd5a7a71bb33bcb6bed9e0c24d710f3fb51c85caf1cd3af368860000151606001516117ed8a60400151600f0b613480565b6117f98a600f0b613480565b6118058a600f0b613480565b8c5160a0015160405161182095949392918c918c91906154f7565b60405180910390a450505050509695505050505050565b600080600080611848868642611c97565b919890975090955042945092505050565b6060600061189d8885858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506127ff92505050565b905083838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294506118e592508a9150889050612d1d565b1515600003611907576040516390028c3760e01b815260040160405180910390fd5b856001600160a01b031663cb8599f06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611945573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611969919061540d565b611a045780606001516001600160a01b0316866001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119dd91906153f0565b6001600160a01b031614611a0457604051637761a5e560e01b815260040160405180910390fd5b80606001516001600160a01b0316876001600160a01b031614611a3a57604051637b3e931f60e11b815260040160405180910390fd5b604080516001600160a01b038a166020820152600091611a789101604051602081830303815290604052836060015189611a738a613156565b613ce0565b6040516379359f6f60e01b81526001600160a01b038b81166004830152919350908b1691506379359f6f90602401602060405180830381865afa158015611ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ae7919061540d565b15611b05576040516333115c3f60e01b815260040160405180910390fd5b876001600160a01b0316876001600160a01b03168a6001600160a01b03167f6e8348961b299f365797c30cd18a91284b046858689eeb6150a5ba432fe6583e85606001518a868860a00151604051611b609493929190615546565b60405180910390a450509695505050505050565b6000611b808383612d1d565b90505b92915050565b600054610100900460ff1615808015611ba95750600054600160ff909116105b80611bc35750303b158015611bc3575060005460ff166001145b611c2b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611c4e576000805461ff0019166101001790555b8015610cbd576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b604080516001600160a01b0385166020820152600091829182918291611ccd910160405160208183030381529060405287612740565b9050611cd98787612d1d565b15611d53576040516336062c1560e11b815263ffffffff861660048201526001600160a01b03871690636c0c582a90602401602060405180830381865afa158015611d28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4c91906154de565b9350611da0565b611d9d85611d978360408051606081018252600080825260208083018281529383019182528451600b0b9093529183015163ffffffff168152608090920151905290565b90613d59565b93505b6000806000611daf8a8a613d87565b9150915060005b8251811015611eb4576000828281518110611dd357611dd3615573565b602002602001015160001c9050600080611dee8e8e85612b27565b9150915081611dff57611dff61542a565b826001600160a01b031681600001516001600160a01b031614611e2457611e2461542a565b604051637d6c008d60e01b81526001600160a01b038e8116600483015263ffffffff8e166024830152841690637d6c008d90604401602060405180830381865afa158015611e76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9a91906154de565b611ea4908861559f565b9650505050806001019050611db6565b5050508085611ec3919061559f565b9450611ed28260400151613156565b935060009250505093509350939050565b6000611b80836001600160a01b0316632b4116f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4a91906153f0565b84846129c3565b6060611ff4856001600160a01b0316632b4116f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb891906153f0565b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506127ff92505050565b5082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516377329f3560e01b81526001600160a01b038881166004830152939450928816926377329f35925060240190506020604051808303816000875af1158015612078573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209c919061540d565b50949350505050565b6000806000806120b98761058b8888612377565b8051602082015160409092015163ffffffff9091169a919950975095505050505050565b604080516001600160a01b038416602082015260009161211c91610f8f91612115910160405160208183030381529060405285613212565b6020015190565b90506121288383612d1d565b1561219c57816001600160a01b031663a94ff3406040518163ffffffff1660e01b8152600401602060405180830381865afa15801561216b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218f91906155c7565b61219990826155e4565b90505b6000806121a98585613d87565b9150915060005b825181101561225b5760008282815181106121cd576121cd615573565b60209081029190910101516040516314e7a30760e21b81526001600160a01b0388811660048301529192509082169063539e8c1c90602401602060405180830381865afa158015612222573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224691906155c7565b61225090866155e4565b9450506001016121b0565b50505092915050565b604080516001600160a01b038616602082015260009182910160408051601f19818403018152602083019091526000808352909250906122c2906122a890876132be565b6122b186613156565b6122bb858a613212565b9190613e11565b9998505050505050505050565b60606105ad846001858561060d565b60006122ea8433612d1d565b151560000361230c576040516390028c3760e01b815260040160405180910390fd5b604080516001600160a01b0386166020820152600091016040516020818303038152906040529050612352813361234d876123478633613212565b90613e65565b613f08565b5061236b81336001612365886020015190565b87613fa9565b50600195945050505050565b604080514660208201526080918101829052601060a08201526f646973747269627574696f6e466c6f7760801b60c08201526001600160a01b03808516606083015283169181019190915260009060e0015b60405160208183030381529060405280519060200120905092915050565b60408051606081018252600080825260208201819052918101829052604051636c2d9f2f60e01b815230600482015260248101849052600160448201526124a3906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015612459573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261248191908101906156ad565b60008151811061249357612493615573565b602002602001015160001c614050565b909590945092505050565b60006001600160a01b0383166124d7576040516382c5d83760e01b815260040160405180910390fd5b6124e18484612d1d565b156124ff57604051634d5c451360e11b815260040160405180910390fd5b6040516357677fc760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015280851660248301528516604482015282511515606482015260208301511515608482015273__$fb8a7211f6e0fb144ea3d242e9f7f2eec2$__9063aeceff8e9060a401602060405180830381865af415801561259c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c091906153f0565b6040805160018082528183019092529192506000919060208083019080368337019050509050600160001b816000815181106125fe576125fe615573565b602090810291909101015260405163048620af60e11b81526001600160a01b0386169063090c415e9061263a90859060009086906004016156e1565b600060405180830381600087803b15801561265457600080fd5b505af1158015612668573d6000803e3d6000fd5b505050506000612677866140a5565b90506001600160a01b038116156126f25760005a6040516335313c2160e11b81526001600160a01b03868116600483015291925090831690636a62784290602401600060405180830381600087803b1580156126d257600080fd5b505af19250505080156126e3575060015b6126f0576126f0816140eb565b505b6040516001600160a01b03848116825280871691908816907f9c5d829b9b23efc461f9aeef91979ec04bb903feb3bee4f26d22114abfc7335b9060200160405180910390a350509392505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526105ad8380602001905181019061278291906153f0565b6001600160a01b0316634b61cc333085600060026040518563ffffffff1660e01b81526004016127b59493929190615708565b600060405180830381865afa1580156127d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526127fa91908101906156ad565b614112565b612807614cc2565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa15801561284f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061287391906153f0565b6001600160a01b0316146128bd5760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b6044820152606401611c22565b604051632fd0a1cd60e21b8152339063bf428734906128e0908590600401614fff565b602060405180830381865afa1580156128fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612921919061540d565b61295b5760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b6044820152606401611c22565b604051631fb6491d60e11b81523390633f6c923a9061297e908590600401614fff565b600060405180830381865afa15801561299b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8091908101906157bd565b600080610bf9858486612b27565b604051630a32470160e41b81526001600160a01b0380851660048301528316602482015260016044820152600160801b60648201526084810182905260009073__$97ed594b3f931187fb739dcb88a7dff641$__9063a32470109060a401602060405180830381865af4158015612a4c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ad91906158c3565b604080514660208201526080918101829052600a60a0820152693837b7b626b2b6b132b960b11b60c08201526001600160a01b03808516606083015283169181019190915260009060e0016123c9565b6040805160018082528183019092526060916020808301908036833701905050905081600001516001600160a01b031660a0836020015163ffffffff16901b1760001b81600081518110612b1657612b16615573565b602002602001018181525050919050565b6040805180820190915260008082526020820181905290612bf5856001600160a01b0316636c2d9f2f30612b5b8888612a70565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260016044820152606401600060405180830381865afa158015612bab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612bd391908101906156ad565b600081518110612be557612be5615573565b602002602001015160001c6141de565b90969095509350505050565b604051631528e57f60e31b81526001600160a01b038085166004830152831660248201526001604482015263ffffffff8216606482015273__$97ed594b3f931187fb739dcb88a7dff641$__9063a9472bf89060840160006040518083038186803b158015612c6f57600080fd5b505af4158015612c83573d6000803e3d6000fd5b50505050505050565b6000806000836001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ccf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf391906153f0565b9250612cff848461421c565b91508282612d10610f8f8886613335565b9250925092509250925092565b600060e080846001600160a01b0316634b61cc333086600060016040518563ffffffff1660e01b8152600401612d569493929190615708565b600060405180830381865afa158015612d73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d9b91908101906156ad565b600081518110612dad57612dad615573565b602002602001015160001c901b901c600116600114905092915050565b6060826001600160a01b0316846001600160a01b031603612dec5750836105ad565b6000612df88686613212565b90506000612e068786613212565b9050612e13828286614274565b9092509050612e23878784613f08565b9650610dcc878683613f08565b6000612e5a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603612eb05760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611c22565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612eee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f1291906154de565b612f1a611061565b14612f735760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611c22565b6001600160a01b0381163003612fcb5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611c22565b612ff3817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc61301c611061565b604080519182526001600160a01b038416602083015201611c8c565b6000806000846001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561307b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061309f91906153f0565b60405163407b865d60e11b81526001600160a01b03878116600483015286811660248301527fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f7860448301529192506000918316906380f70cba90606401602060405180830381865afa158015613119573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061313d91906154de565b63ffffffff602082901c81169891169650945050505050565b60006001600160ff1b038211156131c05760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401611c22565b5090565b6000836000036131d6575060006105ad565b60006131e2858761559f565b905060006131f085876158f6565b90506131fc8486615924565b61320682846158f6565b13979650505050505050565b6040805160608101825260008082526020820181905291810191909152600061327b8480602001905181019061324891906153f0565b6001600160a01b0316634b61cc333086600060026040518563ffffffff1660e01b81526004016127b59493929190615708565b9150506105ad8160408051606081018252600080825260208083018281529383019182528451600b0b9093529183015163ffffffff168152608090920151905290565b6132c6614d1d565b6000826001600160a01b031663de7b54d96040518163ffffffff1660e01b8152600401608060405180830381865afa158015613306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061332a9190615937565b90506105ad816142d2565b6000806133558480602001905181019061334f91906153f0565b846123e7565b60200151600b0b95945050505050565b80516020808301510151600091611b8391600f0b90614344565b6000611b8082846159b4565b6000806133988484612c8c565b600b0b9695505050505050565b6000611b8082846159e1565b60408051606081018252600080825260208201819052918101919091526133d6614d1d565b604080516060808201835260008083526020808401829052838501829052845180840186528281528082018390528086018390528551938401865282845290830182905293820181905292908361342c8a613365565b90506134478a61343e83600f0b614350565b8691908b61435b565b5090935061345b90508a61343e838c6133a5565b90975095509150613470826123478d86613e65565b9650505050509450945094915050565b80600b81900b81146134a45760405162461bcd60e51b8152600401611c2290615a0e565b919050565b6060600080866001600160a01b0316886001600160a01b0316036134cf576134cf61542a565b60006134db8a8a613212565b905060006134e98b8a613212565b905060006134f78c8b6132be565b60408051606081018252600080825260208201819052918101919091529091506135218d8c61338b565b600f0b815260006135328e8c613335565b9050600061353f84613365565b9050600061354d8c8461337f565b905061356a856135618387600001516133a5565b8891908e6133b1565b995090965094506000600f89900b12156135865761358661542a565b61359e61359784610ea88b8661337f565b855161337f565b9850600089600f0b126135b757600060208501526135d0565b6135c389600f0b614350565b600f0b6020850152600098505b6135da898461337f565b600f0b604085018190526135f290889088908e6143c7565b80975081985050505050506136088d8d86613f08565b9c506136158d8c85613f08565b9c506136228d8c84614496565b9c506136368d8b8e8e8a8660400151614546565b9c506136488d8c83602001518b614619565b9d959c50939a509398505050505050505050565b6000613670826000015183606001516123e7565b91505060006136828260400151613156565b905060008060006136b77f00000000000000000000000000000000000000000000000000000000000000008760000151613038565b915091506136cf8660200151876080015184846131c4565b925050506000846080015185602001516136e9919061559f565b9050600081126137dc5760808501516000906137058386615a54565b61370f91906158f6565b905085600001516001600160a01b0316631863e809876060015160028661373757600161373a565b60005b6040805160ff938416602082015292909116908201526060016040516020818303038152906040528960a00151878b6040015161377688614632565b61378289600019615a54565b6040518863ffffffff1660e01b81526004016137a49796959493929190615a84565b600060405180830381600087803b1580156137be57600080fd5b505af11580156137d2573d6000803e3d6000fd5b5050505050613892565b8451606080870151604080516002602082018190529181019190915286936001600160a01b031692631863e8099291016040516020818303038152906040528960a0015160008b6040015161383088614632565b61383c8a600019615a54565b6040518863ffffffff1660e01b815260040161385e9796959493929190615a84565b600060405180830381600087803b15801561387857600080fd5b505af115801561388c573d6000803e3d6000fd5b50505050505b5050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156138f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061391d91906153f0565b60405163407b865d60e11b81523360048201526001600160a01b0388811660248301527feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc460448301529192506000918316906380f70cba90606401602060405180830381865afa158015613995573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139b991906154de565b905060006139e77f000000000000000000000000000000000000000000000000000000000000000089613038565b50905060006139f689876123e7565b915060009050613a0a600f87900b84614684565b905083613a1682614632565b108015613a265750600086600f0b135b15613a3757613a3484613156565b90505b6000613a4f82613a4a8560400151613156565b61469a565b90506000613a8960405180606001604052804263ffffffff168152602001613a798b600f0b613480565b600b0b81526020018590526146a6565b60405163a1b2bf8b60e01b81529091506001600160a01b038d169063a1b2bf8b90613aba908c90859060040161547c565b600060405180830381600087803b158015613ad457600080fd5b505af1158015613ae8573d6000803e3d6000fd5b50505050506000613b278c604051602001613b1291906001600160a01b0391909116815260200190565b6040516020818303038152906040528b612740565b9050613b4982613b3a8360400151613156565b613b44919061559f565b614632565b60408201526001600160a01b038c1663090c415e8b6000613b6985614706565b6040518463ffffffff1660e01b8152600401613b87939291906156e1565b600060405180830381600087803b158015613ba157600080fd5b505af1158015613bb5573d6000803e3d6000fd5b50505050896001600160a01b03168b6001600160a01b03168d6001600160a01b03167f589f74ba61521b98a96e2f65e02028ca5af0c5990e3d9536176b37ee6b62013785613c0288614632565b6040808801518151938452602084019290925282015260600160405180910390a4505050505050505050505050565b60408051600481526024810182526020810180516001600160e01b03166377a1e96360e11b1790529051600091829182916001600160a01b03861691613c779190615ad1565b600060405180830381855afa9150503d8060008114613cb2576040519150601f19603f3d011682016040523d82523d6000602084013e613cb7565b606091505b50915091508115613cd95780806020019051810190613cd691906153f0565b92505b5050919050565b60606000836001600160a01b0316856001600160a01b031603613d0557613d0561542a565b6000613d118787613212565b90506000613d1f88876132be565b9050613d2c828287613e11565b94509092509050613d3e888884613f08565b9750613d4b888783614496565b989297509195505050505050565b6000611b80613d7d613d6f8486600001516147b1565b6020860151600f0b90614684565b84604001516147bd565b60608073__$97ed594b3f931187fb739dcb88a7dff641$__6306967a8c85856001600160801b6040518563ffffffff1660e01b8152600401613dcc9493929190615708565b600060405180830381865af4158015613de9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124a39190810190615aed565b6040805160608101825260008082526020820181905291810191909152613e36614d1d565b6000613e4285856147c9565b9092509050613e5a613e538261482b565b8790614836565b925093509350939050565b60408051606081018252600080825260208201819052918101919091528151835160009163ffffffff908116911611613e9f578251613ea2565b83515b90506000613eb08583614877565b90506000613ebe8584614877565b63ffffffff8416855260408084015190820151919250613edd916147bd565b604085015260208083015190820151613ef691906133a5565b600f0b60208501525091949350505050565b60606000613f168585612740565b905084806020019051810190613f2c91906153f0565b6001600160a01b031663090c415e856000613f5087866040015187606001516148bd565b6040518463ffffffff1660e01b8152600401613f6e939291906156e1565b600060405180830381600087803b158015613f8857600080fd5b505af1158015613f9c573d6000803e3d6000fd5b5096979650505050505050565b60606000856001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa158015613feb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061400f91906153f0565b9050600061401d878361421c565b905085156140365761403385610ea88a84613335565b94505b61404488888484898961497c565b98975050505050505050565b604080516060810182526000808252602082018190529181018290528215801592506140a05760c083901c63ffffffff168152606083901c600b0b60208201526001600160601b03831660408201525b915091565b60408051600481526024810182526020810180516001600160e01b0316632c836c6b60e21b1790529051600091829182916001600160a01b03861691613c779190615ad1565b6140f481614a18565b15610cbd576040516320afada560e01b815260040160405180910390fd5b6040805160a081018252600080825260208201819052918101829052606081018290526080810182905260008360008151811061415157614151615573565b602002602001015160001c905060008460018151811061417357614173615573565b602002602001015160001c9050600082118061418f5750600081115b935083156141d75760a082901d600b0b8352608082811c63ffffffff1660208086019190915283901c6001600160601b03166040850152600180841614606085015283018190525b5050915091565b60408051808201909152600080825260208201528115801591906140a0576001600160a01b038316815260a09290921c63ffffffff16602083015291565b604080514660208201526080918101829052601260a082015271706f6f6c41646a7573746d656e74466c6f7760701b60c08201526001600160a01b03808516606083015283169181019190915260009060e0016123c9565b60408051606080820183526000808352602080840182905283850182905284519283018552818352820181905292810192909252906142bc6142b58461482b565b8690614836565b91506142c88484614836565b9050935093915050565b6142da614d1d565b60405180604001604052806142f28460000151614a2e565b600f0b815260408051606080820183526000808352602080840182905292840152825180820184528783015163ffffffff16815287840151600b0b818401529601519186019190915201929092525090565b6000611b808284615bb1565b6000611b8382615bd8565b6040805160608101825260008082526020820181905291810191909152614380614d1d565b6000614396856143908887614a4a565b90614a78565b90925090506143bb6143ab600f83900b614350565b6143b58987614877565b90614adb565b92509450945094915050565b60408051606080820183526000808352602080840182905283850182905284518084018652828152808201839052808601839052855180850187528381528083018490528087018490528651808601885284815280840185905280880185905287519586018852848652858401859052968501939093529088015193949093919290916144648961445b600f84900b614350565b8691908a614b12565b5092506144758961445b838b6133a5565b95509150614487826123478c86613e65565b95505050505094509492505050565b60408051634a0d910160e01b81528251600f90810b6004830152602080850151805163ffffffff1660248501529081015190910b60448301529091015160648201526060906001600160a01b03841690634a0d9101906084016020604051808303816000875af115801561450e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614532919061540d565b61453e5761453e61542a565b509192915050565b606060008780602001905181019061455e91906153f0565b9050600061456c82896123e7565b915050816001600160a01b031663a1b2bf8b896145ba60405180606001604052804263ffffffff1681526020016145a58b600f0b613480565b600b0b815260200186604001518152506146a6565b6040518363ffffffff1660e01b81526004016145d792919061547c565b600060405180830381600087803b1580156145f157600080fd5b505af1158015614605573d6000803e3d6000fd5b5050505088925050505b9695505050505050565b6060614629858560008686613fa9565b95945050505050565b6000808212156131c05760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152606401611c22565b6000611b8063ffffffff8316600f85900b615a54565b6000611b808284615bfe565b604080516001808252818301909252606091602080830190803683370190505090508160400151606083602001516001600160601b0316901b60c0846000015163ffffffff16901b171760001b81600081518110612b1657612b16615573565b60408051600280825260608083018452926020830190803683370190505090508160600151614736576000614739565b60015b60ff16602061474b8460400151614b80565b6001600160601b0316901b6080846020015163ffffffff16901b60a08560000151600b0b901b17171760001b8160008151811061478a5761478a615573565b602002602001018181525050816080015160001b81600181518110612b1657612b16615573565b6000611b808284615c1e565b6000611b80828461559f565b6147d1614d1d565b60006147dc84614ba9565b8451909250600f0b156148245783516147ff906147f98582614bd0565b90614be0565b845190915061481e90614813908390614bd0565b602086015190614836565b60208301525b9250929050565b6000611b8382615c3b565b604080516060810182526000808252602082018190529181019190915261485c83614bf0565b905061486c8160400151836147bd565b604082015292915050565b604080516060810182526000808252602082018190529181019190915261489d83614bf0565b90506148a98383613d59565b604082015263ffffffff9091168152919050565b6040805160028082526060808301845292602083019080368337019050509050816148e95760006148ec565b60015b60ff1660206148fa85614b80565b6001600160601b0316901b608061490f875190565b63ffffffff16901b60a0614924886020015190565b600f0b901b17171760001b8160008151811061494257614942615573565b602002602001018181525050836040015160001b8160018151811061496957614969615573565b6020026020010181815250509392505050565b6060846001600160a01b0316866001600160a01b03160361499e57508561460f565b60006149b3846149ae8a88613335565b61337f565b905060006149c18989613212565b905060006149cf8a89613212565b90506149dd828285886143c7565b90925090506149ed8a8a84613f08565b99506149fa8a8983613f08565b9950614a0a8a888b8b8a88614546565b9a9950505050505050505050565b6000614a25604083615c57565b5a111592915050565b6000611b83614a45836001600160801b0316613156565b614c2b565b614a52614d1d565b614a5b83614ba9565b6020810151909150614a6d9083614877565b602082015292915050565b614a80614d1d565b6000614a8b84614ba9565b8451909250600f0b15614824578351614ab590614aac600f86900b82614c8f565b600f0b90614344565b905061481e614ad4856000015183600f0b614c8f90919063ffffffff16565b6020840151905b6040805160608101825260008082526020820181905291810191909152614b0183614bf0565b600f9290920b602083015250919050565b60408051606081018252600080825260208201819052918101919091526040805160608101825260008082526020820181905291810191909152614b65614b5b85600f0b614350565b6143b58886614877565b9150614b75846143b58786614877565b905094509492505050565b60006001600160601b038211156131c05760405162461bcd60e51b8152600401611c2290615a0e565b614bb1614d1d565b8151600f0b81526020820151614bc690614bf0565b6020820152919050565b6000611b80600f83900b846158f6565b6000611b80600f83900b84615a54565b6040805160608101825260008082526020808301828152838501928352855163ffffffff16845290850151600f0b9052929091015190915290565b80600f81900b81146134a45760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401611c22565b6000611b808284615c6b565b6040518060600160405280614cae614cc2565b815260006020820181905260409091015290565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b60405180604001604052806000600f0b8152602001614d55604080516060810182526000808252602082018190529181019190915290565b905290565b6001600160a01b0381168114610cbd57600080fd5b600080600060608486031215614d8457600080fd5b8335614d8f81614d5a565b92506020840135614d9f81614d5a565b91506040840135614daf81614d5a565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715614df357614df3614dba565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614e2157614e21614dba565b604052919050565b8015158114610cbd57600080fd5b60008060008385036080811215614e4d57600080fd5b8435614e5881614d5a565b93506020850135614e6881614d5a565b92506040603f1982011215614e7c57600080fd5b50604051604081018181106001600160401b0382111715614e9f57614e9f614dba565b6040908152850135614eb081614e29565b81526060850135614ec081614e29565b602082015292959194509192509050565b60008060408385031215614ee457600080fd5b8235614eef81614d5a565b91506020830135614eff81614d5a565b809150509250929050565b60008083601f840112614f1c57600080fd5b5081356001600160401b03811115614f3357600080fd5b60208301915083602082850101111561482457600080fd5b60008060008060608587031215614f6157600080fd5b8435614f6c81614d5a565b93506020850135614f7c81614e29565b925060408501356001600160401b03811115614f9757600080fd5b614fa387828801614f0a565b95989497509550505050565b60005b83811015614fca578181015183820152602001614fb2565b50506000910152565b60008151808452614feb816020860160208601614faf565b601f01601f19169290920160200192915050565b602081526000611b806020830184614fd3565b60008060006040848603121561502757600080fd5b833561503281614d5a565b925060208401356001600160401b0381111561504d57600080fd5b61505986828701614f0a565b9497909650939450505050565b60006020828403121561507857600080fd5b813561059981614d5a565b6001600160801b0381168114610cbd57600080fd5b6000806000806000608086880312156150b057600080fd5b85356150bb81614d5a565b945060208601356150cb81614d5a565b935060408601356150db81615083565b925060608601356001600160401b038111156150f657600080fd5b61510288828901614f0a565b969995985093965092949392505050565b60008060006060848603121561512857600080fd5b833561513381614d5a565b9250602084013561514381614d5a565b929592945050506040919091013590565b80600b0b8114610cbd57600080fd5b6000806000806080858703121561517957600080fd5b843561518481614d5a565b9350602085013561519481614d5a565b925060408501356151a481614d5a565b915060608501356151b481615154565b939692955090935050565b60008060008060008060a087890312156151d857600080fd5b86356151e381614d5a565b955060208701356151f381614d5a565b9450604087013561520381614d5a565b9350606087013561521381615154565b925060808701356001600160401b0381111561522e57600080fd5b61523a89828a01614f0a565b979a9699509497509295939492505050565b60008060008060008060a0878903121561526557600080fd5b863561527081614d5a565b9550602087013561528081614d5a565b9450604087013561529081614d5a565b93506060870135925060808701356001600160401b0381111561522e57600080fd5b600080600080606085870312156152c857600080fd5b84356152d381614d5a565b93506020850135614f7c81614d5a565b600080600080608085870312156152f957600080fd5b843561530481614d5a565b9350602085013561531481614d5a565b9250604085013561532481614d5a565b9396929550929360600135925050565b63ffffffff81168114610cbd57600080fd5b600080600083850360a081121561535c57600080fd5b843561536781614d5a565b93506060601f198201121561537b57600080fd5b50604051606081018181106001600160401b038211171561539e5761539e614dba565b60405260208501356153af81615334565b81526040850135600f81900b81146153c657600080fd5b60208201526060850135604082015291506080840135614daf81615334565b80516134a481614d5a565b60006020828403121561540257600080fd5b815161059981614d5a565b60006020828403121561541f57600080fd5b815161059981614e29565b634e487b7160e01b600052600160045260246000fd5b60008151808452602080850194506020840160005b8381101561547157815187529582019590820190600101615455565b509495945050505050565b8281526040602082015260006105ad6040830184615440565b82151581526040602082015260006105ad6040830184614fd3565b6000806000606084860312156154c557600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156154f057600080fd5b5051919050565b6001600160a01b038881168252600b88810b602084015287810b604084015286810b6060840152908516608083015283900b60a082015260e060c082018190526000906122c290830184614fd3565b60018060a01b038516815283602082015282604082015260806060820152600061460f6080830184614fd3565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820182811260008312801582168215821617156155bf576155bf615589565b505092915050565b6000602082840312156155d957600080fd5b815161059981615154565b600b81810b9083900b016b7fffffffffffffffffffffff81136b7fffffffffffffffffffffff1982121715611b8357611b83615589565b60006001600160401b0382111561563457615634614dba565b5060051b60200190565b600082601f83011261564f57600080fd5b8151602061566461565f8361561b565b614df9565b8083825260208201915060208460051b87010193508684111561568657600080fd5b602086015b848110156156a2578051835291830191830161568b565b509695505050505050565b6000602082840312156156bf57600080fd5b81516001600160401b038111156156d557600080fd5b6105ad8482850161563e565b60018060a01b03841681528260208201526060604082015260006146296060830184615440565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b805160ff811681146134a457600080fd5b80516001600160e01b0319811681146134a457600080fd5b600082601f83011261576b57600080fd5b81516001600160401b0381111561578457615784614dba565b615797601f8201601f1916602001614df9565b8181528460208386010111156157ac57600080fd5b6105ad826020830160208701614faf565b6000602082840312156157cf57600080fd5b81516001600160401b03808211156157e657600080fd5b9083019061016082860312156157fb57600080fd5b615803614dd0565b61580c83615731565b815261581a60208401615731565b602082015260408301516040820152615835606084016153e5565b606082015261584660808401615742565b608082015260a08301518281111561585d57600080fd5b6158698782860161575a565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506158a08284016153e5565b8282015261014091506158b48284016153e5565b91810191909152949350505050565b6000602082840312156158d557600080fd5b815161059981615334565b634e487b7160e01b600052601260045260246000fd5b600082615905576159056158e0565b600160ff1b82146000198414161561591f5761591f615589565b500590565b81810381811115611b8357611b83615589565b60006080828403121561594957600080fd5b604051608081018181106001600160401b038211171561596b5761596b614dba565b604052825161597981615083565b8152602083015161598981615334565b6020820152604083015161599c81615154565b60408201526060928301519281019290925250919050565b600f82810b9082900b0360016001607f1b0319811260016001607f1b0382131715611b8357611b83615589565b600f81810b9083900b0160016001607f1b03811360016001607f1b031982121715611b8357611b83615589565b60208082526026908201527f53616665436173743a2076616c756520646f65736e27742066697420696e203960408201526536206269747360d01b606082015260800190565b80820260008212600160ff1b84141615615a7057615a70615589565b8181058314821517611b8357611b83615589565b87815260e060208201526000615a9d60e0830189614fd3565b6001600160a01b03978816604084015295151560608301525092909416608083015260a082015260c0019190915292915050565b60008251615ae3818460208701614faf565b9190910192915050565b60008060408385031215615b0057600080fd5b82516001600160401b0380821115615b1757600080fd5b818501915085601f830112615b2b57600080fd5b81516020615b3b61565f8361561b565b82815260059290921b84018101918181019089841115615b5a57600080fd5b948201945b83861015615b81578551615b7281615334565b82529482019490820190615b5f565b91880151919650909350505080821115615b9a57600080fd5b50615ba78582860161563e565b9150509250929050565b600082600f0b82600f0b0280600f0b9150808214615bd157615bd1615589565b5092915050565b600081600f0b60016001607f1b03198103615bf557615bf5615589565b60000392915050565b8181036000831280158383131683831282161715615bd157615bd1615589565b63ffffffff828116828216039080821115615bd157615bd1615589565b6000600160ff1b8201615c5057615c50615589565b5060000390565b600082615c6657615c666158e0565b500490565b600081600f0b83600f0b80615c8257615c826158e0565b60016001607f1b0319821460001982141615615ca057615ca0615589565b9005939250505056fea26469706673582212209f6eefc39f1f7a537a277a64a58c3797fe5621e317cb97817427e6a7fa770d8864736f6c63430008170033";
20
20
  static readonly abi: readonly [{
21
21
  readonly inputs: readonly [{
22
22
  readonly internalType: "contract ISuperfluid";
@@ -580,6 +580,32 @@ export declare class GeneralDistributionAgreementV1__factory extends ContractFac
580
580
  }];
581
581
  readonly stateMutability: "view";
582
582
  readonly type: "function";
583
+ }, {
584
+ readonly inputs: readonly [{
585
+ readonly internalType: "contract ISuperfluidToken";
586
+ readonly name: "token";
587
+ readonly type: "address";
588
+ }, {
589
+ readonly internalType: "address";
590
+ readonly name: "account";
591
+ readonly type: "address";
592
+ }];
593
+ readonly name: "getAccountFlowInfo";
594
+ readonly outputs: readonly [{
595
+ readonly internalType: "uint256";
596
+ readonly name: "timestamp";
597
+ readonly type: "uint256";
598
+ }, {
599
+ readonly internalType: "int96";
600
+ readonly name: "flowRate";
601
+ readonly type: "int96";
602
+ }, {
603
+ readonly internalType: "uint256";
604
+ readonly name: "deposit";
605
+ readonly type: "uint256";
606
+ }];
607
+ readonly stateMutability: "view";
608
+ readonly type: "function";
583
609
  }, {
584
610
  readonly inputs: readonly [];
585
611
  readonly name: "getCodeAddress";
@@ -590,6 +616,36 @@ export declare class GeneralDistributionAgreementV1__factory extends ContractFac
590
616
  }];
591
617
  readonly stateMutability: "view";
592
618
  readonly type: "function";
619
+ }, {
620
+ readonly inputs: readonly [{
621
+ readonly internalType: "contract ISuperfluidToken";
622
+ readonly name: "token";
623
+ readonly type: "address";
624
+ }, {
625
+ readonly internalType: "address";
626
+ readonly name: "from";
627
+ readonly type: "address";
628
+ }, {
629
+ readonly internalType: "contract ISuperfluidPool";
630
+ readonly name: "to";
631
+ readonly type: "address";
632
+ }];
633
+ readonly name: "getFlow";
634
+ readonly outputs: readonly [{
635
+ readonly internalType: "uint256";
636
+ readonly name: "lastUpdated";
637
+ readonly type: "uint256";
638
+ }, {
639
+ readonly internalType: "int96";
640
+ readonly name: "flowRate";
641
+ readonly type: "int96";
642
+ }, {
643
+ readonly internalType: "uint256";
644
+ readonly name: "deposit";
645
+ readonly type: "uint256";
646
+ }];
647
+ readonly stateMutability: "view";
648
+ readonly type: "function";
593
649
  }, {
594
650
  readonly inputs: readonly [{
595
651
  readonly internalType: "contract ISuperfluidToken";
@@ -1 +1 @@
1
- {"version":3,"file":"GeneralDistributionAgreementV1__factory.d.ts","sourceRoot":"","sources":["../../../../../../../src/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAmB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EACV,8BAA8B,EAC9B,uCAAuC,EACxC,MAAM,uEAAuE,CAAC;AAumC/E,KAAK,+CAA+C,GAChD;IACE,oBAAoB,EAAE,8CAA8C;IACpE,MAAM,CAAC,EAAE,MAAM;CAChB,GACD,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAYlD,qBAAa,uCAAwC,SAAQ,eAAe;gBAC9D,GAAG,IAAI,EAAE,+CAA+C;IAepE,MAAM,CAAC,YAAY,CACjB,oBAAoB,EAAE,8CAA8C,GACnE,MAAM;IAwBA,MAAM,CACb,IAAI,EAAE,MAAM,EACZ,qBAAqB,EAAE,MAAM,EAC7B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,8BAA8B,CAAC;IAOjC,oBAAoB,CAC3B,IAAI,EAAE,MAAM,EACZ,qBAAqB,EAAE,MAAM,EAC7B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,kBAAkB;IAOZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,8BAA8B;IAGvD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,uCAAuC;IAIzE,MAAM,CAAC,QAAQ,CAAC,QAAQ,go9CAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,uCAAuC;IAGjE,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,8BAA8B;CAOlC;AAED,MAAM,WAAW,8CAA8C;IAC7D,CAAC,4FAA4F,CAAC,EAAE,MAAM,CAAC;IACvG,CAAC,0DAA0D,CAAC,EAAE,MAAM,CAAC;CACtE"}
1
+ {"version":3,"file":"GeneralDistributionAgreementV1__factory.d.ts","sourceRoot":"","sources":["../../../../../../../src/typechain-types/factories/contracts/agreements/gdav1/GeneralDistributionAgreementV1__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAmB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EACV,8BAA8B,EAC9B,uCAAuC,EACxC,MAAM,uEAAuE,CAAC;AAgrC/E,KAAK,+CAA+C,GAChD;IACE,oBAAoB,EAAE,8CAA8C;IACpE,MAAM,CAAC,EAAE,MAAM;CAChB,GACD,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAYlD,qBAAa,uCAAwC,SAAQ,eAAe;gBAC9D,GAAG,IAAI,EAAE,+CAA+C;IAepE,MAAM,CAAC,YAAY,CACjB,oBAAoB,EAAE,8CAA8C,GACnE,MAAM;IAwBA,MAAM,CACb,IAAI,EAAE,MAAM,EACZ,qBAAqB,EAAE,MAAM,EAC7B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,8BAA8B,CAAC;IAOjC,oBAAoB,CAC3B,IAAI,EAAE,MAAM,EACZ,qBAAqB,EAAE,MAAM,EAC7B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,kBAAkB;IAOZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,8BAA8B;IAGvD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,uCAAuC;IAIzE,MAAM,CAAC,QAAQ,CAAC,QAAQ,869CAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,uCAAuC;IAGjE,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,8BAA8B;CAOlC;AAED,MAAM,WAAW,8CAA8C;IAC7D,CAAC,4FAA4F,CAAC,EAAE,MAAM,CAAC;IACvG,CAAC,0DAA0D,CAAC,EAAE,MAAM,CAAC;CACtE"}