@elizaos/autonomous 2.0.0-alpha.21 → 2.0.0-alpha.23

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 (1077) hide show
  1. package/package.json +14 -6
  2. package/test/agent-export.e2e.test.ts +376 -0
  3. package/test/agent-orchestration.e2e.test.ts +1568 -0
  4. package/test/agent-restart-recovery.e2e.test.ts +149 -0
  5. package/test/agent-runtime.e2e.test.ts +1515 -0
  6. package/test/anvil-contracts.e2e.test.ts +533 -0
  7. package/test/anvil-helper.ts +285 -0
  8. package/test/api-auth-live.e2e.test.ts +519 -0
  9. package/test/api-auth.e2e.test.ts +1039 -0
  10. package/test/api-server.e2e.test.ts +4582 -0
  11. package/test/apps-e2e.e2e.test.ts +1108 -0
  12. package/test/auth-modules.e2e.test.ts +71 -0
  13. package/test/cloud-auth-state.e2e.test.ts +145 -0
  14. package/test/cloud-persistence.e2e.test.ts +260 -0
  15. package/test/cloud-providers.e2e.test.ts +781 -0
  16. package/test/config-hot-reload.e2e.test.ts +131 -0
  17. package/test/contract-deployer.ts +151 -0
  18. package/test/contracts/MockMiladyAgentRegistry.sol +216 -0
  19. package/test/contracts/MockMiladyCollection.sol +195 -0
  20. package/test/contracts/cache/solidity-files-cache.json +1 -0
  21. package/test/contracts/foundry.toml +14 -0
  22. package/test/contracts/lib/openzeppelin-contracts/.changeset/config.json +12 -0
  23. package/test/contracts/lib/openzeppelin-contracts/.codecov.yml +12 -0
  24. package/test/contracts/lib/openzeppelin-contracts/.editorconfig +21 -0
  25. package/test/contracts/lib/openzeppelin-contracts/.eslintrc +20 -0
  26. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
  27. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/config.yml +4 -0
  28. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
  29. package/test/contracts/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +20 -0
  30. package/test/contracts/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +49 -0
  31. package/test/contracts/lib/openzeppelin-contracts/.github/actions/setup/action.yml +19 -0
  32. package/test/contracts/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +55 -0
  33. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
  34. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
  35. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/checks.yml +111 -0
  36. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/docs.yml +19 -0
  37. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +68 -0
  38. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +218 -0
  39. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +30 -0
  40. package/test/contracts/lib/openzeppelin-contracts/.gitmodules +7 -0
  41. package/test/contracts/lib/openzeppelin-contracts/.mocharc.js +4 -0
  42. package/test/contracts/lib/openzeppelin-contracts/.prettierrc +14 -0
  43. package/test/contracts/lib/openzeppelin-contracts/.solcover.js +13 -0
  44. package/test/contracts/lib/openzeppelin-contracts/.solhint.json +14 -0
  45. package/test/contracts/lib/openzeppelin-contracts/CHANGELOG.md +743 -0
  46. package/test/contracts/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +73 -0
  47. package/test/contracts/lib/openzeppelin-contracts/CONTRIBUTING.md +36 -0
  48. package/test/contracts/lib/openzeppelin-contracts/GUIDELINES.md +117 -0
  49. package/test/contracts/lib/openzeppelin-contracts/LICENSE +22 -0
  50. package/test/contracts/lib/openzeppelin-contracts/README.md +90 -0
  51. package/test/contracts/lib/openzeppelin-contracts/RELEASING.md +47 -0
  52. package/test/contracts/lib/openzeppelin-contracts/SECURITY.md +42 -0
  53. package/test/contracts/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
  54. package/test/contracts/lib/openzeppelin-contracts/audits/2018-10.pdf +0 -0
  55. package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
  56. package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
  57. package/test/contracts/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
  58. package/test/contracts/lib/openzeppelin-contracts/audits/README.md +16 -0
  59. package/test/contracts/lib/openzeppelin-contracts/certora/Makefile +54 -0
  60. package/test/contracts/lib/openzeppelin-contracts/certora/README.md +60 -0
  61. package/test/contracts/lib/openzeppelin-contracts/certora/diff/token_ERC721_ERC721.sol.patch +14 -0
  62. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +47 -0
  63. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlHarness.sol +7 -0
  64. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/DoubleEndedQueueHarness.sol +59 -0
  65. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
  66. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20PermitHarness.sol +17 -0
  67. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20WrapperHarness.sol +25 -0
  68. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
  69. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721Harness.sol +37 -0
  70. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
  71. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableMapHarness.sol +55 -0
  72. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableSetHarness.sol +35 -0
  73. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/InitializableHarness.sol +23 -0
  74. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/Ownable2StepHarness.sol +9 -0
  75. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/OwnableHarness.sol +9 -0
  76. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/PausableHarness.sol +19 -0
  77. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/TimelockControllerHarness.sol +12 -0
  78. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
  79. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
  80. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
  81. package/test/contracts/lib/openzeppelin-contracts/certora/run.js +146 -0
  82. package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +126 -0
  83. package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +500 -0
  84. package/test/contracts/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +366 -0
  85. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20.spec +414 -0
  86. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +48 -0
  87. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
  88. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC721.spec +589 -0
  89. package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +334 -0
  90. package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +247 -0
  91. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
  92. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable.spec +78 -0
  93. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
  94. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
  95. package/test/contracts/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +275 -0
  96. package/test/contracts/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +1 -0
  97. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +7 -0
  98. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
  99. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
  100. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
  101. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC3156.spec +5 -0
  102. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
  103. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +20 -0
  104. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
  105. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
  106. package/test/contracts/lib/openzeppelin-contracts/certora/specs.json +86 -0
  107. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +248 -0
  108. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlCrossChain.sol +45 -0
  109. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlDefaultAdminRules.sol +383 -0
  110. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol +64 -0
  111. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +88 -0
  112. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlDefaultAdminRules.sol +172 -0
  113. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlEnumerable.sol +31 -0
  114. package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol +83 -0
  115. package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +57 -0
  116. package/test/contracts/lib/openzeppelin-contracts/contracts/access/README.adoc +27 -0
  117. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/CrossChainEnabled.sol +54 -0
  118. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/README.adoc +34 -0
  119. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/CrossChainEnabledAMB.sol +49 -0
  120. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/LibAMB.sol +35 -0
  121. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol +44 -0
  122. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol +40 -0
  123. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL1.sol +42 -0
  124. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL2.sol +45 -0
  125. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/errors.sol +7 -0
  126. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol +41 -0
  127. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/LibOptimism.sol +36 -0
  128. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol +72 -0
  129. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol +214 -0
  130. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/README.adoc +20 -0
  131. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +145 -0
  132. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/Governor.sol +723 -0
  133. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +313 -0
  134. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/README.adoc +176 -0
  135. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +422 -0
  136. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +333 -0
  137. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol +118 -0
  138. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +100 -0
  139. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +105 -0
  140. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalThreshold.sol +23 -0
  141. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +110 -0
  142. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +190 -0
  143. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +166 -0
  144. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +55 -0
  145. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesComp.sol +55 -0
  146. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +121 -0
  147. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol +26 -0
  148. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +56 -0
  149. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +244 -0
  150. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +6 -0
  151. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
  152. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +6 -0
  153. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +19 -0
  154. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +80 -0
  155. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +35 -0
  156. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +29 -0
  157. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +6 -0
  158. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +6 -0
  159. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +6 -0
  160. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +26 -0
  161. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +6 -0
  162. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +6 -0
  163. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +21 -0
  164. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
  165. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +25 -0
  166. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +7 -0
  167. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +29 -0
  168. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +43 -0
  169. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +232 -0
  170. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
  171. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
  172. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +18 -0
  173. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
  174. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
  175. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +6 -0
  176. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +6 -0
  177. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +6 -0
  178. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +6 -0
  179. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +6 -0
  180. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +6 -0
  181. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +6 -0
  182. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +73 -0
  183. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +20 -0
  184. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC2612.sol +8 -0
  185. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +54 -0
  186. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/MinimalForwarder.sol +72 -0
  187. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/README.adoc +12 -0
  188. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/AccessControlCrossChainMock.sol +8 -0
  189. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +51 -0
  190. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
  191. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +61 -0
  192. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ConditionalEscrowMock.sol +18 -0
  193. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +35 -0
  194. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +57 -0
  195. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
  196. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +26 -0
  197. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +12 -0
  198. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +7 -0
  199. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +5 -0
  200. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +18 -0
  201. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Mock.sol +16 -0
  202. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Reentrant.sol +43 -0
  203. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +27 -0
  204. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
  205. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC4626Mock.sol +16 -0
  206. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +17 -0
  207. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +130 -0
  208. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol +23 -0
  209. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +131 -0
  210. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +31 -0
  211. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol +15 -0
  212. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +12 -0
  213. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +51 -0
  214. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +61 -0
  215. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SafeMathMemoryCheck.sol +72 -0
  216. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
  217. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +77 -0
  218. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
  219. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersBlockNumberImpl.sol +39 -0
  220. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersTimestampImpl.sol +39 -0
  221. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +45 -0
  222. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +174 -0
  223. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/bridges.sol +94 -0
  224. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/receivers.sol +54 -0
  225. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +100 -0
  226. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +88 -0
  227. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +24 -0
  228. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +35 -0
  229. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +31 -0
  230. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompMock.sol +20 -0
  231. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompatibilityBravoMock.sol +100 -0
  232. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +28 -0
  233. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +45 -0
  234. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +60 -0
  235. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +60 -0
  236. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
  237. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +50 -0
  238. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
  239. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +17 -0
  240. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSLegacy.sol +54 -0
  241. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +33 -0
  242. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +47 -0
  243. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
  244. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
  245. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
  246. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
  247. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
  248. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +28 -0
  249. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20PermitNoRevertMock.sol +36 -0
  250. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
  251. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +262 -0
  252. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
  253. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
  254. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +51 -0
  255. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
  256. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +42 -0
  257. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
  258. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777Mock.sol +13 -0
  259. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777SenderRecipientMock.sol +152 -0
  260. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/VotesTimestamp.sol +40 -0
  261. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor1.sol +79 -0
  262. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol +85 -0
  263. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor3.sol +94 -0
  264. package/test/contracts/lib/openzeppelin-contracts/contracts/package.json +32 -0
  265. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +88 -0
  266. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +32 -0
  267. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol +157 -0
  268. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +86 -0
  269. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/README.adoc +87 -0
  270. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +61 -0
  271. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +16 -0
  272. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +65 -0
  273. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +81 -0
  274. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +191 -0
  275. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +166 -0
  276. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +99 -0
  277. package/test/contracts/lib/openzeppelin-contracts/contracts/security/Pausable.sol +105 -0
  278. package/test/contracts/lib/openzeppelin-contracts/contracts/security/PullPayment.sol +74 -0
  279. package/test/contracts/lib/openzeppelin-contracts/contracts/security/README.adoc +20 -0
  280. package/test/contracts/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol +77 -0
  281. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +497 -0
  282. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +119 -0
  283. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +58 -0
  284. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +49 -0
  285. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +32 -0
  286. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +44 -0
  287. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +64 -0
  288. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +63 -0
  289. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +22 -0
  290. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol +114 -0
  291. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/README.md +1 -0
  292. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +36 -0
  293. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol +19 -0
  294. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +365 -0
  295. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +78 -0
  296. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +80 -0
  297. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
  298. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +37 -0
  299. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +109 -0
  300. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +35 -0
  301. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +95 -0
  302. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Snapshot.sol +191 -0
  303. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +290 -0
  304. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20VotesComp.sol +46 -0
  305. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +73 -0
  306. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +256 -0
  307. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +28 -0
  308. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
  309. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol +8 -0
  310. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol +8 -0
  311. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol +30 -0
  312. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol +94 -0
  313. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/README.md +1 -0
  314. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +143 -0
  315. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol +72 -0
  316. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +466 -0
  317. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +132 -0
  318. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +27 -0
  319. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +73 -0
  320. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
  321. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +148 -0
  322. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +159 -0
  323. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +40 -0
  324. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +38 -0
  325. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +74 -0
  326. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +43 -0
  327. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +97 -0
  328. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
  329. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
  330. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/draft-ERC721Votes.sol +9 -0
  331. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol +132 -0
  332. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/README.md +1 -0
  333. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +23 -0
  334. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol +514 -0
  335. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol +200 -0
  336. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol +35 -0
  337. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol +35 -0
  338. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/README.adoc +32 -0
  339. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol +30 -0
  340. package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +107 -0
  341. package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/README.adoc +10 -0
  342. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol +244 -0
  343. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +105 -0
  344. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Base64.sol +101 -0
  345. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol +560 -0
  346. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol +28 -0
  347. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Counters.sol +43 -0
  348. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Create2.sol +75 -0
  349. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +39 -0
  350. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/README.adoc +113 -0
  351. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
  352. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +138 -0
  353. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol +85 -0
  354. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Timers.sol +75 -0
  355. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +217 -0
  356. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +142 -0
  357. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +227 -0
  358. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +50 -0
  359. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol +8 -0
  360. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/ConditionalEscrow.sol +25 -0
  361. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol +67 -0
  362. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol +100 -0
  363. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +29 -0
  364. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +126 -0
  365. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Storage.sol +42 -0
  366. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC1820Implementer.sol +43 -0
  367. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +25 -0
  368. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Implementer.sol +20 -0
  369. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Registry.sol +112 -0
  370. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +339 -0
  371. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +1136 -0
  372. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol +215 -0
  373. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +43 -0
  374. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedSafeMath.sol +68 -0
  375. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +51 -0
  376. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +170 -0
  377. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +598 -0
  378. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +378 -0
  379. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/amb/IAMB.sol +41 -0
  380. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IArbSys.sol +134 -0
  381. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IBridge.sol +102 -0
  382. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IDelayedMessageProvider.sol +16 -0
  383. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IInbox.sol +152 -0
  384. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IOutbox.sol +117 -0
  385. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
  386. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/LICENSE +11 -0
  387. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/ICrossDomainMessenger.sol +34 -0
  388. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/LICENSE +22 -0
  389. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/polygon/IFxMessageProcessor.sol +7 -0
  390. package/test/contracts/lib/openzeppelin-contracts/docs/README.md +16 -0
  391. package/test/contracts/lib/openzeppelin-contracts/docs/antora.yml +6 -0
  392. package/test/contracts/lib/openzeppelin-contracts/docs/config.js +21 -0
  393. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  394. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  395. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  396. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  397. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  398. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  399. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  400. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  401. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  402. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
  403. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
  404. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +23 -0
  405. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +219 -0
  406. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crosschain.adoc +210 -0
  407. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crowdsales.adoc +11 -0
  408. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/drafts.adoc +19 -0
  409. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +153 -0
  410. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +113 -0
  411. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +85 -0
  412. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
  413. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +90 -0
  414. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc777.adoc +75 -0
  415. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +131 -0
  416. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +237 -0
  417. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +65 -0
  418. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/releases-stability.adoc +85 -0
  419. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +32 -0
  420. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +73 -0
  421. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +190 -0
  422. package/test/contracts/lib/openzeppelin-contracts/docs/templates/contract.hbs +85 -0
  423. package/test/contracts/lib/openzeppelin-contracts/docs/templates/helpers.js +46 -0
  424. package/test/contracts/lib/openzeppelin-contracts/docs/templates/page.hbs +4 -0
  425. package/test/contracts/lib/openzeppelin-contracts/docs/templates/properties.js +45 -0
  426. package/test/contracts/lib/openzeppelin-contracts/foundry.toml +3 -0
  427. package/test/contracts/lib/openzeppelin-contracts/hardhat/env-artifacts.js +24 -0
  428. package/test/contracts/lib/openzeppelin-contracts/hardhat/env-contract.js +10 -0
  429. package/test/contracts/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +45 -0
  430. package/test/contracts/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +6 -0
  431. package/test/contracts/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
  432. package/test/contracts/lib/openzeppelin-contracts/hardhat.config.js +118 -0
  433. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
  434. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +349 -0
  435. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
  436. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
  437. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +92 -0
  438. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.gitmodules +3 -0
  439. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-APACHE +203 -0
  440. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-MIT +25 -0
  441. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/README.md +250 -0
  442. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +21 -0
  443. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/.github/workflows/build.yml +41 -0
  444. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/LICENSE +674 -0
  445. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/Makefile +14 -0
  446. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/default.nix +4 -0
  447. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/demo/demo.sol +222 -0
  448. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/package.json +15 -0
  449. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol +469 -0
  450. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.t.sol +313 -0
  451. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/package.json +16 -0
  452. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +33 -0
  453. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +26 -0
  454. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +376 -0
  455. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +233 -0
  456. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +624 -0
  457. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol +15 -0
  458. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +92 -0
  459. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +179 -0
  460. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol +43 -0
  461. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +327 -0
  462. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
  463. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +189 -0
  464. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +32 -0
  465. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +409 -0
  466. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +1533 -0
  467. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +1546 -0
  468. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
  469. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
  470. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
  471. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
  472. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
  473. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
  474. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +954 -0
  475. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +160 -0
  476. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +401 -0
  477. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +118 -0
  478. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +197 -0
  479. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +283 -0
  480. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
  481. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +297 -0
  482. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
  483. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
  484. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
  485. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
  486. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
  487. package/test/contracts/lib/openzeppelin-contracts/logo.svg +15 -0
  488. package/test/contracts/lib/openzeppelin-contracts/netlify.toml +3 -0
  489. package/test/contracts/lib/openzeppelin-contracts/package-lock.json +28833 -0
  490. package/test/contracts/lib/openzeppelin-contracts/package.json +96 -0
  491. package/test/contracts/lib/openzeppelin-contracts/remappings.txt +1 -0
  492. package/test/contracts/lib/openzeppelin-contracts/renovate.json +4 -0
  493. package/test/contracts/lib/openzeppelin-contracts/requirements.txt +1 -0
  494. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +19 -0
  495. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +243 -0
  496. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +40 -0
  497. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/generation.sh +6 -0
  498. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +54 -0
  499. package/test/contracts/lib/openzeppelin-contracts/scripts/gen-nav.js +41 -0
  500. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/format-lines.js +16 -0
  501. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/run.js +49 -0
  502. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +304 -0
  503. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +22 -0
  504. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +256 -0
  505. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +310 -0
  506. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +250 -0
  507. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +163 -0
  508. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +87 -0
  509. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +30 -0
  510. package/test/contracts/lib/openzeppelin-contracts/scripts/git-user-config.sh +6 -0
  511. package/test/contracts/lib/openzeppelin-contracts/scripts/helpers.js +37 -0
  512. package/test/contracts/lib/openzeppelin-contracts/scripts/migrate-imports.js +180 -0
  513. package/test/contracts/lib/openzeppelin-contracts/scripts/prepack.sh +12 -0
  514. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-contracts-package.sh +15 -0
  515. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-docs.sh +26 -0
  516. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare.sh +10 -0
  517. package/test/contracts/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
  518. package/test/contracts/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +15 -0
  519. package/test/contracts/lib/openzeppelin-contracts/scripts/release/update-comment.js +34 -0
  520. package/test/contracts/lib/openzeppelin-contracts/scripts/release/version.sh +11 -0
  521. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
  522. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +47 -0
  523. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
  524. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
  525. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
  526. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
  527. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
  528. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
  529. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
  530. package/test/contracts/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +45 -0
  531. package/test/contracts/lib/openzeppelin-contracts/scripts/update-docs-branch.js +63 -0
  532. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
  533. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
  534. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
  535. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +44 -0
  536. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +35 -0
  537. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +481 -0
  538. package/test/contracts/lib/openzeppelin-contracts/slither.config.json +5 -0
  539. package/test/contracts/lib/openzeppelin-contracts/test/TESTING.md +3 -0
  540. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +867 -0
  541. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.test.js +12 -0
  542. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlCrossChain.test.js +49 -0
  543. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlDefaultAdminRules.test.js +25 -0
  544. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlEnumerable.test.js +17 -0
  545. package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable.test.js +59 -0
  546. package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +67 -0
  547. package/test/contracts/lib/openzeppelin-contracts/test/crosschain/CrossChainEnabled.test.js +78 -0
  548. package/test/contracts/lib/openzeppelin-contracts/test/finance/PaymentSplitter.test.js +217 -0
  549. package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +59 -0
  550. package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +67 -0
  551. package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.t.sol +55 -0
  552. package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.test.js +782 -0
  553. package/test/contracts/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +1254 -0
  554. package/test/contracts/lib/openzeppelin-contracts/test/governance/compatibility/GovernorCompatibilityBravo.test.js +283 -0
  555. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorComp.test.js +88 -0
  556. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +115 -0
  557. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +189 -0
  558. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +352 -0
  559. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +445 -0
  560. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +154 -0
  561. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +173 -0
  562. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/EIP6372.behavior.js +23 -0
  563. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +361 -0
  564. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +71 -0
  565. package/test/contracts/lib/openzeppelin-contracts/test/helpers/chainid.js +10 -0
  566. package/test/contracts/lib/openzeppelin-contracts/test/helpers/create2.js +11 -0
  567. package/test/contracts/lib/openzeppelin-contracts/test/helpers/crosschain.js +61 -0
  568. package/test/contracts/lib/openzeppelin-contracts/test/helpers/customError.js +24 -0
  569. package/test/contracts/lib/openzeppelin-contracts/test/helpers/eip712.js +67 -0
  570. package/test/contracts/lib/openzeppelin-contracts/test/helpers/enums.js +12 -0
  571. package/test/contracts/lib/openzeppelin-contracts/test/helpers/erc1967.js +24 -0
  572. package/test/contracts/lib/openzeppelin-contracts/test/helpers/governance.js +201 -0
  573. package/test/contracts/lib/openzeppelin-contracts/test/helpers/map-values.js +7 -0
  574. package/test/contracts/lib/openzeppelin-contracts/test/helpers/sign.js +63 -0
  575. package/test/contracts/lib/openzeppelin-contracts/test/helpers/time.js +17 -0
  576. package/test/contracts/lib/openzeppelin-contracts/test/helpers/txpool.js +38 -0
  577. package/test/contracts/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +175 -0
  578. package/test/contracts/lib/openzeppelin-contracts/test/metatx/MinimalForwarder.test.js +169 -0
  579. package/test/contracts/lib/openzeppelin-contracts/test/migrate-imports.test.js +33 -0
  580. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +136 -0
  581. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.test.js +61 -0
  582. package/test/contracts/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +13 -0
  583. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +225 -0
  584. package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +139 -0
  585. package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +44 -0
  586. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +127 -0
  587. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +433 -0
  588. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +17 -0
  589. package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +218 -0
  590. package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +85 -0
  591. package/test/contracts/lib/openzeppelin-contracts/test/security/Pausable.test.js +85 -0
  592. package/test/contracts/lib/openzeppelin-contracts/test/security/PullPayment.test.js +51 -0
  593. package/test/contracts/lib/openzeppelin-contracts/test/security/ReentrancyGuard.test.js +43 -0
  594. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +767 -0
  595. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +235 -0
  596. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +67 -0
  597. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +108 -0
  598. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +107 -0
  599. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +66 -0
  600. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +156 -0
  601. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +64 -0
  602. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +322 -0
  603. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +305 -0
  604. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.behavior.js +106 -0
  605. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +20 -0
  606. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.behavior.js +32 -0
  607. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +23 -0
  608. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +204 -0
  609. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +133 -0
  610. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Snapshot.test.js +207 -0
  611. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +578 -0
  612. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20VotesComp.test.js +543 -0
  613. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +190 -0
  614. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +42 -0
  615. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +1031 -0
  616. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Permit.test.js +103 -0
  617. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +42 -0
  618. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +110 -0
  619. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +350 -0
  620. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/TokenTimelock.test.js +71 -0
  621. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +893 -0
  622. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +15 -0
  623. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +20 -0
  624. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +70 -0
  625. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +122 -0
  626. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +206 -0
  627. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +92 -0
  628. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +41 -0
  629. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +100 -0
  630. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +184 -0
  631. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +283 -0
  632. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +122 -0
  633. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +22 -0
  634. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.behavior.js +597 -0
  635. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.test.js +556 -0
  636. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +49 -0
  637. package/test/contracts/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +157 -0
  638. package/test/contracts/lib/openzeppelin-contracts/test/utils/Address.test.js +361 -0
  639. package/test/contracts/lib/openzeppelin-contracts/test/utils/Arrays.test.js +123 -0
  640. package/test/contracts/lib/openzeppelin-contracts/test/utils/Base64.test.js +43 -0
  641. package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.t.sol +347 -0
  642. package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.test.js +255 -0
  643. package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.behavior.js +42 -0
  644. package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.test.js +17 -0
  645. package/test/contracts/lib/openzeppelin-contracts/test/utils/Counters.test.js +84 -0
  646. package/test/contracts/lib/openzeppelin-contracts/test/utils/Create2.test.js +89 -0
  647. package/test/contracts/lib/openzeppelin-contracts/test/utils/Multicall.test.js +68 -0
  648. package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +55 -0
  649. package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +55 -0
  650. package/test/contracts/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +210 -0
  651. package/test/contracts/lib/openzeppelin-contracts/test/utils/Strings.test.js +150 -0
  652. package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersBlockNumberImpl.test.js +55 -0
  653. package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersTimestamp.test.js +55 -0
  654. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +260 -0
  655. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +103 -0
  656. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +200 -0
  657. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +87 -0
  658. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/ConditionalEscrow.test.js +37 -0
  659. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.behavior.js +90 -0
  660. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.test.js +14 -0
  661. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/RefundEscrow.test.js +143 -0
  662. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +11 -0
  663. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +302 -0
  664. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Storage.test.js +23 -0
  665. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC1820Implementer.test.js +71 -0
  666. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +146 -0
  667. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +217 -0
  668. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.test.js +289 -0
  669. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +152 -0
  670. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeMath.test.js +433 -0
  671. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +95 -0
  672. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedSafeMath.test.js +152 -0
  673. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +145 -0
  674. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +99 -0
  675. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +185 -0
  676. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +154 -0
  677. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +129 -0
  678. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +79 -0
  679. package/test/contracts/out/AccessControl.sol/AccessControl.json +1 -0
  680. package/test/contracts/out/AccessControlCrossChain.sol/AccessControlCrossChain.json +1 -0
  681. package/test/contracts/out/AccessControlCrossChainMock.sol/AccessControlCrossChainMock.json +1 -0
  682. package/test/contracts/out/AccessControlDefaultAdminRules.sol/AccessControlDefaultAdminRules.json +1 -0
  683. package/test/contracts/out/AccessControlEnumerable.sol/AccessControlEnumerable.json +1 -0
  684. package/test/contracts/out/Address.sol/Address.json +1 -0
  685. package/test/contracts/out/Arrays.sol/Arrays.json +1 -0
  686. package/test/contracts/out/ArraysMock.sol/AddressArraysMock.json +1 -0
  687. package/test/contracts/out/ArraysMock.sol/Bytes32ArraysMock.json +1 -0
  688. package/test/contracts/out/ArraysMock.sol/Uint256ArraysMock.json +1 -0
  689. package/test/contracts/out/BadBeacon.sol/BadBeaconNoImpl.json +1 -0
  690. package/test/contracts/out/BadBeacon.sol/BadBeaconNotContract.json +1 -0
  691. package/test/contracts/out/Base.sol/CommonBase.json +1 -0
  692. package/test/contracts/out/Base.sol/ScriptBase.json +1 -0
  693. package/test/contracts/out/Base.sol/TestBase.json +1 -0
  694. package/test/contracts/out/Base64.sol/Base64.json +1 -0
  695. package/test/contracts/out/Base64Dirty.sol/Base64Dirty.json +1 -0
  696. package/test/contracts/out/BeaconProxy.sol/BeaconProxy.json +1 -0
  697. package/test/contracts/out/BitMaps.sol/BitMaps.json +1 -0
  698. package/test/contracts/out/CallReceiverMock.sol/CallReceiverMock.json +1 -0
  699. package/test/contracts/out/Checkpoints.sol/Checkpoints.json +1 -0
  700. package/test/contracts/out/Checkpoints.t.sol/CheckpointsHistoryTest.json +1 -0
  701. package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace160Test.json +1 -0
  702. package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace224Test.json +1 -0
  703. package/test/contracts/out/ClashingImplementation.sol/ClashingImplementation.json +1 -0
  704. package/test/contracts/out/Clones.sol/Clones.json +1 -0
  705. package/test/contracts/out/CompTimelock.sol/CompTimelock.json +1 -0
  706. package/test/contracts/out/CompilationScript.sol/CompilationScript.json +1 -0
  707. package/test/contracts/out/CompilationScriptBase.sol/CompilationScriptBase.json +1 -0
  708. package/test/contracts/out/CompilationTest.sol/CompilationTest.json +1 -0
  709. package/test/contracts/out/CompilationTestBase.sol/CompilationTestBase.json +1 -0
  710. package/test/contracts/out/ConditionalEscrow.sol/ConditionalEscrow.json +1 -0
  711. package/test/contracts/out/ConditionalEscrowMock.sol/ConditionalEscrowMock.json +1 -0
  712. package/test/contracts/out/Context.sol/Context.json +1 -0
  713. package/test/contracts/out/ContextMock.sol/ContextMock.json +1 -0
  714. package/test/contracts/out/ContextMock.sol/ContextMockCaller.json +1 -0
  715. package/test/contracts/out/Counters.sol/Counters.json +1 -0
  716. package/test/contracts/out/Create2.sol/Create2.json +1 -0
  717. package/test/contracts/out/CrossChainEnabled.sol/CrossChainEnabled.json +1 -0
  718. package/test/contracts/out/CrossChainEnabledAMB.sol/CrossChainEnabledAMB.json +1 -0
  719. package/test/contracts/out/CrossChainEnabledArbitrumL1.sol/CrossChainEnabledArbitrumL1.json +1 -0
  720. package/test/contracts/out/CrossChainEnabledArbitrumL2.sol/CrossChainEnabledArbitrumL2.json +1 -0
  721. package/test/contracts/out/CrossChainEnabledOptimism.sol/CrossChainEnabledOptimism.json +1 -0
  722. package/test/contracts/out/CrossChainEnabledPolygonChild.sol/CrossChainEnabledPolygonChild.json +1 -0
  723. package/test/contracts/out/DoubleEndedQueue.sol/DoubleEndedQueue.json +1 -0
  724. package/test/contracts/out/DummyImplementation.sol/DummyImplementation.json +1 -0
  725. package/test/contracts/out/DummyImplementation.sol/DummyImplementationV2.json +1 -0
  726. package/test/contracts/out/DummyImplementation.sol/Impl.json +1 -0
  727. package/test/contracts/out/ECDSA.sol/ECDSA.json +1 -0
  728. package/test/contracts/out/EIP712.sol/EIP712.json +1 -0
  729. package/test/contracts/out/EIP712Verifier.sol/EIP712Verifier.json +1 -0
  730. package/test/contracts/out/ERC1155.sol/ERC1155.json +1 -0
  731. package/test/contracts/out/ERC1155Burnable.sol/ERC1155Burnable.json +1 -0
  732. package/test/contracts/out/ERC1155Holder.sol/ERC1155Holder.json +1 -0
  733. package/test/contracts/out/ERC1155Pausable.sol/ERC1155Pausable.json +1 -0
  734. package/test/contracts/out/ERC1155PresetMinterPauser.sol/ERC1155PresetMinterPauser.json +1 -0
  735. package/test/contracts/out/ERC1155Receiver.sol/ERC1155Receiver.json +1 -0
  736. package/test/contracts/out/ERC1155ReceiverMock.sol/ERC1155ReceiverMock.json +1 -0
  737. package/test/contracts/out/ERC1155Supply.sol/ERC1155Supply.json +1 -0
  738. package/test/contracts/out/ERC1155URIStorage.sol/ERC1155URIStorage.json +1 -0
  739. package/test/contracts/out/ERC1271WalletMock.sol/ERC1271MaliciousMock.json +1 -0
  740. package/test/contracts/out/ERC1271WalletMock.sol/ERC1271WalletMock.json +1 -0
  741. package/test/contracts/out/ERC165.sol/ERC165.json +1 -0
  742. package/test/contracts/out/ERC165Checker.sol/ERC165Checker.json +1 -0
  743. package/test/contracts/out/ERC165MaliciousData.sol/ERC165MaliciousData.json +1 -0
  744. package/test/contracts/out/ERC165MissingData.sol/ERC165MissingData.json +1 -0
  745. package/test/contracts/out/ERC165NotSupported.sol/ERC165NotSupported.json +1 -0
  746. package/test/contracts/out/ERC165ReturnBomb.sol/ERC165ReturnBombMock.json +1 -0
  747. package/test/contracts/out/ERC165Storage.sol/ERC165Storage.json +1 -0
  748. package/test/contracts/out/ERC1820Implementer.sol/ERC1820Implementer.json +1 -0
  749. package/test/contracts/out/ERC1967Proxy.sol/ERC1967Proxy.json +1 -0
  750. package/test/contracts/out/ERC1967Upgrade.sol/ERC1967Upgrade.json +1 -0
  751. package/test/contracts/out/ERC20.sol/ERC20.json +1 -0
  752. package/test/contracts/out/ERC20Burnable.sol/ERC20Burnable.json +1 -0
  753. package/test/contracts/out/ERC20Capped.sol/ERC20Capped.json +1 -0
  754. package/test/contracts/out/ERC20DecimalsMock.sol/ERC20DecimalsMock.json +1 -0
  755. package/test/contracts/out/ERC20ExcessDecimalsMock.sol/ERC20ExcessDecimalsMock.json +1 -0
  756. package/test/contracts/out/ERC20FlashMint.sol/ERC20FlashMint.json +1 -0
  757. package/test/contracts/out/ERC20FlashMintMock.sol/ERC20FlashMintMock.json +1 -0
  758. package/test/contracts/out/ERC20ForceApproveMock.sol/ERC20ForceApproveMock.json +1 -0
  759. package/test/contracts/out/ERC20Mock.sol/ERC20Mock.json +1 -0
  760. package/test/contracts/out/ERC20MulticallMock.sol/ERC20MulticallMock.json +1 -0
  761. package/test/contracts/out/ERC20NoReturnMock.sol/ERC20NoReturnMock.json +1 -0
  762. package/test/contracts/out/ERC20Pausable.sol/ERC20Pausable.json +1 -0
  763. package/test/contracts/out/ERC20Permit.sol/ERC20Permit.json +1 -0
  764. package/test/contracts/out/ERC20PermitNoRevertMock.sol/ERC20PermitNoRevertMock.json +1 -0
  765. package/test/contracts/out/ERC20PresetFixedSupply.sol/ERC20PresetFixedSupply.json +1 -0
  766. package/test/contracts/out/ERC20PresetMinterPauser.sol/ERC20PresetMinterPauser.json +1 -0
  767. package/test/contracts/out/ERC20Reentrant.sol/ERC20Reentrant.json +1 -0
  768. package/test/contracts/out/ERC20ReturnFalseMock.sol/ERC20ReturnFalseMock.json +1 -0
  769. package/test/contracts/out/ERC20Snapshot.sol/ERC20Snapshot.json +1 -0
  770. package/test/contracts/out/ERC20Votes.sol/ERC20Votes.json +1 -0
  771. package/test/contracts/out/ERC20VotesComp.sol/ERC20VotesComp.json +1 -0
  772. package/test/contracts/out/ERC20VotesLegacyMock.sol/ERC20VotesLegacyMock.json +1 -0
  773. package/test/contracts/out/ERC20Wrapper.sol/ERC20Wrapper.json +1 -0
  774. package/test/contracts/out/ERC2771Context.sol/ERC2771Context.json +1 -0
  775. package/test/contracts/out/ERC2771ContextMock.sol/ERC2771ContextMock.json +1 -0
  776. package/test/contracts/out/ERC2981.sol/ERC2981.json +1 -0
  777. package/test/contracts/out/ERC3156FlashBorrowerMock.sol/ERC3156FlashBorrowerMock.json +1 -0
  778. package/test/contracts/out/ERC4626.prop.sol/ERC4626Prop.json +1 -0
  779. package/test/contracts/out/ERC4626.prop.sol/IERC20.json +1 -0
  780. package/test/contracts/out/ERC4626.prop.sol/IERC4626.json +1 -0
  781. package/test/contracts/out/ERC4626.sol/ERC4626.json +1 -0
  782. package/test/contracts/out/ERC4626.t.sol/ERC4626StdTest.json +1 -0
  783. package/test/contracts/out/ERC4626.t.sol/ERC4626VaultOffsetMock.json +1 -0
  784. package/test/contracts/out/ERC4626.test.sol/ERC4626Test.json +1 -0
  785. package/test/contracts/out/ERC4626.test.sol/IMockERC20.json +1 -0
  786. package/test/contracts/out/ERC4626Fees.sol/ERC4626Fees.json +1 -0
  787. package/test/contracts/out/ERC4626Mock.sol/ERC4626Mock.json +1 -0
  788. package/test/contracts/out/ERC4626OffsetMock.sol/ERC4626OffsetMock.json +1 -0
  789. package/test/contracts/out/ERC4646FeesMock.sol/ERC4626FeesMock.json +1 -0
  790. package/test/contracts/out/ERC721.sol/ERC721.json +1 -0
  791. package/test/contracts/out/ERC721Burnable.sol/ERC721Burnable.json +1 -0
  792. package/test/contracts/out/ERC721Consecutive.sol/ERC721Consecutive.json +1 -0
  793. package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTarget.json +1 -0
  794. package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTest.json +1 -0
  795. package/test/contracts/out/ERC721ConsecutiveEnumerableMock.sol/ERC721ConsecutiveEnumerableMock.json +1 -0
  796. package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveMock.json +1 -0
  797. package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveNoConstructorMintMock.json +1 -0
  798. package/test/contracts/out/ERC721Enumerable.sol/ERC721Enumerable.json +1 -0
  799. package/test/contracts/out/ERC721Holder.sol/ERC721Holder.json +1 -0
  800. package/test/contracts/out/ERC721Pausable.sol/ERC721Pausable.json +1 -0
  801. package/test/contracts/out/ERC721PresetMinterPauserAutoId.sol/ERC721PresetMinterPauserAutoId.json +1 -0
  802. package/test/contracts/out/ERC721ReceiverMock.sol/ERC721ReceiverMock.json +1 -0
  803. package/test/contracts/out/ERC721Royalty.sol/ERC721Royalty.json +1 -0
  804. package/test/contracts/out/ERC721URIStorage.sol/ERC721URIStorage.json +1 -0
  805. package/test/contracts/out/ERC721URIStorageMock.sol/ERC721URIStorageMock.json +1 -0
  806. package/test/contracts/out/ERC721Votes.sol/ERC721Votes.json +1 -0
  807. package/test/contracts/out/ERC721Wrapper.sol/ERC721Wrapper.json +1 -0
  808. package/test/contracts/out/ERC777.sol/ERC777.json +1 -0
  809. package/test/contracts/out/ERC777Mock.sol/ERC777Mock.json +1 -0
  810. package/test/contracts/out/ERC777PresetFixedSupply.sol/ERC777PresetFixedSupply.json +1 -0
  811. package/test/contracts/out/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock.json +1 -0
  812. package/test/contracts/out/EnumerableMap.sol/EnumerableMap.json +1 -0
  813. package/test/contracts/out/EnumerableSet.sol/EnumerableSet.json +1 -0
  814. package/test/contracts/out/Escrow.sol/Escrow.json +1 -0
  815. package/test/contracts/out/EtherReceiverMock.sol/EtherReceiverMock.json +1 -0
  816. package/test/contracts/out/Governor.sol/Governor.json +1 -0
  817. package/test/contracts/out/Governor.t.sol/GovernorInternalTest.json +1 -0
  818. package/test/contracts/out/GovernorCompMock.sol/GovernorCompMock.json +1 -0
  819. package/test/contracts/out/GovernorCompatibilityBravo.sol/GovernorCompatibilityBravo.json +1 -0
  820. package/test/contracts/out/GovernorCompatibilityBravoMock.sol/GovernorCompatibilityBravoMock.json +1 -0
  821. package/test/contracts/out/GovernorCountingSimple.sol/GovernorCountingSimple.json +1 -0
  822. package/test/contracts/out/GovernorMock.sol/GovernorMock.json +1 -0
  823. package/test/contracts/out/GovernorPreventLateQuorum.sol/GovernorPreventLateQuorum.json +1 -0
  824. package/test/contracts/out/GovernorPreventLateQuorumMock.sol/GovernorPreventLateQuorumMock.json +1 -0
  825. package/test/contracts/out/GovernorProposalThreshold.sol/GovernorProposalThreshold.json +1 -0
  826. package/test/contracts/out/GovernorSettings.sol/GovernorSettings.json +1 -0
  827. package/test/contracts/out/GovernorTimelockCompound.sol/GovernorTimelockCompound.json +1 -0
  828. package/test/contracts/out/GovernorTimelockCompoundMock.sol/GovernorTimelockCompoundMock.json +1 -0
  829. package/test/contracts/out/GovernorTimelockControl.sol/GovernorTimelockControl.json +1 -0
  830. package/test/contracts/out/GovernorTimelockControlMock.sol/GovernorTimelockControlMock.json +1 -0
  831. package/test/contracts/out/GovernorVoteMock.sol/GovernorVoteMocks.json +1 -0
  832. package/test/contracts/out/GovernorVotes.sol/GovernorVotes.json +1 -0
  833. package/test/contracts/out/GovernorVotesComp.sol/GovernorVotesComp.json +1 -0
  834. package/test/contracts/out/GovernorVotesQuorumFraction.sol/GovernorVotesQuorumFraction.json +1 -0
  835. package/test/contracts/out/GovernorWithParamsMock.sol/GovernorWithParamsMock.json +1 -0
  836. package/test/contracts/out/IAMB.sol/IAMB.json +1 -0
  837. package/test/contracts/out/IAccessControl.sol/IAccessControl.json +1 -0
  838. package/test/contracts/out/IAccessControlDefaultAdminRules.sol/IAccessControlDefaultAdminRules.json +1 -0
  839. package/test/contracts/out/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +1 -0
  840. package/test/contracts/out/IArbSys.sol/IArbSys.json +1 -0
  841. package/test/contracts/out/IBeacon.sol/IBeacon.json +1 -0
  842. package/test/contracts/out/IBridge.sol/IBridge.json +1 -0
  843. package/test/contracts/out/ICompoundTimelock.sol/ICompoundTimelock.json +1 -0
  844. package/test/contracts/out/ICrossDomainMessenger.sol/ICrossDomainMessenger.json +1 -0
  845. package/test/contracts/out/IDelayedMessageProvider.sol/IDelayedMessageProvider.json +1 -0
  846. package/test/contracts/out/IERC1155.sol/IERC1155.json +1 -0
  847. package/test/contracts/out/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +1 -0
  848. package/test/contracts/out/IERC1155Receiver.sol/IERC1155Receiver.json +1 -0
  849. package/test/contracts/out/IERC1271.sol/IERC1271.json +1 -0
  850. package/test/contracts/out/IERC1363.sol/IERC1363.json +1 -0
  851. package/test/contracts/out/IERC1363Receiver.sol/IERC1363Receiver.json +1 -0
  852. package/test/contracts/out/IERC1363Spender.sol/IERC1363Spender.json +1 -0
  853. package/test/contracts/out/IERC165.sol/IERC165.json +1 -0
  854. package/test/contracts/out/IERC1820Implementer.sol/IERC1820Implementer.json +1 -0
  855. package/test/contracts/out/IERC1820Registry.sol/IERC1820Registry.json +1 -0
  856. package/test/contracts/out/IERC1967.sol/IERC1967.json +1 -0
  857. package/test/contracts/out/IERC20.sol/IERC20.json +1 -0
  858. package/test/contracts/out/IERC20Metadata.sol/IERC20Metadata.json +1 -0
  859. package/test/contracts/out/IERC20Permit.sol/IERC20Permit.json +1 -0
  860. package/test/contracts/out/IERC2309.sol/IERC2309.json +1 -0
  861. package/test/contracts/out/IERC2612.sol/IERC2612.json +1 -0
  862. package/test/contracts/out/IERC2981.sol/IERC2981.json +1 -0
  863. package/test/contracts/out/IERC3156FlashBorrower.sol/IERC3156FlashBorrower.json +1 -0
  864. package/test/contracts/out/IERC3156FlashLender.sol/IERC3156FlashLender.json +1 -0
  865. package/test/contracts/out/IERC4626.sol/IERC4626.json +1 -0
  866. package/test/contracts/out/IERC4906.sol/IERC4906.json +1 -0
  867. package/test/contracts/out/IERC5267.sol/IERC5267.json +1 -0
  868. package/test/contracts/out/IERC5313.sol/IERC5313.json +1 -0
  869. package/test/contracts/out/IERC5805.sol/IERC5805.json +1 -0
  870. package/test/contracts/out/IERC6372.sol/IERC6372.json +1 -0
  871. package/test/contracts/out/IERC721.sol/IERC721.json +1 -0
  872. package/test/contracts/out/IERC721.sol/IERC721Enumerable.json +1 -0
  873. package/test/contracts/out/IERC721.sol/IERC721Metadata.json +1 -0
  874. package/test/contracts/out/IERC721.sol/IERC721TokenReceiver.json +1 -0
  875. package/test/contracts/out/IERC721Enumerable.sol/IERC721Enumerable.json +1 -0
  876. package/test/contracts/out/IERC721Metadata.sol/IERC721Metadata.json +1 -0
  877. package/test/contracts/out/IERC721Receiver.sol/IERC721Receiver.json +1 -0
  878. package/test/contracts/out/IERC777.sol/IERC777.json +1 -0
  879. package/test/contracts/out/IERC777Recipient.sol/IERC777Recipient.json +1 -0
  880. package/test/contracts/out/IERC777Sender.sol/IERC777Sender.json +1 -0
  881. package/test/contracts/out/IFxMessageProcessor.sol/IFxMessageProcessor.json +1 -0
  882. package/test/contracts/out/IGovernor.sol/IGovernor.json +1 -0
  883. package/test/contracts/out/IGovernorCompatibilityBravo.sol/IGovernorCompatibilityBravo.json +1 -0
  884. package/test/contracts/out/IGovernorTimelock.sol/IGovernorTimelock.json +1 -0
  885. package/test/contracts/out/IInbox.sol/IInbox.json +1 -0
  886. package/test/contracts/out/IMulticall3.sol/IMulticall3.json +1 -0
  887. package/test/contracts/out/IOutbox.sol/IOutbox.json +1 -0
  888. package/test/contracts/out/IVotes.sol/IVotes.json +1 -0
  889. package/test/contracts/out/Initializable.sol/Initializable.json +1 -0
  890. package/test/contracts/out/InitializableMock.sol/ChildConstructorInitializableMock.json +1 -0
  891. package/test/contracts/out/InitializableMock.sol/ConstructorInitializableMock.json +1 -0
  892. package/test/contracts/out/InitializableMock.sol/DisableBad1.json +1 -0
  893. package/test/contracts/out/InitializableMock.sol/DisableBad2.json +1 -0
  894. package/test/contracts/out/InitializableMock.sol/DisableNew.json +1 -0
  895. package/test/contracts/out/InitializableMock.sol/DisableOk.json +1 -0
  896. package/test/contracts/out/InitializableMock.sol/DisableOld.json +1 -0
  897. package/test/contracts/out/InitializableMock.sol/InitializableMock.json +1 -0
  898. package/test/contracts/out/InitializableMock.sol/ReinitializerMock.json +1 -0
  899. package/test/contracts/out/LibAMB.sol/LibAMB.json +1 -0
  900. package/test/contracts/out/LibArbitrumL1.sol/LibArbitrumL1.json +1 -0
  901. package/test/contracts/out/LibArbitrumL2.sol/LibArbitrumL2.json +1 -0
  902. package/test/contracts/out/LibOptimism.sol/LibOptimism.json +1 -0
  903. package/test/contracts/out/Math.sol/Math.json +1 -0
  904. package/test/contracts/out/Math.t.sol/MathTest.json +1 -0
  905. package/test/contracts/out/MerkleProof.sol/MerkleProof.json +1 -0
  906. package/test/contracts/out/MinimalForwarder.sol/MinimalForwarder.json +1 -0
  907. package/test/contracts/out/MockMiladyAgentRegistry.sol/MockMiladyAgentRegistry.json +1 -0
  908. package/test/contracts/out/MockMiladyCollection.sol/MockMiladyCollection.json +1 -0
  909. package/test/contracts/out/Multicall.sol/Multicall.json +1 -0
  910. package/test/contracts/out/MulticallTest.sol/MulticallTest.json +1 -0
  911. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleChild.json +1 -0
  912. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleFather.json +1 -0
  913. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleGramps.json +1 -0
  914. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleHuman.json +1 -0
  915. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleMother.json +1 -0
  916. package/test/contracts/out/MyGovernor.sol/MyGovernor.json +1 -0
  917. package/test/contracts/out/MyGovernor1.sol/MyGovernor1.json +1 -0
  918. package/test/contracts/out/MyGovernor2.sol/MyGovernor2.json +1 -0
  919. package/test/contracts/out/MyGovernor3.sol/MyGovernor3.json +1 -0
  920. package/test/contracts/out/MyToken.sol/MyToken.json +1 -0
  921. package/test/contracts/out/MyTokenTimestampBased.sol/MyTokenTimestampBased.json +1 -0
  922. package/test/contracts/out/MyTokenWrapped.sol/MyTokenWrapped.json +1 -0
  923. package/test/contracts/out/Ownable.sol/Ownable.json +1 -0
  924. package/test/contracts/out/Ownable2Step.sol/Ownable2Step.json +1 -0
  925. package/test/contracts/out/Pausable.sol/Pausable.json +1 -0
  926. package/test/contracts/out/PausableMock.sol/PausableMock.json +1 -0
  927. package/test/contracts/out/PaymentSplitter.sol/PaymentSplitter.json +1 -0
  928. package/test/contracts/out/Proxy.sol/Proxy.json +1 -0
  929. package/test/contracts/out/ProxyAdmin.sol/ProxyAdmin.json +1 -0
  930. package/test/contracts/out/PullPayment.sol/PullPayment.json +1 -0
  931. package/test/contracts/out/PullPaymentMock.sol/PullPaymentMock.json +1 -0
  932. package/test/contracts/out/ReentrancyAttack.sol/ReentrancyAttack.json +1 -0
  933. package/test/contracts/out/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
  934. package/test/contracts/out/ReentrancyMock.sol/ReentrancyMock.json +1 -0
  935. package/test/contracts/out/RefundEscrow.sol/RefundEscrow.json +1 -0
  936. package/test/contracts/out/RegressionImplementation.sol/Implementation1.json +1 -0
  937. package/test/contracts/out/RegressionImplementation.sol/Implementation2.json +1 -0
  938. package/test/contracts/out/RegressionImplementation.sol/Implementation3.json +1 -0
  939. package/test/contracts/out/RegressionImplementation.sol/Implementation4.json +1 -0
  940. package/test/contracts/out/SafeCast.sol/SafeCast.json +1 -0
  941. package/test/contracts/out/SafeERC20.sol/SafeERC20.json +1 -0
  942. package/test/contracts/out/SafeMath.sol/SafeMath.json +1 -0
  943. package/test/contracts/out/SafeMathMemoryCheck.sol/SafeMathMemoryCheck.json +1 -0
  944. package/test/contracts/out/Script.sol/Script.json +1 -0
  945. package/test/contracts/out/ShortStrings.sol/ShortStrings.json +1 -0
  946. package/test/contracts/out/ShortStrings.t.sol/ShortStringsTest.json +1 -0
  947. package/test/contracts/out/SignatureChecker.sol/SignatureChecker.json +1 -0
  948. package/test/contracts/out/SignedMath.sol/SignedMath.json +1 -0
  949. package/test/contracts/out/SignedSafeMath.sol/SignedSafeMath.json +1 -0
  950. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV1.json +1 -0
  951. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV2.json +1 -0
  952. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV3.json +1 -0
  953. package/test/contracts/out/StdAssertions.sol/StdAssertions.json +1 -0
  954. package/test/contracts/out/StdAssertions.t.sol/StdAssertionsTest.json +1 -0
  955. package/test/contracts/out/StdAssertions.t.sol/TestMockCall.json +1 -0
  956. package/test/contracts/out/StdAssertions.t.sol/TestTest.json +1 -0
  957. package/test/contracts/out/StdChains.sol/StdChains.json +1 -0
  958. package/test/contracts/out/StdChains.t.sol/StdChainsTest.json +1 -0
  959. package/test/contracts/out/StdCheats.sol/StdCheats.json +1 -0
  960. package/test/contracts/out/StdCheats.sol/StdCheatsSafe.json +1 -0
  961. package/test/contracts/out/StdCheats.t.sol/Bar.json +1 -0
  962. package/test/contracts/out/StdCheats.t.sol/BarERC1155.json +1 -0
  963. package/test/contracts/out/StdCheats.t.sol/BarERC721.json +1 -0
  964. package/test/contracts/out/StdCheats.t.sol/RevertingContract.json +1 -0
  965. package/test/contracts/out/StdCheats.t.sol/StdCheatsTest.json +1 -0
  966. package/test/contracts/out/StdError.sol/stdError.json +1 -0
  967. package/test/contracts/out/StdError.t.sol/ErrorsTest.json +1 -0
  968. package/test/contracts/out/StdError.t.sol/StdErrorsTest.json +1 -0
  969. package/test/contracts/out/StdInvariant.sol/StdInvariant.json +1 -0
  970. package/test/contracts/out/StdJson.sol/stdJson.json +1 -0
  971. package/test/contracts/out/StdMath.sol/stdMath.json +1 -0
  972. package/test/contracts/out/StdMath.t.sol/StdMathTest.json +1 -0
  973. package/test/contracts/out/StdStorage.sol/stdStorage.json +1 -0
  974. package/test/contracts/out/StdStorage.sol/stdStorageSafe.json +1 -0
  975. package/test/contracts/out/StdStorage.t.sol/StdStorageTest.json +1 -0
  976. package/test/contracts/out/StdStorage.t.sol/StorageTest.json +1 -0
  977. package/test/contracts/out/StdStyle.sol/StdStyle.json +1 -0
  978. package/test/contracts/out/StdStyle.t.sol/StdStyleTest.json +1 -0
  979. package/test/contracts/out/StdUtils.sol/StdUtils.json +1 -0
  980. package/test/contracts/out/StdUtils.t.sol/StdUtilsForkTest.json +1 -0
  981. package/test/contracts/out/StdUtils.t.sol/StdUtilsMock.json +1 -0
  982. package/test/contracts/out/StdUtils.t.sol/StdUtilsTest.json +1 -0
  983. package/test/contracts/out/StorageSlot.sol/StorageSlot.json +1 -0
  984. package/test/contracts/out/StorageSlotMock.sol/StorageSlotMock.json +1 -0
  985. package/test/contracts/out/Strings.sol/Strings.json +1 -0
  986. package/test/contracts/out/TimelockController.sol/TimelockController.json +1 -0
  987. package/test/contracts/out/TimelockReentrant.sol/TimelockReentrant.json +1 -0
  988. package/test/contracts/out/Timers.sol/Timers.json +1 -0
  989. package/test/contracts/out/TimersBlockNumberImpl.sol/TimersBlockNumberImpl.json +1 -0
  990. package/test/contracts/out/TimersTimestampImpl.sol/TimersTimestampImpl.json +1 -0
  991. package/test/contracts/out/TokenTimelock.sol/TokenTimelock.json +1 -0
  992. package/test/contracts/out/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +1 -0
  993. package/test/contracts/out/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +1 -0
  994. package/test/contracts/out/UUPSLegacy.sol/UUPSUpgradeableLegacyMock.json +1 -0
  995. package/test/contracts/out/UUPSUpgradeable.sol/UUPSUpgradeable.json +1 -0
  996. package/test/contracts/out/UUPSUpgradeableMock.sol/NonUpgradeableMock.json +1 -0
  997. package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableMock.json +1 -0
  998. package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableUnsafeMock.json +1 -0
  999. package/test/contracts/out/UpgradeableBeacon.sol/UpgradeableBeacon.json +1 -0
  1000. package/test/contracts/out/VestingWallet.sol/VestingWallet.json +1 -0
  1001. package/test/contracts/out/Vm.sol/Vm.json +1 -0
  1002. package/test/contracts/out/Vm.sol/VmSafe.json +1 -0
  1003. package/test/contracts/out/Votes.sol/Votes.json +1 -0
  1004. package/test/contracts/out/VotesMock.sol/VotesMock.json +1 -0
  1005. package/test/contracts/out/VotesMock.sol/VotesTimestampMock.json +1 -0
  1006. package/test/contracts/out/VotesTimestamp.sol/ERC20VotesCompTimestampMock.json +1 -0
  1007. package/test/contracts/out/VotesTimestamp.sol/ERC20VotesTimestampMock.json +1 -0
  1008. package/test/contracts/out/VotesTimestamp.sol/ERC721VotesTimestampMock.json +1 -0
  1009. package/test/contracts/out/bridges.sol/BaseRelayMock.json +1 -0
  1010. package/test/contracts/out/bridges.sol/BridgeAMBMock.json +1 -0
  1011. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Inbox.json +1 -0
  1012. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Mock.json +1 -0
  1013. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Outbox.json +1 -0
  1014. package/test/contracts/out/bridges.sol/BridgeArbitrumL2Mock.json +1 -0
  1015. package/test/contracts/out/bridges.sol/BridgeOptimismMock.json +1 -0
  1016. package/test/contracts/out/bridges.sol/BridgePolygonChildMock.json +1 -0
  1017. package/test/contracts/out/build-info/2be03bb8eb1ccda1.json +1 -0
  1018. package/test/contracts/out/console.sol/console.json +1 -0
  1019. package/test/contracts/out/console2.sol/console2.json +1 -0
  1020. package/test/contracts/out/demo.sol/DemoTest.json +1 -0
  1021. package/test/contracts/out/demo.sol/DemoTestWithSetUp.json +1 -0
  1022. package/test/contracts/out/draft-IERC1822.sol/IERC1822Proxiable.json +1 -0
  1023. package/test/contracts/out/interfaces/IERC1155.sol/IERC1155.json +1 -0
  1024. package/test/contracts/out/interfaces/IERC165.sol/IERC165.json +1 -0
  1025. package/test/contracts/out/interfaces/IERC20.sol/IERC20.json +1 -0
  1026. package/test/contracts/out/interfaces/IERC4626.sol/IERC4626.json +1 -0
  1027. package/test/contracts/out/interfaces/IERC721.sol/IERC721.json +1 -0
  1028. package/test/contracts/out/receivers.sol/CrossChainEnabledAMBMock.json +1 -0
  1029. package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL1Mock.json +1 -0
  1030. package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL2Mock.json +1 -0
  1031. package/test/contracts/out/receivers.sol/CrossChainEnabledOptimismMock.json +1 -0
  1032. package/test/contracts/out/receivers.sol/CrossChainEnabledPolygonChildMock.json +1 -0
  1033. package/test/contracts/out/receivers.sol/Receiver.json +1 -0
  1034. package/test/contracts/out/test.sol/DSTest.json +1 -0
  1035. package/test/contracts/out/test.sol/Test.json +1 -0
  1036. package/test/contracts/out/test.t.sol/DemoTest.json +1 -0
  1037. package/test/database-api.e2e.test.ts +666 -0
  1038. package/test/debug-anvil.ts +44 -0
  1039. package/test/deferred-restart.e2e.test.ts +368 -0
  1040. package/test/discord-connector.e2e.test.ts +463 -0
  1041. package/test/e2e-global-setup.ts +29 -0
  1042. package/test/e2e-validation.e2e.test.ts +1588 -0
  1043. package/test/health-endpoint.e2e.test.ts +95 -0
  1044. package/test/knowledge-e2e-flow.e2e.test.ts +134 -0
  1045. package/test/knowledge-live.e2e.test.ts +405 -0
  1046. package/test/mcp-config.e2e.test.ts +630 -0
  1047. package/test/native-modules.e2e.test.ts +470 -0
  1048. package/test/permissions-api.e2e.test.ts +637 -0
  1049. package/test/plugin-install.e2e.test.ts +645 -0
  1050. package/test/plugin-lifecycle.e2e.test.ts +617 -0
  1051. package/test/plugin-management.e2e.test.ts +308 -0
  1052. package/test/provider-switch.e2e.test.ts +322 -0
  1053. package/test/scripts/test-force.ts +139 -0
  1054. package/test/scripts/test-parallel.mjs +192 -0
  1055. package/test/scripts/validate-all-features.sh +557 -0
  1056. package/test/setup.ts +122 -0
  1057. package/test/signal-connector.e2e.test.ts +229 -0
  1058. package/test/skills-marketplace-api.e2e.test.ts +585 -0
  1059. package/test/skills-marketplace-services.e2e.test.ts +518 -0
  1060. package/test/skills-marketplace.e2e.test.ts +268 -0
  1061. package/test/stubs/coding-agent-module.ts +18 -0
  1062. package/test/stubs/electron-module.ts +17 -0
  1063. package/test/stubs/empty-module.mjs +4 -0
  1064. package/test/stubs/pi-ai-module.ts +12 -0
  1065. package/test/subscription-auth.e2e.test.ts +747 -0
  1066. package/test/terminal-execution.e2e.test.ts +134 -0
  1067. package/test/terminal-run-limits.e2e.test.ts +132 -0
  1068. package/test/test-env.ts +156 -0
  1069. package/test/trajectory-collection.e2e.test.ts +800 -0
  1070. package/test/trajectory-database.e2e.test.ts +209 -0
  1071. package/test/trajectory-embedding-filter.e2e.test.ts +317 -0
  1072. package/test/trajectory-restart-carryover.e2e.test.ts +306 -0
  1073. package/test/trigger-execution-flow.e2e.test.ts +132 -0
  1074. package/test/trigger-runtime.e2e.test.ts +247 -0
  1075. package/test/wallet-api.e2e.test.ts +1295 -0
  1076. package/test/wallet-live.e2e.test.ts +428 -0
  1077. package/vitest.e2e.config.ts +71 -0
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testStyleColor","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"testStyleCombined","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"testStyleCustom","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"testStyleFontWeight","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60806040525f8054600160ff19918216811790925560048054909116909117905534801561002b575f80fd5b506129ca806100395f395ff3fe608060405234801561000f575f80fd5b50600436106100e5575f3560e01c8063916a17c611610088578063ba414fa611610063578063ba414fa61461016b578063bd87dfec14610183578063e20c9f711461018b578063fa7626d414610193575f80fd5b8063916a17c614610153578063aac636661461015b578063b5508aa914610163575f80fd5b80633f7286f4116100c35780633f7286f4146101195780634a8798381461012157806366d9a9a01461012957806385226c811461013e575f80fd5b80630188f044146100e95780631ed7831c146100f35780633e5e3c2314610111575b5f80fd5b6100f161019f565b005b6100fb610248565b60405161010891906125f1565b60405180910390f35b6100fb6102a8565b6100fb610306565b6100f1610364565b6101316103c8565b604051610108919061263d565b6101466104b2565b604051610108919061273b565b61013161057d565b6100f161065e565b610146610b61565b610173610c2c565b6040519015158152602001610108565b6100f1610d41565b6100fb611178565b5f546101739060ff1681565b6101e46101df6101da6040518060400160405280601481526020017314995908109bdb190814dd1c9a5b99c815195cdd60621b8152506111d6565b611204565b61122d565b6102006101df6101fb678ac7230489e80000611273565b6112ed565b61021d6101df610218678ac7230489e7ffff19611316565b611390565b6102316101df61022c5f6113b9565b61143b565b6102466101df6102416001611464565b6114df565b565b6060600d80548060200260200160405190810160405280929190818152602001828054801561029e57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610280575b5050505050905090565b6060600f80548060200260200160405190810160405280929190818152602001828054801561029e57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610280575050505050905090565b6060600e80548060200260200160405190810160405280929190818152602001828054801561029e57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610280575050505050905090565b6103966101df6040518060400160405280600e81526020016d437573746f6d205374796c65203160901b815250611508565b6102466101df6040518060400160405280600e81526020016d21bab9ba37b69029ba3cb632901960911b81525061151e565b60606012805480602002602001604051908101604052809291908181526020015f905b828210156104a9575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561049157602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116104535790505b505050505081525050815260200190600101906103eb565b50505050905090565b60606011805480602002602001604051908101604052809291908181526020015f905b828210156104a9578382905f5260205f200180546104f29061279b565b80601f016020809104026020016040519081016040528092919081815260200182805461051e9061279b565b80156105695780601f1061054057610100808354040283529160200191610569565b820191905f5260205f20905b81548152906001019060200180831161054c57829003601f168201915b5050505050815260200190600101906104d5565b60606013805480602002602001604051908101604052809291908181526020015f905b828210156104a9575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561064657602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116106085790505b505050505081525050815260200190600101906105a0565b61069f6101df6040518060400160405280601881526020017f5374645374796c652e72656420537472696e6720546573740000000000000000815250611204565b6106b36101df678ac7230489e80000611534565b6106c86101df678ac7230489e7ffff196115a9565b6106d56101df60016115e1565b6106e16101df5f61161a565b61070f6101df6040518060400160405280601481526020015f8051602061297583398151915281525061165a565b6107316101df7229ba3229ba3cb632973932b2213cba32b9999960691b611691565b6107726101df6040518060400160405280601a81526020017f5374645374796c652e677265656e20537472696e6720546573740000000000008152506112ed565b6107866101df678ac7230489e800006116c9565b61079b6101df678ac7230489e7ffff1961173e565b6107a86101df6001611776565b6107b46101df5f6117af565b6107e26101df6040518060400160405280601481526020015f805160206129758339815191528152506117ef565b6108066101df7429ba3229ba3cb6329733b932b2b7213cba32b9999960591b611826565b6108476101df6040518060400160405280601b81526020017f5374645374796c652e79656c6c6f7720537472696e6720546573740000000000815250611390565b61085b6101df678ac7230489e8000061185e565b6108706101df678ac7230489e7ffff196118d3565b61087d6101df600161190b565b6108896101df5f611944565b6108b76101df6040518060400160405280601481526020015f80516020612975833981519152815250611984565b6108dc6101df7529ba3229ba3cb632973cb2b63637bba13cba32b9999960511b6119bb565b61091d6101df6040518060400160405280601981526020017f5374645374796c652e626c756520537472696e6720546573740000000000000081525061143b565b6109316101df678ac7230489e800006119f3565b6109466101df678ac7230489e7ffff19611a68565b6109536101df6001611aa0565b61095f6101df5f611ad9565b61098d6101df6040518060400160405280601481526020015f80516020612975833981519152815250611b19565b6109b06101df7329ba3229ba3cb6329731363ab2a13cba32b9999960611b611b50565b6109f16101df6040518060400160405280601c81526020017f5374645374796c652e6d6167656e746120537472696e672054657374000000008152506114df565b610a056101df678ac7230489e80000611b88565b610a1a6101df678ac7230489e7ffff19611bfd565b610a276101df6001611c35565b610a336101df5f611c6e565b610a616101df6040518060400160405280601481526020015f80516020612975833981519152815250611cae565b610a8d6101df7f5374645374796c652e6d6167656e746142797465733332000000000000000000611ce5565b610ace6101df6040518060400160405280601981526020017f5374645374796c652e6379616e20537472696e67205465737400000000000000815250611d1d565b610ae26101df678ac7230489e80000611d46565b610af76101df678ac7230489e7ffff19611dbb565b610b046101df6001611df3565b610b106101df5f611e2c565b610b3e6101df6040518060400160405280601481526020015f80516020612975833981519152815250611e6c565b6102466101df7329ba3229ba3cb6329731bcb0b7213cba32b9999960611b611ea3565b60606010805480602002602001604051908101604052809291908181526020015f905b828210156104a9578382905f5260205f20018054610ba19061279b565b80601f0160208091040260200160405190810160405280929190818152602001828054610bcd9061279b565b8015610c185780601f10610bef57610100808354040283529160200191610c18565b820191905f5260205f20905b815481529060010190602001808311610bfb57829003601f168201915b505050505081526020019060010190610b84565b5f8054610100900460ff1615610c4a57505f54610100900460ff1690565b5f5f805160206129558339815191523b15610d3c57604080515f80516020612955833981519152602082018190526519985a5b195960d21b82840152825180830384018152606083019093525f929091610cc8917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016127d3565b60408051601f1981840301815290829052610ce291612803565b5f604051808303815f865af19150503d805f8114610d1b576040519150601f19603f3d011682016040523d82523d5f602084013e610d20565b606091505b5091505080806020019051810190610d38919061281e565b9150505b919050565b610d826101df6040518060400160405280601981526020017f5374645374796c652e626f6c6420537472696e672054657374000000000000008152506111d6565b610d966101df678ac7230489e80000611edb565b610dab6101df678ac7230489e7ffff19611f50565b610db76101df5f611f88565b610dc46101df6001611fc8565b610df26101df6040518060400160405280601481526020015f80516020612975833981519152815250612001565b610e156101df7329ba3229ba3cb632973137b632213cba32b9999960611b612038565b610e566101df6040518060400160405280601881526020017f5374645374796c652e64696d20537472696e6720546573740000000000000000815250612070565b610e6a6101df678ac7230489e80000611273565b610e7f6101df678ac7230489e7ffff19612098565b610e8b6101df5f6120d0565b610e986101df6001612110565b610ec66101df6040518060400160405280601481526020015f80516020612975833981519152815250612149565b610ee86101df7229ba3229ba3cb632973234b6a13cba32b9999960691b612180565b610f296101df6040518060400160405280601b81526020017f5374645374796c652e6974616c696320537472696e67205465737400000000008152506121b8565b610f3d6101df678ac7230489e800006121e0565b610f526101df678ac7230489e7ffff19611316565b610f5e6101df5f612218565b610f6b6101df6001612258565b610f996101df6040518060400160405280601481526020015f80516020612975833981519152815250612291565b610fbe6101df7529ba3229ba3cb6329734ba30b634b1a13cba32b9999960511b6122c8565b610fff6101df6040518060400160405280601e81526020017f5374645374796c652e756e6465726c696e6520537472696e6720546573740000815250612300565b6110136101df678ac7230489e80000612328565b6110286101df678ac7230489e7ffff19612360565b6110346101df5f6113b9565b6110416101df6001612398565b61106f6101df6040518060400160405280601481526020015f805160206129758339815191528152506123d1565b61109b6101df7f5374645374796c652e756e6465726c696e654279746573333200000000000000612408565b6110dc6101df6040518060400160405280601c81526020017f5374645374796c652e696e766572736520537472696e67205465737400000000815250612440565b6110f06101df678ac7230489e80000612468565b6111056101df678ac7230489e7ffff196124a0565b6111116101df5f6124d8565b61111e6101df6001611464565b61114c6101df6040518060400160405280601481526020015f80516020612975833981519152815250612518565b6102466101df7f5374645374796c652e696e76657273654279746573333200000000000000000061254f565b6060600c80548060200260200160405190810160405280929190818152602001828054801561029e57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610280575050505050905090565b60606111fe604051806040016040528060048152602001631b5b316d60e01b81525083612587565b92915050565b60606111fe604051806040016040528060058152602001641b5b39316d60d81b81525083612587565b611270816040516024016112419190612844565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b1790526125d1565b50565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa1580156112c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526112e8919081019061286a565b612070565b60606111fe604051806040016040528060058152602001641b5b39326d60d81b81525083612587565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e906024015b5f60405180830381865afa158015611364573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261138b919081019061286a565b6121b8565b60606111fe604051806040016040528060058152602001641b5b39336d60d81b81525083612587565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e906024015b5f60405180830381865afa15801561140f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611436919081019061286a565b612300565b60606111fe604051806040016040528060058152602001641b5b39346d60d81b81525083612587565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da906024015b5f60405180830381865afa1580156114b3573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526114da919081019061286a565b612440565b60606111fe604051806040016040528060058152602001641b5b39356d60d81b81525083612587565b60606111fe6115196114da846111d6565b611d1d565b60606111fe61024161152f84612300565b6111d6565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa158015611582573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526101da919081019061286a565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e90602401611568565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da90602401611568565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e90602401611568565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d90611568908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e890602401611568565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa158015611717573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526101fb919081019061286a565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e906024016116fd565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da906024016116fd565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e906024016116fd565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d906116fd908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e8906024016116fd565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa1580156118ac573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610218919081019061286a565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e90602401611892565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da90602401611892565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e90602401611892565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d90611892908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e890602401611892565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa158015611a41573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261022c919081019061286a565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e90602401611a27565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da90602401611a27565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e90602401611a27565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d90611a27908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e890602401611a27565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa158015611bd6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610241919081019061286a565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e90602401611bbc565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da90602401611bbc565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e90602401611bbc565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d90611bbc908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e890602401611bbc565b60606111fe604051806040016040528060058152602001641b5b39366d60d81b81525083612587565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa158015611d94573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611519919081019061286a565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e90602401611d7a565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da90602401611d7a565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e90602401611d7a565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d90611d7a908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e890602401611d7a565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa158015611f29573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261152f919081019061286a565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e90602401611f0f565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e90602401611f0f565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da90602401611f0f565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d90611f0f908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e890602401611f0f565b60606111fe604051806040016040528060048152602001631b5b326d60e01b81525083612587565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e906024016112a7565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e906024016112a7565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da906024016112a7565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d906112a7908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e8906024016112a7565b60606111fe604051806040016040528060048152602001631b5b336d60e01b81525083612587565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae9060240161134a565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e9060240161134a565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da9060240161134a565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d9061134a908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e89060240161134a565b60606111fe604051806040016040528060048152602001631b5b346d60e01b81525083612587565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024016113f5565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e906024016113f5565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da906024016113f5565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d906113f5908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e8906024016113f5565b60606111fe604051806040016040528060048152602001631b5b376d60e01b81525083612587565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae90602401611499565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e90602401611499565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e90602401611499565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d90611499908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e890602401611499565b60608282604051806040016040528060048152602001631b5b306d60e01b8152506040516020016125ba93929190612912565b604051602081830303815290604052905092915050565b80516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b602080825282518282018190525f9190848201906040850190845b818110156126315783516001600160a01b03168352928401929184019160010161260c565b50909695505050505050565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f805b848110156126df57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156126ca5783516001600160e01b0319168252928b019260019290920191908b01906126a0565b50978a01979550505091870191600101612663565b50919998505050505050505050565b5f5b838110156127085781810151838201526020016126f0565b50505f910152565b5f81518084526127278160208601602086016126ee565b601f01601f19169290920160200192915050565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b8281101561278e57603f1988860301845261277c858351612710565b94509285019290850190600101612760565b5092979650505050505050565b600181811c908216806127af57607f821691505b6020821081036127cd57634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160e01b03198316815281515f906127f58160048501602087016126ee565b919091016004019392505050565b5f82516128148184602087016126ee565b9190910192915050565b5f6020828403121561282e575f80fd5b8151801515811461283d575f80fd5b9392505050565b602081525f61283d6020830184612710565b634e487b7160e01b5f52604160045260245ffd5b5f6020828403121561287a575f80fd5b815167ffffffffffffffff80821115612891575f80fd5b818401915084601f8301126128a4575f80fd5b8151818111156128b6576128b6612856565b604051601f8201601f19908116603f011681019083821181831017156128de576128de612856565b816040528281528760208487010111156128f6575f80fd5b6129078360208301602088016126ee565b979650505050505050565b5f84516129238184602089016126ee565b8451908301906129378183602089016126ee565b845191019061294a8183602088016126ee565b019594505050505056fe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d7109709ecfa91a80626ff3989d68f67f5b1dd12d000000000000000000000000a2646970667358221220219f4f4cd5a6957d045606fe853e3cbefe0e97512662b1f03fe766c89f31916764736f6c63430008140033","sourceMap":"92:5733:298:-:0;;;1572:26:268;;;1594:4;-1:-1:-1;;1572:26:268;;;;;;;;3288:44:273;;;;;;;;;;;92:5733:298;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b50600436106100e5575f3560e01c8063916a17c611610088578063ba414fa611610063578063ba414fa61461016b578063bd87dfec14610183578063e20c9f711461018b578063fa7626d414610193575f80fd5b8063916a17c614610153578063aac636661461015b578063b5508aa914610163575f80fd5b80633f7286f4116100c35780633f7286f4146101195780634a8798381461012157806366d9a9a01461012957806385226c811461013e575f80fd5b80630188f044146100e95780631ed7831c146100f35780633e5e3c2314610111575b5f80fd5b6100f161019f565b005b6100fb610248565b60405161010891906125f1565b60405180910390f35b6100fb6102a8565b6100fb610306565b6100f1610364565b6101316103c8565b604051610108919061263d565b6101466104b2565b604051610108919061273b565b61013161057d565b6100f161065e565b610146610b61565b610173610c2c565b6040519015158152602001610108565b6100f1610d41565b6100fb611178565b5f546101739060ff1681565b6101e46101df6101da6040518060400160405280601481526020017314995908109bdb190814dd1c9a5b99c815195cdd60621b8152506111d6565b611204565b61122d565b6102006101df6101fb678ac7230489e80000611273565b6112ed565b61021d6101df610218678ac7230489e7ffff19611316565b611390565b6102316101df61022c5f6113b9565b61143b565b6102466101df6102416001611464565b6114df565b565b6060600d80548060200260200160405190810160405280929190818152602001828054801561029e57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610280575b5050505050905090565b6060600f80548060200260200160405190810160405280929190818152602001828054801561029e57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610280575050505050905090565b6060600e80548060200260200160405190810160405280929190818152602001828054801561029e57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610280575050505050905090565b6103966101df6040518060400160405280600e81526020016d437573746f6d205374796c65203160901b815250611508565b6102466101df6040518060400160405280600e81526020016d21bab9ba37b69029ba3cb632901960911b81525061151e565b60606012805480602002602001604051908101604052809291908181526020015f905b828210156104a9575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561049157602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116104535790505b505050505081525050815260200190600101906103eb565b50505050905090565b60606011805480602002602001604051908101604052809291908181526020015f905b828210156104a9578382905f5260205f200180546104f29061279b565b80601f016020809104026020016040519081016040528092919081815260200182805461051e9061279b565b80156105695780601f1061054057610100808354040283529160200191610569565b820191905f5260205f20905b81548152906001019060200180831161054c57829003601f168201915b5050505050815260200190600101906104d5565b60606013805480602002602001604051908101604052809291908181526020015f905b828210156104a9575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561064657602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116106085790505b505050505081525050815260200190600101906105a0565b61069f6101df6040518060400160405280601881526020017f5374645374796c652e72656420537472696e6720546573740000000000000000815250611204565b6106b36101df678ac7230489e80000611534565b6106c86101df678ac7230489e7ffff196115a9565b6106d56101df60016115e1565b6106e16101df5f61161a565b61070f6101df6040518060400160405280601481526020015f8051602061297583398151915281525061165a565b6107316101df7229ba3229ba3cb632973932b2213cba32b9999960691b611691565b6107726101df6040518060400160405280601a81526020017f5374645374796c652e677265656e20537472696e6720546573740000000000008152506112ed565b6107866101df678ac7230489e800006116c9565b61079b6101df678ac7230489e7ffff1961173e565b6107a86101df6001611776565b6107b46101df5f6117af565b6107e26101df6040518060400160405280601481526020015f805160206129758339815191528152506117ef565b6108066101df7429ba3229ba3cb6329733b932b2b7213cba32b9999960591b611826565b6108476101df6040518060400160405280601b81526020017f5374645374796c652e79656c6c6f7720537472696e6720546573740000000000815250611390565b61085b6101df678ac7230489e8000061185e565b6108706101df678ac7230489e7ffff196118d3565b61087d6101df600161190b565b6108896101df5f611944565b6108b76101df6040518060400160405280601481526020015f80516020612975833981519152815250611984565b6108dc6101df7529ba3229ba3cb632973cb2b63637bba13cba32b9999960511b6119bb565b61091d6101df6040518060400160405280601981526020017f5374645374796c652e626c756520537472696e6720546573740000000000000081525061143b565b6109316101df678ac7230489e800006119f3565b6109466101df678ac7230489e7ffff19611a68565b6109536101df6001611aa0565b61095f6101df5f611ad9565b61098d6101df6040518060400160405280601481526020015f80516020612975833981519152815250611b19565b6109b06101df7329ba3229ba3cb6329731363ab2a13cba32b9999960611b611b50565b6109f16101df6040518060400160405280601c81526020017f5374645374796c652e6d6167656e746120537472696e672054657374000000008152506114df565b610a056101df678ac7230489e80000611b88565b610a1a6101df678ac7230489e7ffff19611bfd565b610a276101df6001611c35565b610a336101df5f611c6e565b610a616101df6040518060400160405280601481526020015f80516020612975833981519152815250611cae565b610a8d6101df7f5374645374796c652e6d6167656e746142797465733332000000000000000000611ce5565b610ace6101df6040518060400160405280601981526020017f5374645374796c652e6379616e20537472696e67205465737400000000000000815250611d1d565b610ae26101df678ac7230489e80000611d46565b610af76101df678ac7230489e7ffff19611dbb565b610b046101df6001611df3565b610b106101df5f611e2c565b610b3e6101df6040518060400160405280601481526020015f80516020612975833981519152815250611e6c565b6102466101df7329ba3229ba3cb6329731bcb0b7213cba32b9999960611b611ea3565b60606010805480602002602001604051908101604052809291908181526020015f905b828210156104a9578382905f5260205f20018054610ba19061279b565b80601f0160208091040260200160405190810160405280929190818152602001828054610bcd9061279b565b8015610c185780601f10610bef57610100808354040283529160200191610c18565b820191905f5260205f20905b815481529060010190602001808311610bfb57829003601f168201915b505050505081526020019060010190610b84565b5f8054610100900460ff1615610c4a57505f54610100900460ff1690565b5f5f805160206129558339815191523b15610d3c57604080515f80516020612955833981519152602082018190526519985a5b195960d21b82840152825180830384018152606083019093525f929091610cc8917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016127d3565b60408051601f1981840301815290829052610ce291612803565b5f604051808303815f865af19150503d805f8114610d1b576040519150601f19603f3d011682016040523d82523d5f602084013e610d20565b606091505b5091505080806020019051810190610d38919061281e565b9150505b919050565b610d826101df6040518060400160405280601981526020017f5374645374796c652e626f6c6420537472696e672054657374000000000000008152506111d6565b610d966101df678ac7230489e80000611edb565b610dab6101df678ac7230489e7ffff19611f50565b610db76101df5f611f88565b610dc46101df6001611fc8565b610df26101df6040518060400160405280601481526020015f80516020612975833981519152815250612001565b610e156101df7329ba3229ba3cb632973137b632213cba32b9999960611b612038565b610e566101df6040518060400160405280601881526020017f5374645374796c652e64696d20537472696e6720546573740000000000000000815250612070565b610e6a6101df678ac7230489e80000611273565b610e7f6101df678ac7230489e7ffff19612098565b610e8b6101df5f6120d0565b610e986101df6001612110565b610ec66101df6040518060400160405280601481526020015f80516020612975833981519152815250612149565b610ee86101df7229ba3229ba3cb632973234b6a13cba32b9999960691b612180565b610f296101df6040518060400160405280601b81526020017f5374645374796c652e6974616c696320537472696e67205465737400000000008152506121b8565b610f3d6101df678ac7230489e800006121e0565b610f526101df678ac7230489e7ffff19611316565b610f5e6101df5f612218565b610f6b6101df6001612258565b610f996101df6040518060400160405280601481526020015f80516020612975833981519152815250612291565b610fbe6101df7529ba3229ba3cb6329734ba30b634b1a13cba32b9999960511b6122c8565b610fff6101df6040518060400160405280601e81526020017f5374645374796c652e756e6465726c696e6520537472696e6720546573740000815250612300565b6110136101df678ac7230489e80000612328565b6110286101df678ac7230489e7ffff19612360565b6110346101df5f6113b9565b6110416101df6001612398565b61106f6101df6040518060400160405280601481526020015f805160206129758339815191528152506123d1565b61109b6101df7f5374645374796c652e756e6465726c696e654279746573333200000000000000612408565b6110dc6101df6040518060400160405280601c81526020017f5374645374796c652e696e766572736520537472696e67205465737400000000815250612440565b6110f06101df678ac7230489e80000612468565b6111056101df678ac7230489e7ffff196124a0565b6111116101df5f6124d8565b61111e6101df6001611464565b61114c6101df6040518060400160405280601481526020015f80516020612975833981519152815250612518565b6102466101df7f5374645374796c652e696e76657273654279746573333200000000000000000061254f565b6060600c80548060200260200160405190810160405280929190818152602001828054801561029e57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610280575050505050905090565b60606111fe604051806040016040528060048152602001631b5b316d60e01b81525083612587565b92915050565b60606111fe604051806040016040528060058152602001641b5b39316d60d81b81525083612587565b611270816040516024016112419190612844565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b1790526125d1565b50565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa1580156112c1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526112e8919081019061286a565b612070565b60606111fe604051806040016040528060058152602001641b5b39326d60d81b81525083612587565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e906024015b5f60405180830381865afa158015611364573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261138b919081019061286a565b6121b8565b60606111fe604051806040016040528060058152602001641b5b39336d60d81b81525083612587565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e906024015b5f60405180830381865afa15801561140f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611436919081019061286a565b612300565b60606111fe604051806040016040528060058152602001641b5b39346d60d81b81525083612587565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da906024015b5f60405180830381865afa1580156114b3573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526114da919081019061286a565b612440565b60606111fe604051806040016040528060058152602001641b5b39356d60d81b81525083612587565b60606111fe6115196114da846111d6565b611d1d565b60606111fe61024161152f84612300565b6111d6565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa158015611582573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526101da919081019061286a565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e90602401611568565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da90602401611568565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e90602401611568565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d90611568908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e890602401611568565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa158015611717573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526101fb919081019061286a565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e906024016116fd565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da906024016116fd565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e906024016116fd565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d906116fd908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e8906024016116fd565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa1580156118ac573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610218919081019061286a565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e90602401611892565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da90602401611892565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e90602401611892565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d90611892908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e890602401611892565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa158015611a41573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261022c919081019061286a565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e90602401611a27565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da90602401611a27565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e90602401611a27565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d90611a27908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e890602401611a27565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa158015611bd6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610241919081019061286a565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e90602401611bbc565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da90602401611bbc565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e90602401611bbc565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d90611bbc908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e890602401611bbc565b60606111fe604051806040016040528060058152602001641b5b39366d60d81b81525083612587565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa158015611d94573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611519919081019061286a565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e90602401611d7a565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da90602401611d7a565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e90602401611d7a565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d90611d7a908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e890602401611d7a565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024015b5f60405180830381865afa158015611f29573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261152f919081019061286a565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e90602401611f0f565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e90602401611f0f565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da90602401611f0f565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d90611f0f908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e890602401611f0f565b60606111fe604051806040016040528060048152602001631b5b326d60e01b81525083612587565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e906024016112a7565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e906024016112a7565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da906024016112a7565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d906112a7908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e8906024016112a7565b60606111fe604051806040016040528060048152602001631b5b336d60e01b81525083612587565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae9060240161134a565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e9060240161134a565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da9060240161134a565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d9061134a908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e89060240161134a565b60606111fe604051806040016040528060048152602001631b5b346d60e01b81525083612587565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae906024016113f5565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e906024016113f5565b6040516338ee73ed60e11b815281151560048201526060906111fe905f80516020612955833981519152906371dce7da906024016113f5565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d906113f5908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e8906024016113f5565b60606111fe604051806040016040528060048152602001631b5b376d60e01b81525083612587565b60405163348051d760e11b8152600481018290526060906111fe905f8051602061295583398151915290636900a3ae90602401611499565b604051635191620760e11b8152600481018290526060906111fe905f805160206129558339815191529063a322c40e90602401611499565b604051632b65311f60e11b81526001600160a01b03821660048201526060906111fe905f80516020612955833981519152906356ca623e90602401611499565b6040516371aad10d60e01b81526060906111fe905f80516020612955833981519152906371aad10d90611499908690600401612844565b604051631623433d60e31b8152600481018290526060906111fe905f805160206129558339815191529063b11a19e890602401611499565b60608282604051806040016040528060048152602001631b5b306d60e01b8152506040516020016125ba93929190612912565b604051602081830303815290604052905092915050565b80516a636f6e736f6c652e6c6f67602083015f808483855afa5050505050565b602080825282518282018190525f9190848201906040850190845b818110156126315783516001600160a01b03168352928401929184019160010161260c565b50909695505050505050565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f805b848110156126df57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156126ca5783516001600160e01b0319168252928b019260019290920191908b01906126a0565b50978a01979550505091870191600101612663565b50919998505050505050505050565b5f5b838110156127085781810151838201526020016126f0565b50505f910152565b5f81518084526127278160208601602086016126ee565b601f01601f19169290920160200192915050565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b8281101561278e57603f1988860301845261277c858351612710565b94509285019290850190600101612760565b5092979650505050505050565b600181811c908216806127af57607f821691505b6020821081036127cd57634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160e01b03198316815281515f906127f58160048501602087016126ee565b919091016004019392505050565b5f82516128148184602087016126ee565b9190910192915050565b5f6020828403121561282e575f80fd5b8151801515811461283d575f80fd5b9392505050565b602081525f61283d6020830184612710565b634e487b7160e01b5f52604160045260245ffd5b5f6020828403121561287a575f80fd5b815167ffffffffffffffff80821115612891575f80fd5b818401915084601f8301126128a4575f80fd5b8151818111156128b6576128b6612856565b604051601f8201601f19908116603f011681019083821181831017156128de576128de612856565b816040528281528760208487010111156128f6575f80fd5b6129078360208301602088016126ee565b979650505050505050565b5f84516129238184602089016126ee565b8451908301906129378183602089016126ee565b845191019061294a8183602088016126ee565b019594505050505056fe0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d7109709ecfa91a80626ff3989d68f67f5b1dd12d000000000000000000000000a2646970667358221220219f4f4cd5a6957d045606fe853e3cbefe0e97512662b1f03fe766c89f31916764736f6c63430008140033","sourceMap":"92:5733:298:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4992:396;;;:::i;:::-;;2161:134:276;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2930:133;;;:::i;2631:141::-;;;:::i;5394:134:298:-;;;:::i;2447:178:276:-;;;:::i;:::-;;;;;;;:::i;2301:140::-;;;:::i;:::-;;;;;;;:::i;2778:146::-;;;:::i;128:2616:298:-;;;:::i;1866:141:276:-;;;:::i;1819:584:268:-;;;:::i;:::-;;;3755:14:310;;3748:22;3730:41;;3718:2;3703:18;1819:584:268;3590:187:310;2750:2236:298;;;:::i;2013:142:276:-;;;:::i;1572:26:268:-;;;;;;;;;4992:396:298;5043:65;5056:51;5069:37;;;;;;;;;;;;;;-1:-1:-1;;;5069:37:298;;;:13;:37::i;:::-;5056:12;:51::i;:::-;5043:12;:65::i;:::-;5118:58;5131:44;5146:28;5167:5;5146:12;:28::i;:::-;5131:14;:44::i;5118:58::-;5186:62;5199:48;5215:31;-1:-1:-1;;5215:15:298;:31::i;:::-;5199:15;:48::i;5186:62::-;5258:59;5271:45;5285:30;5312:1;5285:18;:30::i;:::-;5271:13;:45::i;5258:59::-;5327:54;5340:40;5357:22;5374:4;5357:16;:22::i;:::-;5340:16;:40::i;5327:54::-;4992:396::o;2161:134:276:-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2253:35:276;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;2930:133::-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3021:35:276;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;2631:141::-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2726:39:276;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;5394:134:298:-;5443:34;5456:20;;;;;;;;;;;;;;-1:-1:-1;;;5456:20:298;;;:2;:20::i;5443:34::-;5487;5500:20;;;;;;;;;;;;;;-1:-1:-1;;;5500:20:298;;;:2;:20::i;2447:178:276:-;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2563:55:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2563:55:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;2301:140::-;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2778:146;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:39:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:39:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;128:2616:298;176:54;189:40;;;;;;;;;;;;;;;;;;:12;:40::i;176:54::-;240:42;253:28;274:5;253:12;:28::i;240:42::-;292;305:28;-1:-1:-1;;305:12:298;:28::i;292:42::-;344:32;357:18;370:4;357:12;:18::i;344:32::-;386:38;399:24;420:1;399:12;:24::i;386:38::-;434:78;447:64;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;447:64:298;;;:17;:64::i;434:78::-;522:56;535:42;-1:-1:-1;;;535:19:298;:42::i;522:56::-;588:58;601:44;;;;;;;;;;;;;;;;;;:14;:44::i;588:58::-;656:44;669:30;692:5;669:14;:30::i;656:44::-;710;723:30;-1:-1:-1;;723:14:298;:30::i;710:44::-;764:34;777:20;792:4;777:14;:20::i;764:34::-;808:40;821:26;844:1;821:14;:26::i;808:40::-;858:80;871:66;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;871:66:298;;;:19;:66::i;858:80::-;948:60;961:46;-1:-1:-1;;;961:21:298;:46::i;948:60::-;1018;1031:46;;;;;;;;;;;;;;;;;;:15;:46::i;1018:60::-;1088:45;1101:31;1125:5;1101:15;:31::i;1088:45::-;1143;1156:31;-1:-1:-1;;1156:15:298;:31::i;1143:45::-;1198:35;1211:21;1227:4;1211:15;:21::i;1198:35::-;1243:41;1256:27;1280:1;1256:15;:27::i;1243:41::-;1294:81;1307:67;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1307:67:298;;;:20;:67::i;1294:81::-;1385:62;1398:48;-1:-1:-1;;;1398:22:298;:48::i;1385:62::-;1457:56;1470:42;;;;;;;;;;;;;;;;;;:13;:42::i;1457:56::-;1523:43;1536:29;1558:5;1536:13;:29::i;1523:43::-;1576;1589:29;-1:-1:-1;;1589:13:298;:29::i;1576:43::-;1629:33;1642:19;1656:4;1642:13;:19::i;1629:33::-;1672:39;1685:25;1707:1;1685:13;:25::i;1672:39::-;1721:79;1734:65;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1734:65:298;;;:18;:65::i;1721:79::-;1810:58;1823:44;-1:-1:-1;;;1823:20:298;:44::i;1810:58::-;1878:62;1891:48;;;;;;;;;;;;;;;;;;:16;:48::i;1878:62::-;1950:46;1963:32;1988:5;1963:16;:32::i;1950:46::-;2006;2019:32;-1:-1:-1;;2019:16:298;:32::i;2006:46::-;2062:36;2075:22;2092:4;2075:16;:22::i;2062:36::-;2108:42;2121:28;2146:1;2121:16;:28::i;2108:42::-;2160:82;2173:68;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2173:68:298;;;:21;:68::i;2160:82::-;2252:64;2265:50;;:23;:50::i;2252:64::-;2326:56;2339:42;;;;;;;;;;;;;;;;;;:13;:42::i;2326:56::-;2392:43;2405:29;2427:5;2405:13;:29::i;2392:43::-;2445;2458:29;-1:-1:-1;;2458:13:298;:29::i;2445:43::-;2498:33;2511:19;2525:4;2511:13;:19::i;2498:33::-;2541:39;2554:25;2576:1;2554:13;:25::i;2541:39::-;2590:79;2603:65;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2603:65:298;;;:18;:65::i;2590:79::-;2679:58;2692:44;-1:-1:-1;;;2692:20:298;:44::i;1866:141:276:-;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:268;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:268;;;;;;;;1819:584::o;1869:528::-;1941:17;-1:-1:-1;;;;;;;;;;;2985:55:268;3066:16;1980:374;;2196:43;;;-1:-1:-1;;;;;;;;;;;2196:43:268;;;4341:51:310;;;-1:-1:-1;;;4408:18:310;;;4401:34;2196:43:268;;;;;;;;;4314:18:310;;;2196:43:268;;;-1:-1:-1;;1671:64:268;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:268;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:268:o;2750:2236:298:-;2803:56;2816:42;;;;;;;;;;;;;;;;;;:13;:42::i;2803:56::-;2869:43;2882:29;2904:5;2882:13;:29::i;2869:43::-;2922;2935:29;-1:-1:-1;;2935:13:298;:29::i;2922:43::-;2975:39;2988:25;3010:1;2988:13;:25::i;2975:39::-;3024:33;3037:19;3051:4;3037:13;:19::i;3024:33::-;3067:79;3080:65;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3080:65:298;;;:18;:65::i;3067:79::-;3156:58;3169:44;-1:-1:-1;;;3169:20:298;:44::i;3156:58::-;3224:54;3237:40;;;;;;;;;;;;;;;;;;:12;:40::i;3224:54::-;3288:42;3301:28;3322:5;3301:12;:28::i;3288:42::-;3340;3353:28;-1:-1:-1;;3353:12:298;:28::i;3340:42::-;3392:38;3405:24;3426:1;3405:12;:24::i;3392:38::-;3440:32;3453:18;3466:4;3453:12;:18::i;3440:32::-;3482:78;3495:64;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3495:64:298;;;:17;:64::i;3482:78::-;3570:56;3583:42;-1:-1:-1;;;3583:19:298;:42::i;3570:56::-;3636:60;3649:46;;;;;;;;;;;;;;;;;;:15;:46::i;3636:60::-;3706:45;3719:31;3743:5;3719:15;:31::i;3706:45::-;3761;3774:31;-1:-1:-1;;3774:15:298;:31::i;3761:45::-;3816:41;3829:27;3853:1;3829:15;:27::i;3816:41::-;3867:35;3880:21;3896:4;3880:15;:21::i;3867:35::-;3912:81;3925:67;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3925:67:298;;;:20;:67::i;3912:81::-;4003:62;4016:48;-1:-1:-1;;;4016:22:298;:48::i;4003:62::-;4075:66;4088:52;;;;;;;;;;;;;;;;;;:18;:52::i;4075:66::-;4151:48;4164:34;4191:5;4164:18;:34::i;4151:48::-;4209;4222:34;-1:-1:-1;;4222:18:298;:34::i;4209:48::-;4267:44;4280:30;4307:1;4280:18;:30::i;4267:44::-;4321:38;4334:24;4353:4;4334:18;:24::i;4321:38::-;4369:84;4382:70;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4382:70:298;;;:23;:70::i;4369:84::-;4463:68;4476:54;;:25;:54::i;4463:68::-;4541:62;4554:48;;;;;;;;;;;;;;;;;;:16;:48::i;4541:62::-;4613:46;4626:32;4651:5;4626:16;:32::i;4613:46::-;4669;4682:32;-1:-1:-1;;4682:16:298;:32::i;4669:46::-;4725:42;4738:28;4763:1;4738:16;:28::i;4725:42::-;4777:36;4790:22;4807:4;4790:16;:22::i;4777:36::-;4823:82;4836:68;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;4836:68:298;;;:21;:68::i;4823:82::-;4915:64;4928:50;;:23;:50::i;2013:142:276:-;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2109:39:276;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;6067:119:280:-;6124:13;6156:23;6168:4;;;;;;;;;;;;;-1:-1:-1;;;6168:4:280;;;6174;6156:11;:23::i;:::-;6149:30;6067:119;-1:-1:-1;;6067:119:280:o;885:117::-;941:13;973:22;985:3;;;;;;;;;;;;;-1:-1:-1;;;985:3:280;;;990:4;973:11;:22::i;6228:121:285:-;6283:59;6338:2;6299:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6299:42:285;;;;;;;;;;;;;;-1:-1:-1;;;;;6299:42:285;-1:-1:-1;;;6299:42:285;;;6283:15;:59::i;:::-;6228:121;:::o;7042:111:280:-;7128:17;;-1:-1:-1;;;7128:17:280;;;;;5780:25:310;;;7092:13:280;;7124:22;;-1:-1:-1;;;;;;;;;;;7128:11:280;;;5753:18:310;;7128:17:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7128:17:280;;;;;;;;;;;;:::i;:::-;7124:3;:22::i;1723:121::-;1781:13;1813:24;1825:5;;;;;;;;;;;;;-1:-1:-1;;;1825:5:280;;;1832:4;1813:11;:24::i;8009:116::-;8100:17;;-1:-1:-1;;;8100:17:280;;;;;5780:25:310;;;8061:13:280;;8093:25;;-1:-1:-1;;;;;;;;;;;8100:11:280;;;5753:18:310;;8100:17:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8100:17:280;;;;;;;;;;;;:::i;:::-;8093:6;:25::i;2589:123::-;2648:13;2680:25;2692:6;;;;;;;;;;;;;-1:-1:-1;;;2692:6:280;;;2700:4;2680:11;:25::i;9029:123::-;9127:17;;-1:-1:-1;;;9127:17:280;;-1:-1:-1;;;;;7194:32:310;;9127:17:280;;;7176:51:310;9085:13:280;;9117:28;;-1:-1:-1;;;;;;;;;;;9127:11:280;;;7149:18:310;;9127:17:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9127:17:280;;;;;;;;;;;;:::i;:::-;9117:9;:28::i;3469:119::-;3526:13;3558:23;3570:4;;;;;;;;;;;;;-1:-1:-1;;;3570:4:280;;;3576;3558:11;:23::i;10064:116::-;10155:17;;-1:-1:-1;;;10155:17:280;;3755:14:310;;3748:22;10155:17:280;;;3730:41:310;10115:13:280;;10147:26;;-1:-1:-1;;;;;;;;;;;10155:11:280;;;3703:18:310;;10155:17:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10155:17:280;;;;;;;;;;;;:::i;:::-;10147:7;:26::i;4321:125::-;4381:13;4413:26;4425:7;;;;;;;;;;;;;-1:-1:-1;;;4425:7:280;;;4434:4;4413:11;:26::i;5534:139:298:-;5585:13;5617:49;5631:34;5648:16;5662:1;5648:13;:16::i;5631:34::-;5617:13;:49::i;5679:144::-;5730:13;5762:54;5779:36;5793:21;5812:1;5793:18;:21::i;:::-;5779:13;:36::i;1008:111:280:-;1094:17;;-1:-1:-1;;;1094:17:280;;;;;5780:25:310;;;1058:13:280;;1090:22;;-1:-1:-1;;;;;;;;;;;1094:11:280;;;5753:18:310;;1094:17:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1094:17:280;;;;;;;;;;;;:::i;1125:110::-;1210:17;;-1:-1:-1;;;1210:17:280;;;;;5780:25:310;;;1174:13:280;;1206:22;;-1:-1:-1;;;;;;;;;;;1210:11:280;;;5753:18:310;;1210:17:280;5634:177:310;1358:108:280;1441:17;;-1:-1:-1;;;1441:17:280;;3755:14:310;;3748:22;1441:17:280;;;3730:41:310;1405:13:280;;1437:22;;-1:-1:-1;;;;;;;;;;;1441:11:280;;;3703:18:310;;1441:17:280;3590:187:310;1241:111:280;1327:17;;-1:-1:-1;;;1327:17:280;;-1:-1:-1;;;;;7194:32:310;;1327:17:280;;;7176:51:310;1291:13:280;;1323:22;;-1:-1:-1;;;;;;;;;;;1327:11:280;;;7149:18:310;;1327:17:280;7030:203:310;1472:121:280;1568:17;;-1:-1:-1;;;1568:17:280;;1532:13;;1564:22;;-1:-1:-1;;;;;;;;;;;1568:11:280;;;:17;;1580:4;;1568:17;;;:::i;1599:118::-;1692:17;;-1:-1:-1;;;1692:17:280;;;;;5780:25:310;;;1656:13:280;;1688:22;;-1:-1:-1;;;;;;;;;;;1692:11:280;;;5753:18:310;;1692:17:280;5634:177:310;1850:115:280;1940:17;;-1:-1:-1;;;1940:17:280;;;;;5780:25:310;;;1902:13:280;;1934:24;;-1:-1:-1;;;;;;;;;;;1940:11:280;;;5753:18:310;;1940:17:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1940:17:280;;;;;;;;;;;;:::i;1971:114::-;2060:17;;-1:-1:-1;;;2060:17:280;;;;;5780:25:310;;;2022:13:280;;2054:24;;-1:-1:-1;;;;;;;;;;;2060:11:280;;;5753:18:310;;2060:17:280;5634:177:310;2212:112:280;2299:17;;-1:-1:-1;;;2299:17:280;;3755:14:310;;3748:22;2299:17:280;;;3730:41:310;2261:13:280;;2293:24;;-1:-1:-1;;;;;;;;;;;2299:11:280;;;3703:18:310;;2299:17:280;3590:187:310;2091:115:280;2181:17;;-1:-1:-1;;;2181:17:280;;-1:-1:-1;;;;;7194:32:310;;2181:17:280;;;7176:51:310;2143:13:280;;2175:24;;-1:-1:-1;;;;;;;;;;;2181:11:280;;;7149:18:310;;2181:17:280;7030:203:310;2330:125:280;2430:17;;-1:-1:-1;;;2430:17:280;;2392:13;;2424:24;;-1:-1:-1;;;;;;;;;;;2430:11:280;;;:17;;2442:4;;2430:17;;;:::i;2461:122::-;2558:17;;-1:-1:-1;;;2558:17:280;;;;;5780:25:310;;;2520:13:280;;2552:24;;-1:-1:-1;;;;;;;;;;;2558:11:280;;;5753:18:310;;2558:17:280;5634:177:310;2718:117:280;2810:17;;-1:-1:-1;;;2810:17:280;;;;;5780:25:310;;;2771:13:280;;2803:25;;-1:-1:-1;;;;;;;;;;;2810:11:280;;;5753:18:310;;2810:17:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2810:17:280;;;;;;;;;;;;:::i;2841:116::-;2932:17;;-1:-1:-1;;;2932:17:280;;;;;5780:25:310;;;2893:13:280;;2925:25;;-1:-1:-1;;;;;;;;;;;2932:11:280;;;5753:18:310;;2932:17:280;5634:177:310;3086:114:280;3175:17;;-1:-1:-1;;;3175:17:280;;3755:14:310;;3748:22;3175:17:280;;;3730:41:310;3136:13:280;;3168:25;;-1:-1:-1;;;;;;;;;;;3175:11:280;;;3703:18:310;;3175:17:280;3590:187:310;2963:117:280;3055:17;;-1:-1:-1;;;3055:17:280;;-1:-1:-1;;;;;7194:32:310;;3055:17:280;;;7176:51:310;3016:13:280;;3048:25;;-1:-1:-1;;;;;;;;;;;3055:11:280;;;7149:18:310;;3055:17:280;7030:203:310;3206:127:280;3308:17;;-1:-1:-1;;;3308:17:280;;3269:13;;3301:25;;-1:-1:-1;;;;;;;;;;;3308:11:280;;;:17;;3320:4;;3308:17;;;:::i;3339:124::-;3438:17;;-1:-1:-1;;;3438:17:280;;;;;5780:25:310;;;3399:13:280;;3431:25;;-1:-1:-1;;;;;;;;;;;3438:11:280;;;5753:18:310;;3438:17:280;5634:177:310;3594:113:280;3682:17;;-1:-1:-1;;;3682:17:280;;;;;5780:25:310;;;3645:13:280;;3677:23;;-1:-1:-1;;;;;;;;;;;3682:11:280;;;5753:18:310;;3682:17:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3682:17:280;;;;;;;;;;;;:::i;3713:112::-;3800:17;;-1:-1:-1;;;3800:17:280;;;;;5780:25:310;;;3763:13:280;;3795:23;;-1:-1:-1;;;;;;;;;;;3800:11:280;;;5753:18:310;;3800:17:280;5634:177:310;3950:110:280;4035:17;;-1:-1:-1;;;4035:17:280;;3755:14:310;;3748:22;4035:17:280;;;3730:41:310;3998:13:280;;4030:23;;-1:-1:-1;;;;;;;;;;;4035:11:280;;;3703:18:310;;4035:17:280;3590:187:310;3831:113:280;3919:17;;-1:-1:-1;;;3919:17:280;;-1:-1:-1;;;;;7194:32:310;;3919:17:280;;;7176:51:310;3882:13:280;;3914:23;;-1:-1:-1;;;;;;;;;;;3919:11:280;;;7149:18:310;;3919:17:280;7030:203:310;4066:123:280;4164:17;;-1:-1:-1;;;4164:17:280;;4127:13;;4159:23;;-1:-1:-1;;;;;;;;;;;4164:11:280;;;:17;;4176:4;;4164:17;;;:::i;4195:120::-;4290:17;;-1:-1:-1;;;4290:17:280;;;;;5780:25:310;;;4253:13:280;;4285:23;;-1:-1:-1;;;;;;;;;;;4290:11:280;;;5753:18:310;;4290:17:280;5634:177:310;4452:119:280;4546:17;;-1:-1:-1;;;4546:17:280;;;;;5780:25:310;;;4506:13:280;;4538:26;;-1:-1:-1;;;;;;;;;;;4546:11:280;;;5753:18:310;;4546:17:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4546:17:280;;;;;;;;;;;;:::i;4577:118::-;4670:17;;-1:-1:-1;;;4670:17:280;;;;;5780:25:310;;;4630:13:280;;4662:26;;-1:-1:-1;;;;;;;;;;;4670:11:280;;;5753:18:310;;4670:17:280;5634:177:310;4826:116:280;4917:17;;-1:-1:-1;;;4917:17:280;;3755:14:310;;3748:22;4917:17:280;;;3730:41:310;4877:13:280;;4909:26;;-1:-1:-1;;;;;;;;;;;4917:11:280;;;3703:18:310;;4917:17:280;3590:187:310;4701:119:280;4795:17;;-1:-1:-1;;;4795:17:280;;-1:-1:-1;;;;;7194:32:310;;4795:17:280;;;7176:51:310;4755:13:280;;4787:26;;-1:-1:-1;;;;;;;;;;;4795:11:280;;;7149:18:310;;4795:17:280;7030:203:310;4948:129:280;5052:17;;-1:-1:-1;;;5052:17:280;;5012:13;;5044:26;;-1:-1:-1;;;;;;;;;;;5052:11:280;;;:17;;5064:4;;5052:17;;;:::i;5083:126::-;5184:17;;-1:-1:-1;;;5184:17:280;;;;;5780:25:310;;;5144:13:280;;5176:26;;-1:-1:-1;;;;;;;;;;;5184:11:280;;;5753:18:310;;5184:17:280;5634:177:310;5215:119:280;5272:13;5304:23;5316:4;;;;;;;;;;;;;-1:-1:-1;;;5316:4:280;;;5322;5304:11;:23::i;5340:113::-;5428:17;;-1:-1:-1;;;5428:17:280;;;;;5780:25:310;;;5391:13:280;;5423:23;;-1:-1:-1;;;;;;;;;;;5428:11:280;;;5753:18:310;;5428:17:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5428:17:280;;;;;;;;;;;;:::i;5459:112::-;5546:17;;-1:-1:-1;;;5546:17:280;;;;;5780:25:310;;;5509:13:280;;5541:23;;-1:-1:-1;;;;;;;;;;;5546:11:280;;;5753:18:310;;5546:17:280;5634:177:310;5696:110:280;5781:17;;-1:-1:-1;;;5781:17:280;;3755:14:310;;3748:22;5781:17:280;;;3730:41:310;5744:13:280;;5776:23;;-1:-1:-1;;;;;;;;;;;5781:11:280;;;3703:18:310;;5781:17:280;3590:187:310;5577:113:280;5665:17;;-1:-1:-1;;;5665:17:280;;-1:-1:-1;;;;;7194:32:310;;5665:17:280;;;7176:51:310;5628:13:280;;5660:23;;-1:-1:-1;;;;;;;;;;;5665:11:280;;;7149:18:310;;5665:17:280;7030:203:310;5812:123:280;5910:17;;-1:-1:-1;;;5910:17:280;;5873:13;;5905:23;;-1:-1:-1;;;;;;;;;;;5910:11:280;;;:17;;5922:4;;5910:17;;;:::i;5941:120::-;6036:17;;-1:-1:-1;;;6036:17:280;;;;;5780:25:310;;;5999:13:280;;6031:23;;-1:-1:-1;;;;;;;;;;;6036:11:280;;;5753:18:310;;6036:17:280;5634:177:310;6192:113:280;6280:17;;-1:-1:-1;;;6280:17:280;;;;;5780:25:310;;;6243:13:280;;6275:23;;-1:-1:-1;;;;;;;;;;;6280:11:280;;;5753:18:310;;6280:17:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6280:17:280;;;;;;;;;;;;:::i;6311:112::-;6398:17;;-1:-1:-1;;;6398:17:280;;;;;5780:25:310;;;6361:13:280;;6393:23;;-1:-1:-1;;;;;;;;;;;6398:11:280;;;5753:18:310;;6398:17:280;5634:177:310;6429:113:280;6517:17;;-1:-1:-1;;;6517:17:280;;-1:-1:-1;;;;;7194:32:310;;6517:17:280;;;7176:51:310;6480:13:280;;6512:23;;-1:-1:-1;;;;;;;;;;;6517:11:280;;;7149:18:310;;6517:17:280;7030:203:310;6548:110:280;6633:17;;-1:-1:-1;;;6633:17:280;;3755:14:310;;3748:22;6633:17:280;;;3730:41:310;6596:13:280;;6628:23;;-1:-1:-1;;;;;;;;;;;6633:11:280;;;3703:18:310;;6633:17:280;3590:187:310;6664:123:280;6762:17;;-1:-1:-1;;;6762:17:280;;6725:13;;6757:23;;-1:-1:-1;;;;;;;;;;;6762:11:280;;;:17;;6774:4;;6762:17;;;:::i;6793:120::-;6888:17;;-1:-1:-1;;;6888:17:280;;;;;5780:25:310;;;6851:13:280;;6883:23;;-1:-1:-1;;;;;;;;;;;6888:11:280;;;5753:18:310;;6888:17:280;5634:177:310;6919:117:280;6975:13;7007:22;7019:3;;;;;;;;;;;;;-1:-1:-1;;;7019:3:280;;;7024:4;7007:11;:22::i;7159:110::-;7244:17;;-1:-1:-1;;;7244:17:280;;;;;5780:25:310;;;7208:13:280;;7240:22;;-1:-1:-1;;;;;;;;;;;7244:11:280;;;5753:18:310;;7244:17:280;5634:177:310;7275:111:280;7361:17;;-1:-1:-1;;;7361:17:280;;-1:-1:-1;;;;;7194:32:310;;7361:17:280;;;7176:51:310;7325:13:280;;7357:22;;-1:-1:-1;;;;;;;;;;;7361:11:280;;;7149:18:310;;7361:17:280;7030:203:310;7392:108:280;7475:17;;-1:-1:-1;;;7475:17:280;;3755:14:310;;3748:22;7475:17:280;;;3730:41:310;7439:13:280;;7471:22;;-1:-1:-1;;;;;;;;;;;7475:11:280;;;3703:18:310;;7475:17:280;3590:187:310;7506:121:280;7602:17;;-1:-1:-1;;;7602:17:280;;7566:13;;7598:22;;-1:-1:-1;;;;;;;;;;;7602:11:280;;;:17;;7614:4;;7602:17;;;:::i;7633:118::-;7726:17;;-1:-1:-1;;;7726:17:280;;;;;5780:25:310;;;7690:13:280;;7722:22;;-1:-1:-1;;;;;;;;;;;7726:11:280;;;5753:18:310;;7726:17:280;5634:177:310;7757:123:280;7816:13;7848:25;7860:6;;;;;;;;;;;;;-1:-1:-1;;;7860:6:280;;;7868:4;7848:11;:25::i;7886:117::-;7978:17;;-1:-1:-1;;;7978:17:280;;;;;5780:25:310;;;7939:13:280;;7971:25;;-1:-1:-1;;;;;;;;;;;7978:11:280;;;5753:18:310;;7978:17:280;5634:177:310;8131:117:280;8223:17;;-1:-1:-1;;;8223:17:280;;-1:-1:-1;;;;;7194:32:310;;8223:17:280;;;7176:51:310;8184:13:280;;8216:25;;-1:-1:-1;;;;;;;;;;;8223:11:280;;;7149:18:310;;8223:17:280;7030:203:310;8254:114:280;8343:17;;-1:-1:-1;;;8343:17:280;;3755:14:310;;3748:22;8343:17:280;;;3730:41:310;8304:13:280;;8336:25;;-1:-1:-1;;;;;;;;;;;8343:11:280;;;3703:18:310;;8343:17:280;3590:187:310;8374:127:280;8476:17;;-1:-1:-1;;;8476:17:280;;8437:13;;8469:25;;-1:-1:-1;;;;;;;;;;;8476:11:280;;;:17;;8488:4;;8476:17;;;:::i;8507:124::-;8606:17;;-1:-1:-1;;;8606:17:280;;;;;5780:25:310;;;8567:13:280;;8599:25;;-1:-1:-1;;;;;;;;;;;8606:11:280;;;5753:18:310;;8606:17:280;5634:177:310;8637:129:280;8699:13;8731:28;8743:9;;;;;;;;;;;;;-1:-1:-1;;;8743:9:280;;;8754:4;8731:11;:28::i;8772:123::-;8870:17;;-1:-1:-1;;;8870:17:280;;;;;5780:25:310;;;8828:13:280;;8860:28;;-1:-1:-1;;;;;;;;;;;8870:11:280;;;5753:18:310;;8870:17:280;5634:177:310;8901:122:280;8998:17;;-1:-1:-1;;;8998:17:280;;;;;5780:25:310;;;8956:13:280;;8988:28;;-1:-1:-1;;;;;;;;;;;8998:11:280;;;5753:18:310;;8998:17:280;5634:177:310;9158:120:280;9253:17;;-1:-1:-1;;;9253:17:280;;3755:14:310;;3748:22;9253:17:280;;;3730:41:310;9211:13:280;;9243:28;;-1:-1:-1;;;;;;;;;;;9253:11:280;;;3703:18:310;;9253:17:280;3590:187:310;9284:133:280;9392:17;;-1:-1:-1;;;9392:17:280;;9350:13;;9382:28;;-1:-1:-1;;;;;;;;;;;9392:11:280;;;:17;;9404:4;;9392:17;;;:::i;9423:130::-;9528:17;;-1:-1:-1;;;9528:17:280;;;;;5780:25:310;;;9486:13:280;;9518:28;;-1:-1:-1;;;;;;;;;;;9528:11:280;;;5753:18:310;;9528:17:280;5634:177:310;9559:125:280;9619:13;9651:26;9663:7;;;;;;;;;;;;;-1:-1:-1;;;9663:7:280;;;9672:4;9651:11;:26::i;9690:119::-;9784:17;;-1:-1:-1;;;9784:17:280;;;;;5780:25:310;;;9744:13:280;;9776:26;;-1:-1:-1;;;;;;;;;;;9784:11:280;;;5753:18:310;;9784:17:280;5634:177:310;9815:118:280;9908:17;;-1:-1:-1;;;9908:17:280;;;;;5780:25:310;;;9868:13:280;;9900:26;;-1:-1:-1;;;;;;;;;;;9908:11:280;;;5753:18:310;;9908:17:280;5634:177:310;9939:119:280;10033:17;;-1:-1:-1;;;10033:17:280;;-1:-1:-1;;;;;7194:32:310;;10033:17:280;;;7176:51:310;9993:13:280;;10025:26;;-1:-1:-1;;;;;;;;;;;10033:11:280;;;7149:18:310;;10033:17:280;7030:203:310;10186:129:280;10290:17;;-1:-1:-1;;;10290:17:280;;10250:13;;10282:26;;-1:-1:-1;;;;;;;;;;;10290:11:280;;;:17;;10302:4;;10290:17;;;:::i;10321:126::-;10422:17;;-1:-1:-1;;;10422:17:280;;;;;5780:25:310;;;10382:13:280;;10414:26;;-1:-1:-1;;;;;;;;;;;10422:11:280;;;5753:18:310;;10422:17:280;5634:177:310;712:167:280;796:13;852:5;859:4;865:5;;;;;;;;;;;;;-1:-1:-1;;;865:5:280;;;835:36;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;821:51;;712:167;;;;:::o;641:376:285:-;735:14;;591:42;908:2;895:16;;711:21;;735:14;895:16;591:42;944:5;933:68;924:77;;861:150;;641:376;:::o;14:658:310:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:195;465:6;462:1;459:13;451:195;;;530:13;;-1:-1:-1;;;;;526:39:310;514:52;;621:15;;;;586:12;;;;562:1;480:9;451:195;;;-1:-1:-1;663:3:310;;14:658;-1:-1:-1;;;;;;14:658:310:o;677:1569::-;881:4;910:2;950;939:9;935:18;980:2;969:9;962:21;1003:6;1038;1032:13;1069:6;1061;1054:22;1095:2;1085:12;;1128:2;1117:9;1113:18;1106:25;;1190:2;1180:6;1177:1;1173:14;1162:9;1158:30;1154:39;1228:2;1220:6;1216:15;1249:1;1270;1280:937;1296:6;1291:3;1288:15;1280:937;;;1365:22;;;-1:-1:-1;;1361:36:310;1349:49;;1421:13;;1508:9;;-1:-1:-1;;;;;1504:35:310;1489:51;;1579:11;;1573:18;1611:15;;;1604:27;;;1692:19;;1461:15;;;1724:24;;;1814:21;;;;1859:1;;1782:2;1770:15;;;1873:236;1889:8;1884:3;1881:17;1873:236;;;1970:15;;-1:-1:-1;;;;;;1966:42:310;1952:57;;2078:17;;;;1917:1;1908:11;;;;;2035:14;;;;1873:236;;;-1:-1:-1;2195:12:310;;;;2132:5;-1:-1:-1;;;2160:15:310;;;;1322:1;1313:11;1280:937;;;-1:-1:-1;2234:6:310;;677:1569;-1:-1:-1;;;;;;;;;677:1569:310:o;2251:250::-;2336:1;2346:113;2360:6;2357:1;2354:13;2346:113;;;2436:11;;;2430:18;2417:11;;;2410:39;2382:2;2375:10;2346:113;;;-1:-1:-1;;2493:1:310;2475:16;;2468:27;2251:250::o;2506:271::-;2548:3;2586:5;2580:12;2613:6;2608:3;2601:19;2629:76;2698:6;2691:4;2686:3;2682:14;2675:4;2668:5;2664:16;2629:76;:::i;:::-;2759:2;2738:15;-1:-1:-1;;2734:29:310;2725:39;;;;2766:4;2721:50;;2506:271;-1:-1:-1;;2506:271:310:o;2782:803::-;2944:4;2973:2;3013;3002:9;2998:18;3043:2;3032:9;3025:21;3066:6;3101;3095:13;3132:6;3124;3117:22;3170:2;3159:9;3155:18;3148:25;;3232:2;3222:6;3219:1;3215:14;3204:9;3200:30;3196:39;3182:53;;3270:2;3262:6;3258:15;3291:1;3301:255;3315:6;3312:1;3309:13;3301:255;;;3408:2;3404:7;3392:9;3384:6;3380:22;3376:36;3371:3;3364:49;3436:40;3469:6;3460;3454:13;3436:40;:::i;:::-;3426:50;-1:-1:-1;3534:12:310;;;;3499:15;;;;3337:1;3330:9;3301:255;;;-1:-1:-1;3573:6:310;;2782:803;-1:-1:-1;;;;;;;2782:803:310:o;3782:380::-;3861:1;3857:12;;;;3904;;;3925:61;;3979:4;3971:6;3967:17;3957:27;;3925:61;4032:2;4024:6;4021:14;4001:18;3998:38;3995:161;;4078:10;4073:3;4069:20;4066:1;4059:31;4113:4;4110:1;4103:15;4141:4;4138:1;4131:15;3995:161;;3782:380;;;:::o;4446:384::-;-1:-1:-1;;;;;;4631:33:310;;4619:46;;4688:13;;4601:3;;4710:74;4688:13;4773:1;4764:11;;4757:4;4745:17;;4710:74;:::i;:::-;4804:16;;;;4822:1;4800:24;;4446:384;-1:-1:-1;;;4446:384:310:o;4835:287::-;4964:3;5002:6;4996:13;5018:66;5077:6;5072:3;5065:4;5057:6;5053:17;5018:66;:::i;:::-;5100:16;;;;;4835:287;-1:-1:-1;;4835:287:310:o;5127:277::-;5194:6;5247:2;5235:9;5226:7;5222:23;5218:32;5215:52;;;5263:1;5260;5253:12;5215:52;5295:9;5289:16;5348:5;5341:13;5334:21;5327:5;5324:32;5314:60;;5370:1;5367;5360:12;5314:60;5393:5;5127:277;-1:-1:-1;;;5127:277:310:o;5409:220::-;5558:2;5547:9;5540:21;5521:4;5578:45;5619:2;5608:9;5604:18;5596:6;5578:45;:::i;5816:127::-;5877:10;5872:3;5868:20;5865:1;5858:31;5908:4;5905:1;5898:15;5932:4;5929:1;5922:15;5948:897;6028:6;6081:2;6069:9;6060:7;6056:23;6052:32;6049:52;;;6097:1;6094;6087:12;6049:52;6130:9;6124:16;6159:18;6200:2;6192:6;6189:14;6186:34;;;6216:1;6213;6206:12;6186:34;6254:6;6243:9;6239:22;6229:32;;6299:7;6292:4;6288:2;6284:13;6280:27;6270:55;;6321:1;6318;6311:12;6270:55;6350:2;6344:9;6372:2;6368;6365:10;6362:36;;;6378:18;;:::i;:::-;6453:2;6447:9;6421:2;6507:13;;-1:-1:-1;;6503:22:310;;;6527:2;6499:31;6495:40;6483:53;;;6551:18;;;6571:22;;;6548:46;6545:72;;;6597:18;;:::i;:::-;6637:10;6633:2;6626:22;6672:2;6664:6;6657:18;6712:7;6707:2;6702;6698;6694:11;6690:20;6687:33;6684:53;;;6733:1;6730;6723:12;6684:53;6746:68;6811:2;6806;6798:6;6794:15;6789:2;6785;6781:11;6746:68;:::i;:::-;6833:6;5948:897;-1:-1:-1;;;;;;;5948:897:310:o;7643:703::-;7870:3;7908:6;7902:13;7924:66;7983:6;7978:3;7971:4;7963:6;7959:17;7924:66;:::i;:::-;8053:13;;8012:16;;;;8075:70;8053:13;8012:16;8122:4;8110:17;;8075:70;:::i;:::-;8212:13;;8167:20;;;8234:70;8212:13;8167:20;8281:4;8269:17;;8234:70;:::i;:::-;8320:20;;7643:703;-1:-1:-1;;;;;7643:703:310:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testStyleColor()":"aac63666","testStyleCombined()":"0188f044","testStyleCustom()":"4a879838","testStyleFontWeight()":"bd87dfec"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStyleColor\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStyleCombined\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStyleCustom\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testStyleFontWeight\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol\":\"StdStyleTest\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol\":{\"keccak256\":\"0xf3856c9058c65348711fe9862908c68b272c9434623c25a29d6f87519bb52e85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c8018f1e8de977f6243cdffe2091467da472d2643d00bb24494f7a110049ba0\",\"dweb:/ipfs/QmWGJTPvLZTnsbL3ufp6NbfjnTWiAzXgvR3fEBvoPoPcRw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"testStyleColor"},{"inputs":[],"stateMutability":"view","type":"function","name":"testStyleCombined"},{"inputs":[],"stateMutability":"view","type":"function","name":"testStyleCustom"},{"inputs":[],"stateMutability":"view","type":"function","name":"testStyleFontWeight"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol":"StdStyleTest"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154","urls":["bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749","dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V"],"license":"GPL-3.0-or-later"},"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol":{"keccak256":"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27","urls":["bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363","dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617","urls":["bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af","dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol":{"keccak256":"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b","urls":["bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17","dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol":{"keccak256":"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575","urls":["bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5","dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c","urls":["bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477","dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol":{"keccak256":"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337","urls":["bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985","dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol":{"keccak256":"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55","urls":["bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c","dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol":{"keccak256":"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945","urls":["bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf","dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol":{"keccak256":"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203","urls":["bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10","dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol":{"keccak256":"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46","urls":["bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88","dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol":{"keccak256":"0xf3856c9058c65348711fe9862908c68b272c9434623c25a29d6f87519bb52e85","urls":["bzz-raw://5c8018f1e8de977f6243cdffe2091467da472d2643d00bb24494f7a110049ba0","dweb:/ipfs/QmWGJTPvLZTnsbL3ufp6NbfjnTWiAzXgvR3fEBvoPoPcRw"],"license":"MIT"}},"version":1},"id":298}
@@ -0,0 +1 @@
1
+ {"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol\":\"StdUtils\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol":"StdUtils"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol":{"keccak256":"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55","urls":["bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c","dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol":{"keccak256":"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203","urls":["bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10","dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"}},"version":1},"id":281}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testCannotGetTokenBalances_EOA","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotGetTokenBalances_NonTokenContract","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetTokenBalances_Empty","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetTokenBalances_SHIB","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetTokenBalances_USDC","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60806040525f805460ff199081166001908117909255600480549091169091179055601b80546001600160a01b03199081167395ad61b0a150d79219dcf64e1e6cc01f0b64c4ce17909155601c8054821673855f5981e831d83e6a4b4ebfcadaa68d92333170179055601d80548216738f509a90c2e47779ca408fe00d7a72e359229ada179055601e80548216730e3bbc0d04ff62211f71f3e4c45d82ad76224385179055601f8054821673a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4817905560208054821673da9ce944a37d218c3302f6b82a094844c6eceb1717905560218054909116733e67f4721e6d1c41a015f645efa37bed854fcf5217905534801561010a575f80fd5b50611fc1806101185f395ff3fe608060405234801561000f575f80fd5b50600436106100fb575f3560e01c80637d15fbe711610093578063b5508aa911610063578063b5508aa914610191578063ba414fa614610199578063e20c9f71146101b1578063fa7626d4146101b9575f80fd5b80637d15fbe714610164578063849e5b771461016c57806385226c8114610174578063916a17c614610189575f80fd5b80633e5e3c23116100ce5780633e5e3c23146101375780633f7286f41461013f57806359f24c661461014757806366d9a9a01461014f575f80fd5b80630a9254e4146100ff57806316167c88146101095780631ed7831c1461011157806322cdfe8d1461012f575b5f80fd5b6101076101c5565b005b61010761025d565b6101196103f9565b60405161012691906112b3565b60405180910390f35b610107610459565b610119610492565b6101196104f0565b61010761054e565b610157610692565b60405161012691906112cc565b61010761077c565b6101076108d9565b61017c6109c4565b60405161012691906113ca565b610157610a8f565b61017c610b70565b6101a1610c3b565b6040519015158152602001610126565b610119610d5e565b5f546101a19060ff1681565b604080516371ee464d60e01b8152600481019190915260076044820152661b585a5b9b995d60ca1b606482015262faaf646024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906371ee464d906084016020604051808303815f875af1158015610236573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061025a919061142a565b50565b5f60405161026a90611264565b604051809103905ff080158015610283573d5f803e3d5ffd5b50604080516001808252818301909252919250735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f915f9160208083019080368337505060205482519293506001600160a01b0316918391505f906102dd576102dd611455565b6001600160a01b039290921660209283029190910182015260405163f28dceb360e01b81526004810191909152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f28dceb3906064015f604051808303815f87803b15801561036d575f80fd5b505af115801561037f573d5f803e3d5ffd5b50506040516328ff954d60e01b81526001600160a01b03861692506328ff954d91506103b19085908590600401611469565b5f604051808303815f875af11580156103cc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103f391908101906114e8565b50505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561044f57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610431575b5050505050905090565b604080515f80825260208201909252601f54909190610481906001600160a01b031683610dbc565b905061048e81515f61103c565b5050565b6060600f80548060200260200160405190810160405280929190818152602001828054801561044f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610431575050505050905090565b6060600e80548060200260200160405190810160405280929190818152602001828054801561044f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610431575050505050905090565b6040516001625e79b760e01b03198152600160048201525f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156105a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c59190611579565b6040805160018082528183019092529192505f919060208083019080368337505060205482519293506001600160a01b0316918391505f9061060957610609611455565b6001600160a01b039092166020928302919091019091015260405163f28dceb360e01b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f28dceb3906106569060040161159f565b5f604051808303815f87803b15801561066d575f80fd5b505af115801561067f573d5f803e3d5ffd5b5050505061068d8282610dbc565b505050565b60606012805480602002602001604051908101604052809291908181526020015f905b82821015610773575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561075b57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161071d5790505b505050505081525050815260200190600101906106b5565b50505050905090565b604080516003808252608082019092525f91602082016060803683375050601c5482519293506001600160a01b0316918391505f906107bd576107bd611455565b6001600160a01b039283166020918202929092010152601d548251911690829060019081106107ee576107ee611455565b6001600160a01b039283166020918202929092010152601e5482519116908290600290811061081f5761081f611455565b6001600160a01b039283166020918202929092010152601b545f91610845911683610dbc565b9050610877815f8151811061085c5761085c611455565b60200260200101516c29f2052b7e6a7188f01eda000061103c565b6108a88160018151811061088d5761088d611455565b60200260200101516c100d17e091d554098d431fe00061103c565b61048e816002815181106108be576108be611455565b60200260200101516c07a73ed7b2c04592d364bc000061103c565b6040805160028082526060820183525f92602083019080368337505060205482519293506001600160a01b0316918391505f9061091857610918611455565b6001600160a01b03928316602091820292909201015260215482519116908290600190811061094957610949611455565b6001600160a01b039283166020918202929092010152601f545f9161096f911683610dbc565b905061099a815f8151811061098657610986611455565b602002602001015165909c1284f00061103c565b61048e816001815181106109b0576109b0611455565b60200260200101516577764e175c0061103c565b60606011805480602002602001604051908101604052809291908181526020015f905b82821015610773578382905f5260205f20018054610a049061161e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a309061161e565b8015610a7b5780601f10610a5257610100808354040283529160200191610a7b565b820191905f5260205f20905b815481529060010190602001808311610a5e57829003601f168201915b5050505050815260200190600101906109e7565b60606013805480602002602001604051908101604052809291908181526020015f905b82821015610773575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610b5857602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610b1a5790505b50505050508152505081526020019060010190610ab2565b60606010805480602002602001604051908101604052809291908181526020015f905b82821015610773578382905f5260205f20018054610bb09061161e565b80601f0160208091040260200160405190810160405280929190818152602001828054610bdc9061161e565b8015610c275780601f10610bfe57610100808354040283529160200191610c27565b820191905f5260205f20905b815481529060010190602001808311610c0a57829003601f168201915b505050505081526020019060010190610b93565b5f8054610100900460ff1615610c5957505f54610100900460ff1690565b5f737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d595760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093525f929091610ce5917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001611656565b60408051601f1981840301815290829052610cff91611686565b5f604051808303815f865af19150503d805f8114610d38576040519150601f19603f3d011682016040523d82523d5f602084013e610d3d565b606091505b5091505080806020019051810190610d5591906116a1565b9150505b919050565b6060600c80548060200260200160405190810160405280929190818152602001828054801561044f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610431575050505050905090565b6060823b80610de65760405162461bcd60e51b8152600401610ddd9061159f565b60405180910390fd5b82515f8167ffffffffffffffff811115610e0257610e02611441565b604051908082528060200260200182016040528015610e4757816020015b604080518082019091525f815260606020820152815260200190600190039081610e205790505b5090505f5b82811015610f09576040518060400160405280886001600160a01b031681526020016370a08231888481518110610e8557610e85611455565b6020026020010151604051602401610eac91906001600160a01b0391909116815260200190565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050815250828281518110610eed57610eed611455565b602002602001018190525080610f02906116c0565b9050610e4c565b50604051631296dd2160e11b81525f9073ca11bde05977b3631167028862be2a173976ca119063252dba4290610f439085906004016116e4565b5f604051808303815f875af1158015610f5e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f85919081019061175f565b9150508267ffffffffffffffff811115610fa157610fa1611441565b604051908082528060200260200182016040528015610fca578160200160208202803683370190505b5094505f5b8381101561103157818181518110610fe957610fe9611455565b6020026020010151806020019051810190611004919061142a565b86828151811061101657611016611455565b602090810291909101015261102a816116c0565b9050610fcf565b505050505092915050565b80821461048e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516110ad9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808080808081319599d60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a81830152690808080808149a59da1d60b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a161048e737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156112545760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b92820192909252600160608201525f91907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526111f79291602001611656565b60408051601f198184030181529082905261121191611686565b5f604051808303815f865af19150503d805f811461124a576040519150601f19603f3d011682016040523d82523d5f602084013e61124f565b606091505b505050505b5f805461ff001916610100179055565b6107258061186783390190565b5f8151808452602080850194508084015f5b838110156112a85781516001600160a01b031687529582019590820190600101611283565b509495945050505050565b602081525f6112c56020830184611271565b9392505050565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f805b8481101561136e57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156113595783516001600160e01b0319168252928b019260019290920191908b019061132f565b50978a019795505050918701916001016112f2565b50919998505050505050505050565b5f5b8381101561139757818101518382015260200161137f565b50505f910152565b5f81518084526113b681602086016020860161137d565b601f01601f19169290920160200192915050565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b8281101561141d57603f1988860301845261140b85835161139f565b945092850192908501906001016113ef565b5092979650505050505050565b5f6020828403121561143a575f80fd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b6001600160a01b03831681526040602082018190525f9061148c90830184611271565b949350505050565b604051601f8201601f1916810167ffffffffffffffff811182821017156114bd576114bd611441565b604052919050565b5f67ffffffffffffffff8211156114de576114de611441565b5060051b60200190565b5f60208083850312156114f9575f80fd5b825167ffffffffffffffff81111561150f575f80fd5b8301601f8101851361151f575f80fd5b805161153261152d826114c5565b611494565b81815260059190911b82018301908381019087831115611550575f80fd5b928401925b8284101561156e57835182529284019290840190611555565b979650505050505050565b5f60208284031215611589575f80fd5b81516001600160a01b03811681146112c5575f80fd5b602081525f61161860208301604e81527f5374645574696c7320676574546f6b656e42616c616e6365732861646472657360208201527f732c616464726573735b5d293a20546f6b656e2061646472657373206973206e60408201526d37ba10309031b7b73a3930b1ba1760911b606082015260800190565b92915050565b600181811c9082168061163257607f821691505b60208210810361165057634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160e01b03198316815281515f9061167881600485016020870161137d565b919091016004019392505050565b5f825161169781846020870161137d565b9190910192915050565b5f602082840312156116b1575f80fd5b815180151581146112c5575f80fd5b5f600182016116dd57634e487b7160e01b5f52601160045260245ffd5b5060010190565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f5b8381101561175157888303603f19018552815180516001600160a01b0316845287015187840187905261173e8785018261139f565b9588019593505090860190600101611709565b509098975050505050505050565b5f806040808486031215611771575f80fd5b8351925060208085015167ffffffffffffffff80821115611790575f80fd5b8187019150601f88818401126117a4575f80fd5b82516117b261152d826114c5565b81815260059190911b8401850190858101908b8311156117d0575f80fd5b8686015b83811015611853578051868111156117eb575f8081fd5b8701603f81018e136117fc575f8081fd5b888101518781111561181057611810611441565b611821818801601f19168b01611494565b8181528f8c838501011115611835575f8081fd5b611844828c83018e860161137d565b855250509187019187016117d4565b508098505050505050505050925092905056fe608060405234801561000f575f80fd5b506107088061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c806328ff954d1461002d575b5f80fd5b61004061003b3660046103d4565b610056565b60405161004d919061047f565b60405180910390f35b60606100628383610069565b9392505050565b6060823b806100fb5760405162461bcd60e51b815260206004820152604e60248201527f5374645574696c7320676574546f6b656e42616c616e6365732861646472657360448201527f732c616464726573735b5d293a20546f6b656e2061646472657373206973206e60648201526d37ba10309031b7b73a3930b1ba1760911b608482015260a40160405180910390fd5b82515f8167ffffffffffffffff8111156101175761011761036c565b60405190808252806020026020018201604052801561015c57816020015b604080518082019091525f8152606060208201528152602001906001900390816101355790505b5090505f5b8281101561021e576040518060400160405280886001600160a01b031681526020016370a0823188848151811061019a5761019a6104c2565b60200260200101516040516024016101c191906001600160a01b0391909116815260200190565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050815250828281518110610202576102026104c2565b602002602001018190525080610217906104d6565b9050610161565b50604051631296dd2160e11b81525f9073ca11bde05977b3631167028862be2a173976ca119063252dba429061025890859060040161051c565b5f604051808303815f875af1158015610273573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261029a91908101906105b4565b9150508267ffffffffffffffff8111156102b6576102b661036c565b6040519080825280602002602001820160405280156102df578160200160208202803683370190505b5094505f5b83811015610346578181815181106102fe576102fe6104c2565b602002602001015180602001905181019061031991906106bb565b86828151811061032b5761032b6104c2565b602090810291909101015261033f816104d6565b90506102e4565b505050505092915050565b80356001600160a01b0381168114610367575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156103a9576103a961036c565b604052919050565b5f67ffffffffffffffff8211156103ca576103ca61036c565b5060051b60200190565b5f80604083850312156103e5575f80fd5b6103ee83610351565b915060208084013567ffffffffffffffff81111561040a575f80fd5b8401601f8101861361041a575f80fd5b803561042d610428826103b1565b610380565b81815260059190911b8201830190838101908883111561044b575f80fd5b928401925b828410156104705761046184610351565b82529284019290840190610450565b80955050505050509250929050565b602080825282518282018190525f9190848201906040850190845b818110156104b65783518352928401929184019160010161049a565b50909695505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f600182016104f357634e487b7160e01b5f52601160045260245ffd5b5060010190565b5f5b838110156105145781810151838201526020016104fc565b50505f910152565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f5b838110156105a657888303603f19018552815180516001600160a01b031684528701518784018790528051878501819052606061058382828801858d016104fa565b96890196601f91909101601f191694909401909301925090860190600101610541565b509098975050505050505050565b5f8060408084860312156105c6575f80fd5b8351925060208085015167ffffffffffffffff808211156105e5575f80fd5b8187019150601f88818401126105f9575f80fd5b8251610607610428826103b1565b81815260059190911b8401850190858101908b831115610625575f80fd5b8686015b838110156106a857805186811115610640575f8081fd5b8701603f81018e13610651575f8081fd5b88810151878111156106655761066561036c565b610676818801601f19168b01610380565b8181528f8c83850101111561068a575f8081fd5b610699828c83018e86016104fa565b85525050918701918701610629565b5080985050505050505050509250929050565b5f602082840312156106cb575f80fd5b505191905056fea264697066735822122000141843bbe87f9867ff893186303b0205b8559e90829b37e0cc804f6e7b374b64736f6c63430008140033a2646970667358221220c42e89efe10313f32647b8b3f9936ff224eb610a736663f1620eb4ad4acc00b664736f6c63430008140033","sourceMap":"9647:3051:299:-:0;;;1572:26:268;;;-1:-1:-1;;1572:26:268;;;1594:4;1572:26;;;;;;3288:44:273;;;;;;;;;;;9903:66:299;;;-1:-1:-1;;;;;;9903:66:299;;;9927:42;9903:66;;;;9975:75;;;;;10008:42;9975:75;;;10056;;;;;10089:42;10056:75;;;10137;;;;;10170:42;10137:75;;;10219:66;;;;;10243:42;10219:66;;;10291:75;;;;;10324:42;10291:75;;;10372;;;;;;10405:42;10372:75;;;9647:3051;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b50600436106100fb575f3560e01c80637d15fbe711610093578063b5508aa911610063578063b5508aa914610191578063ba414fa614610199578063e20c9f71146101b1578063fa7626d4146101b9575f80fd5b80637d15fbe714610164578063849e5b771461016c57806385226c8114610174578063916a17c614610189575f80fd5b80633e5e3c23116100ce5780633e5e3c23146101375780633f7286f41461013f57806359f24c661461014757806366d9a9a01461014f575f80fd5b80630a9254e4146100ff57806316167c88146101095780631ed7831c1461011157806322cdfe8d1461012f575b5f80fd5b6101076101c5565b005b61010761025d565b6101196103f9565b60405161012691906112b3565b60405180910390f35b610107610459565b610119610492565b6101196104f0565b61010761054e565b610157610692565b60405161012691906112cc565b61010761077c565b6101076108d9565b61017c6109c4565b60405161012691906113ca565b610157610a8f565b61017c610b70565b6101a1610c3b565b6040519015158152602001610126565b610119610d5e565b5f546101a19060ff1681565b604080516371ee464d60e01b8152600481019190915260076044820152661b585a5b9b995d60ca1b606482015262faaf646024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906371ee464d906084016020604051808303815f875af1158015610236573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061025a919061142a565b50565b5f60405161026a90611264565b604051809103905ff080158015610283573d5f803e3d5ffd5b50604080516001808252818301909252919250735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f915f9160208083019080368337505060205482519293506001600160a01b0316918391505f906102dd576102dd611455565b6001600160a01b039290921660209283029190910182015260405163f28dceb360e01b81526004810191909152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f28dceb3906064015f604051808303815f87803b15801561036d575f80fd5b505af115801561037f573d5f803e3d5ffd5b50506040516328ff954d60e01b81526001600160a01b03861692506328ff954d91506103b19085908590600401611469565b5f604051808303815f875af11580156103cc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103f391908101906114e8565b50505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561044f57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610431575b5050505050905090565b604080515f80825260208201909252601f54909190610481906001600160a01b031683610dbc565b905061048e81515f61103c565b5050565b6060600f80548060200260200160405190810160405280929190818152602001828054801561044f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610431575050505050905090565b6060600e80548060200260200160405190810160405280929190818152602001828054801561044f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610431575050505050905090565b6040516001625e79b760e01b03198152600160048201525f90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156105a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c59190611579565b6040805160018082528183019092529192505f919060208083019080368337505060205482519293506001600160a01b0316918391505f9061060957610609611455565b6001600160a01b039092166020928302919091019091015260405163f28dceb360e01b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f28dceb3906106569060040161159f565b5f604051808303815f87803b15801561066d575f80fd5b505af115801561067f573d5f803e3d5ffd5b5050505061068d8282610dbc565b505050565b60606012805480602002602001604051908101604052809291908181526020015f905b82821015610773575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561075b57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161071d5790505b505050505081525050815260200190600101906106b5565b50505050905090565b604080516003808252608082019092525f91602082016060803683375050601c5482519293506001600160a01b0316918391505f906107bd576107bd611455565b6001600160a01b039283166020918202929092010152601d548251911690829060019081106107ee576107ee611455565b6001600160a01b039283166020918202929092010152601e5482519116908290600290811061081f5761081f611455565b6001600160a01b039283166020918202929092010152601b545f91610845911683610dbc565b9050610877815f8151811061085c5761085c611455565b60200260200101516c29f2052b7e6a7188f01eda000061103c565b6108a88160018151811061088d5761088d611455565b60200260200101516c100d17e091d554098d431fe00061103c565b61048e816002815181106108be576108be611455565b60200260200101516c07a73ed7b2c04592d364bc000061103c565b6040805160028082526060820183525f92602083019080368337505060205482519293506001600160a01b0316918391505f9061091857610918611455565b6001600160a01b03928316602091820292909201015260215482519116908290600190811061094957610949611455565b6001600160a01b039283166020918202929092010152601f545f9161096f911683610dbc565b905061099a815f8151811061098657610986611455565b602002602001015165909c1284f00061103c565b61048e816001815181106109b0576109b0611455565b60200260200101516577764e175c0061103c565b60606011805480602002602001604051908101604052809291908181526020015f905b82821015610773578382905f5260205f20018054610a049061161e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a309061161e565b8015610a7b5780601f10610a5257610100808354040283529160200191610a7b565b820191905f5260205f20905b815481529060010190602001808311610a5e57829003601f168201915b5050505050815260200190600101906109e7565b60606013805480602002602001604051908101604052809291908181526020015f905b82821015610773575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610b5857602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610b1a5790505b50505050508152505081526020019060010190610ab2565b60606010805480602002602001604051908101604052809291908181526020015f905b82821015610773578382905f5260205f20018054610bb09061161e565b80601f0160208091040260200160405190810160405280929190818152602001828054610bdc9061161e565b8015610c275780601f10610bfe57610100808354040283529160200191610c27565b820191905f5260205f20905b815481529060010190602001808311610c0a57829003601f168201915b505050505081526020019060010190610b93565b5f8054610100900460ff1615610c5957505f54610100900460ff1690565b5f737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d595760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093525f929091610ce5917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001611656565b60408051601f1981840301815290829052610cff91611686565b5f604051808303815f865af19150503d805f8114610d38576040519150601f19603f3d011682016040523d82523d5f602084013e610d3d565b606091505b5091505080806020019051810190610d5591906116a1565b9150505b919050565b6060600c80548060200260200160405190810160405280929190818152602001828054801561044f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610431575050505050905090565b6060823b80610de65760405162461bcd60e51b8152600401610ddd9061159f565b60405180910390fd5b82515f8167ffffffffffffffff811115610e0257610e02611441565b604051908082528060200260200182016040528015610e4757816020015b604080518082019091525f815260606020820152815260200190600190039081610e205790505b5090505f5b82811015610f09576040518060400160405280886001600160a01b031681526020016370a08231888481518110610e8557610e85611455565b6020026020010151604051602401610eac91906001600160a01b0391909116815260200190565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050815250828281518110610eed57610eed611455565b602002602001018190525080610f02906116c0565b9050610e4c565b50604051631296dd2160e11b81525f9073ca11bde05977b3631167028862be2a173976ca119063252dba4290610f439085906004016116e4565b5f604051808303815f875af1158015610f5e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f85919081019061175f565b9150508267ffffffffffffffff811115610fa157610fa1611441565b604051908082528060200260200182016040528015610fca578160200160208202803683370190505b5094505f5b8381101561103157818181518110610fe957610fe9611455565b6020026020010151806020019051810190611004919061142a565b86828151811061101657611016611455565b602090810291909101015261102a816116c0565b9050610fcf565b505050505092915050565b80821461048e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516110ad9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808080808081319599d60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a81830152690808080808149a59da1d60b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a161048e737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156112545760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b92820192909252600160608201525f91907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526111f79291602001611656565b60408051601f198184030181529082905261121191611686565b5f604051808303815f865af19150503d805f811461124a576040519150601f19603f3d011682016040523d82523d5f602084013e61124f565b606091505b505050505b5f805461ff001916610100179055565b6107258061186783390190565b5f8151808452602080850194508084015f5b838110156112a85781516001600160a01b031687529582019590820190600101611283565b509495945050505050565b602081525f6112c56020830184611271565b9392505050565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f805b8481101561136e57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156113595783516001600160e01b0319168252928b019260019290920191908b019061132f565b50978a019795505050918701916001016112f2565b50919998505050505050505050565b5f5b8381101561139757818101518382015260200161137f565b50505f910152565b5f81518084526113b681602086016020860161137d565b601f01601f19169290920160200192915050565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b8281101561141d57603f1988860301845261140b85835161139f565b945092850192908501906001016113ef565b5092979650505050505050565b5f6020828403121561143a575f80fd5b5051919050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b6001600160a01b03831681526040602082018190525f9061148c90830184611271565b949350505050565b604051601f8201601f1916810167ffffffffffffffff811182821017156114bd576114bd611441565b604052919050565b5f67ffffffffffffffff8211156114de576114de611441565b5060051b60200190565b5f60208083850312156114f9575f80fd5b825167ffffffffffffffff81111561150f575f80fd5b8301601f8101851361151f575f80fd5b805161153261152d826114c5565b611494565b81815260059190911b82018301908381019087831115611550575f80fd5b928401925b8284101561156e57835182529284019290840190611555565b979650505050505050565b5f60208284031215611589575f80fd5b81516001600160a01b03811681146112c5575f80fd5b602081525f61161860208301604e81527f5374645574696c7320676574546f6b656e42616c616e6365732861646472657360208201527f732c616464726573735b5d293a20546f6b656e2061646472657373206973206e60408201526d37ba10309031b7b73a3930b1ba1760911b606082015260800190565b92915050565b600181811c9082168061163257607f821691505b60208210810361165057634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160e01b03198316815281515f9061167881600485016020870161137d565b919091016004019392505050565b5f825161169781846020870161137d565b9190910192915050565b5f602082840312156116b1575f80fd5b815180151581146112c5575f80fd5b5f600182016116dd57634e487b7160e01b5f52601160045260245ffd5b5060010190565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f5b8381101561175157888303603f19018552815180516001600160a01b0316845287015187840187905261173e8785018261139f565b9588019593505090860190600101611709565b509098975050505050505050565b5f806040808486031215611771575f80fd5b8351925060208085015167ffffffffffffffff80821115611790575f80fd5b8187019150601f88818401126117a4575f80fd5b82516117b261152d826114c5565b81815260059190911b8401850190858101908b8311156117d0575f80fd5b8686015b83811015611853578051868111156117eb575f8081fd5b8701603f81018e136117fc575f8081fd5b888101518781111561181057611810611441565b611821818801601f19168b01611494565b8181528f8c838501011115611835575f8081fd5b611844828c83018e860161137d565b855250509187019187016117d4565b508098505050505050505050925092905056fe608060405234801561000f575f80fd5b506107088061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c806328ff954d1461002d575b5f80fd5b61004061003b3660046103d4565b610056565b60405161004d919061047f565b60405180910390f35b60606100628383610069565b9392505050565b6060823b806100fb5760405162461bcd60e51b815260206004820152604e60248201527f5374645574696c7320676574546f6b656e42616c616e6365732861646472657360448201527f732c616464726573735b5d293a20546f6b656e2061646472657373206973206e60648201526d37ba10309031b7b73a3930b1ba1760911b608482015260a40160405180910390fd5b82515f8167ffffffffffffffff8111156101175761011761036c565b60405190808252806020026020018201604052801561015c57816020015b604080518082019091525f8152606060208201528152602001906001900390816101355790505b5090505f5b8281101561021e576040518060400160405280886001600160a01b031681526020016370a0823188848151811061019a5761019a6104c2565b60200260200101516040516024016101c191906001600160a01b0391909116815260200190565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050815250828281518110610202576102026104c2565b602002602001018190525080610217906104d6565b9050610161565b50604051631296dd2160e11b81525f9073ca11bde05977b3631167028862be2a173976ca119063252dba429061025890859060040161051c565b5f604051808303815f875af1158015610273573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261029a91908101906105b4565b9150508267ffffffffffffffff8111156102b6576102b661036c565b6040519080825280602002602001820160405280156102df578160200160208202803683370190505b5094505f5b83811015610346578181815181106102fe576102fe6104c2565b602002602001015180602001905181019061031991906106bb565b86828151811061032b5761032b6104c2565b602090810291909101015261033f816104d6565b90506102e4565b505050505092915050565b80356001600160a01b0381168114610367575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156103a9576103a961036c565b604052919050565b5f67ffffffffffffffff8211156103ca576103ca61036c565b5060051b60200190565b5f80604083850312156103e5575f80fd5b6103ee83610351565b915060208084013567ffffffffffffffff81111561040a575f80fd5b8401601f8101861361041a575f80fd5b803561042d610428826103b1565b610380565b81815260059190911b8201830190838101908883111561044b575f80fd5b928401925b828410156104705761046184610351565b82529284019290840190610450565b80955050505050509250929050565b602080825282518282018190525f9190848201906040850190845b818110156104b65783518352928401929184019160010161049a565b50909695505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f600182016104f357634e487b7160e01b5f52601160045260245ffd5b5060010190565b5f5b838110156105145781810151838201526020016104fc565b50505f910152565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f5b838110156105a657888303603f19018552815180516001600160a01b031684528701518784018790528051878501819052606061058382828801858d016104fa565b96890196601f91909101601f191694909401909301925090860190600101610541565b509098975050505050505050565b5f8060408084860312156105c6575f80fd5b8351925060208085015167ffffffffffffffff808211156105e5575f80fd5b8187019150601f88818401126105f9575f80fd5b8251610607610428826103b1565b81815260059190911b8401850190858101908b831115610625575f80fd5b8686015b838110156106a857805186811115610640575f8081fd5b8701603f81018e13610651575f8081fd5b88810151878111156106655761066561036c565b610676818801601f19168b01610380565b8181528f8c83850101111561068a575f8081fd5b610699828c83018e86016104fa565b85525050918701918701610629565b5080985050505050505050509250929050565b5f602082840312156106cb575f80fd5b505191905056fea264697066735822122000141843bbe87f9867ff893186303b0205b8559e90829b37e0cc804f6e7b374b64736f6c63430008140033a2646970667358221220c42e89efe10313f32647b8b3f9936ff224eb610a736663f1620eb4ad4acc00b664736f6c63430008140033","sourceMap":"9647:3051:299:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10454:201;;;:::i;:::-;;10661:624;;;:::i;2161:134:276:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11645:218:299;;;:::i;2930:133:276:-;;;:::i;2631:141::-;;;:::i;11291:348:299:-;;;:::i;2447:178:276:-;;;:::i;:::-;;;;;;;:::i;12234:462:299:-;;;:::i;11869:359::-;;;:::i;2301:140:276:-;;;:::i;:::-;;;;;;;:::i;2778:146::-;;;:::i;1866:141::-;;;:::i;1819:584:268:-;;;:::i;:::-;;;3824:14:310;;3817:22;3799:41;;3787:2;3772:18;1819:584:268;3659:187:310;2013:142:276;;;:::i;1572:26:268:-;;;;;;;;;10454:201:299;10579:69;;;-1:-1:-1;;;10579:69:299;;;;;4078:21:310;;;;4135:1;4115:18;;;4108:29;-1:-1:-1;;;4153:18:310;;;4146:37;10636:10:299;4235:20:310;;;4228:36;10579:19:299;;;;4200::310;;10579:69:299;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10454:201::o;10661:624::-;10807:21;10831:18;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11117:16:299;;;11131:1;11117:16;;;;;;;;;10807:42;;-1:-1:-1;11035:42:299;;11011:13;;11117:16;;;;;;;;;-1:-1:-1;;11158:13:299;;11143:12;;;;-1:-1:-1;;;;;;11158:13:299;;11143:12;;-1:-1:-1;11158:13:299;;11143:12;;;;:::i;:::-;-1:-1:-1;;;;;11143:28:299;;;;:12;;;;;;;;;;:28;11182:42;;-1:-1:-1;;;11182:42:299;;;;;4911:21:310;;;;4968:2;4948:18;;;4941:30;5007:25;4987:18;;;4980:53;11182:15:299;;;;5050:18:310;;11182:42:299;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11234:44:299;;-1:-1:-1;;;11234:44:299;;-1:-1:-1;;;;;11234:26:299;;;-1:-1:-1;11234:26:299;;-1:-1:-1;11234:44:299;;11261:5;;11268:9;;11234:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11234:44:299;;;;;;;;;;;;:::i;:::-;;10725:560;;;10661:624::o;2161:134:276:-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2253:35:276;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;11645:218:299:-;11731:16;;;11702:26;11731:16;;;;;;;;;11802:4;;11731:16;;11702:26;11785:33;;-1:-1:-1;;;;;11802:4:299;11731:16;11785;:33::i;:::-;11757:61;;11828:28;11837:8;:15;11854:1;11828:8;:28::i;:::-;11692:171;;11645:218::o;2930:133:276:-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3021:35:276;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;2631:141::-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2726:39:276;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;11291:348:299:-;11366:24;;-1:-1:-1;;;;;;11366:24:299;;11387:1;11366:24;;;6950:25:310;11352:11:299;;11366:7;;;;6923:18:310;;11366:24:299;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11429:16;;;11443:1;11429:16;;;;;;;;;11352:38;;-1:-1:-1;11400:26:299;;11429:16;;;;;;;;;;-1:-1:-1;;11470:13:299;;11455:12;;;;-1:-1:-1;;;;;;11470:13:299;;11455:12;;-1:-1:-1;11470:13:299;;11455:12;;;;:::i;:::-;-1:-1:-1;;;;;11455:28:299;;;:12;;;;;;;;;;;:28;11493:97;;-1:-1:-1;;;11493:97:299;;:15;;;;:97;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11600:32;11617:3;11622:9;11600:16;:32::i;:::-;;11342:297;;11291:348::o;2447:178:276:-;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2563:55:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2563:55:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;12234:462:299:-;12319:16;;;12333:1;12319:16;;;;;;;;;12290:26;;12319:16;;;;;;;;-1:-1:-1;;12360:13:299;;12345:12;;;;-1:-1:-1;;;;;;12360:13:299;;12345:12;;-1:-1:-1;12360:13:299;;12345:12;;;;:::i;:::-;-1:-1:-1;;;;;12345:28:299;;;:12;;;;;;;;;:28;12398:13;;12383:12;;12398:13;;;12383:9;;12398:13;;12383:12;;;;;;:::i;:::-;-1:-1:-1;;;;;12383:28:299;;;:12;;;;;;;;;:28;12436:13;;12421:12;;12436:13;;;12421:9;;12431:1;;12421:12;;;;;;:::i;:::-;-1:-1:-1;;;;;12421:28:299;;;:12;;;;;;;;;:28;12504:4;;12459:25;;12487:33;;12504:4;12510:9;12487:16;:33::i;:::-;12459:61;;12530:46;12539:8;12548:1;12539:11;;;;;;;;:::i;:::-;;;;;;;12552:23;12530:8;:46::i;:::-;12586:52;12595:8;12604:1;12595:11;;;;;;;;:::i;:::-;;;;;;;12608:29;12586:8;:52::i;:::-;12648:41;12657:8;12666:1;12657:11;;;;;;;;:::i;:::-;;;;;;;12670:18;12648:8;:41::i;11869:359::-;11954:16;;;11968:1;11954:16;;;;;;;;11925:26;;11954:16;;;;;;;;-1:-1:-1;;11995:13:299;;11980:12;;;;-1:-1:-1;;;;;;11995:13:299;;11980:12;;-1:-1:-1;11995:13:299;;11980:12;;;;:::i;:::-;-1:-1:-1;;;;;11980:28:299;;;:12;;;;;;;;;:28;12033:13;;12018:12;;12033:13;;;12018:9;;12033:13;;12018:12;;;;;;:::i;:::-;-1:-1:-1;;;;;12018:28:299;;;:12;;;;;;;;;:28;12101:4;;12056:25;;12084:33;;12101:4;12107:9;12084:16;:33::i;:::-;12056:61;;12127:42;12136:8;12145:1;12136:11;;;;;;;;:::i;:::-;;;;;;;12149:19;12127:8;:42::i;:::-;12179;12188:8;12197:1;12188:11;;;;;;;;:::i;:::-;;;;;;;12201:19;12179:8;:42::i;2301:140:276:-;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2778:146;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:39:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:39:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:141;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:268;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:268;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;8420:51:310;;;-1:-1:-1;;;8487:18:310;;;8480:34;2196:43:268;;;;;;;;;8393:18:310;;;2196:43:268;;;-1:-1:-1;;1671:64:268;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:268;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:268:o;2013:142:276:-;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2109:39:276;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;8053:1124:281:-;8172:25;8284:18;;8329:17;8321:108;;;;-1:-1:-1;;;8321:108:281;;;;;;;:::i;:::-;;;;;;;;;8513:16;;8496:14;8513:16;8573:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;8573:30:281;;;;;;;;;;;;;;;;8539:64;;8618:9;8613:226;8637:6;8633:1;:10;8613:226;;;8733:95;;;;;;;;8759:5;-1:-1:-1;;;;;8733:95:281;;;;;8799:10;8812:9;8822:1;8812:12;;;;;;;;:::i;:::-;;;;;;;8776:50;;;;;;;-1:-1:-1;;;;;9934:32:310;;;;9916:51;;9904:2;9889:18;;9770:203;8776:50:281;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8776:50:281;;;;;;;;;;;8733:95;;;8722:5;8728:1;8722:8;;;;;;;;:::i;:::-;;;;;;:106;;;;8645:3;;;;:::i;:::-;;;8613:226;;;-1:-1:-1;8917:26:281;;-1:-1:-1;;;8917:26:281;;8888:25;;511:42;;8917:19;;:26;;8937:5;;8917:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8917:26:281;;;;;;;;;;;;:::i;:::-;8885:58;;;9042:6;9028:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9028:21:281;;9017:32;;9064:9;9059:112;9083:6;9079:1;:10;9059:112;;;9135:10;9146:1;9135:13;;;;;;;;:::i;:::-;;;;;;;9124:36;;;;;;;;;;;;:::i;:::-;9110:8;9119:1;9110:11;;;;;;;;:::i;:::-;;;;;;;;;;:50;9091:3;;;:::i;:::-;;;9059:112;;;;8203:974;;;;8053:1124;;;;:::o;5209:262:268:-;5271:1;5266;:6;5262:203;;5293:41;;;;;13250:2:310;13232:21;;;13289:2;13269:18;;;13262:30;13328:34;13323:2;13308:18;;13301:62;-1:-1:-1;;;13394:2:310;13379:18;;13372:32;13436:3;13421:19;;13048:398;5293:41:268;;;;;;;;5353:31;;;13663:21:310;;;13720:2;13700:18;;;13693:30;-1:-1:-1;;;13754:2:310;13739:18;;13732:40;13839:4;13824:20;;13817:36;;;5353:31:268;;;;;;;13804:3:310;5353:31:268;;;5403;;;14076:21:310;;;14133:2;14113:18;;;14106:30;-1:-1:-1;;;14167:2:310;14152:18;;14145:40;14252:4;14237:20;;14230:36;;;5403:31:268;;;;;;;14217:3:310;5403:31:268;;;5448:6;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;14479:51:310;;;-1:-1:-1;;;14546:18:310;;;14539:34;;;;2712:4:268;14589:18:310;;;14582:34;2489:11:268;;1671:64;2586:43;;14452:18:310;;2652:67:268;;;-1:-1:-1;;2652:67:268;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:268;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:268;2820:7;:14;;-1:-1:-1;;2820:14:268;;;;;2409:432::o;-1:-1:-1:-;;;;;;;;:::o;14:461:310:-;67:3;105:5;99:12;132:6;127:3;120:19;158:4;187:2;182:3;178:12;171:19;;224:2;217:5;213:14;245:1;255:195;269:6;266:1;263:13;255:195;;;334:13;;-1:-1:-1;;;;;330:39:310;318:52;;390:12;;;;425:15;;;;366:1;284:9;255:195;;;-1:-1:-1;466:3:310;;14:461;-1:-1:-1;;;;;14:461:310:o;480:261::-;659:2;648:9;641:21;622:4;679:56;731:2;720:9;716:18;708:6;679:56;:::i;:::-;671:64;480:261;-1:-1:-1;;;480:261:310:o;746:1569::-;950:4;979:2;1019;1008:9;1004:18;1049:2;1038:9;1031:21;1072:6;1107;1101:13;1138:6;1130;1123:22;1164:2;1154:12;;1197:2;1186:9;1182:18;1175:25;;1259:2;1249:6;1246:1;1242:14;1231:9;1227:30;1223:39;1297:2;1289:6;1285:15;1318:1;1339;1349:937;1365:6;1360:3;1357:15;1349:937;;;1434:22;;;-1:-1:-1;;1430:36:310;1418:49;;1490:13;;1577:9;;-1:-1:-1;;;;;1573:35:310;1558:51;;1648:11;;1642:18;1680:15;;;1673:27;;;1761:19;;1530:15;;;1793:24;;;1883:21;;;;1928:1;;1851:2;1839:15;;;1942:236;1958:8;1953:3;1950:17;1942:236;;;2039:15;;-1:-1:-1;;;;;;2035:42:310;2021:57;;2147:17;;;;1986:1;1977:11;;;;;2104:14;;;;1942:236;;;-1:-1:-1;2264:12:310;;;;2201:5;-1:-1:-1;;;2229:15:310;;;;1391:1;1382:11;1349:937;;;-1:-1:-1;2303:6:310;;746:1569;-1:-1:-1;;;;;;;;;746:1569:310:o;2320:250::-;2405:1;2415:113;2429:6;2426:1;2423:13;2415:113;;;2505:11;;;2499:18;2486:11;;;2479:39;2451:2;2444:10;2415:113;;;-1:-1:-1;;2562:1:310;2544:16;;2537:27;2320:250::o;2575:271::-;2617:3;2655:5;2649:12;2682:6;2677:3;2670:19;2698:76;2767:6;2760:4;2755:3;2751:14;2744:4;2737:5;2733:16;2698:76;:::i;:::-;2828:2;2807:15;-1:-1:-1;;2803:29:310;2794:39;;;;2835:4;2790:50;;2575:271;-1:-1:-1;;2575:271:310:o;2851:803::-;3013:4;3042:2;3082;3071:9;3067:18;3112:2;3101:9;3094:21;3135:6;3170;3164:13;3201:6;3193;3186:22;3239:2;3228:9;3224:18;3217:25;;3301:2;3291:6;3288:1;3284:14;3273:9;3269:30;3265:39;3251:53;;3339:2;3331:6;3327:15;3360:1;3370:255;3384:6;3381:1;3378:13;3370:255;;;3477:2;3473:7;3461:9;3453:6;3449:22;3445:36;3440:3;3433:49;3505:40;3538:6;3529;3523:13;3505:40;:::i;:::-;3495:50;-1:-1:-1;3603:12:310;;;;3568:15;;;;3406:1;3399:9;3370:255;;;-1:-1:-1;3642:6:310;;2851:803;-1:-1:-1;;;;;;;2851:803:310:o;4275:184::-;4345:6;4398:2;4386:9;4377:7;4373:23;4369:32;4366:52;;;4414:1;4411;4404:12;4366:52;-1:-1:-1;4437:16:310;;4275:184;-1:-1:-1;4275:184:310:o;4464:127::-;4525:10;4520:3;4516:20;4513:1;4506:31;4556:4;4553:1;4546:15;4580:4;4577:1;4570:15;4596:127;4657:10;4652:3;4648:20;4645:1;4638:31;4688:4;4685:1;4678:15;4712:4;4709:1;4702:15;5079:358;-1:-1:-1;;;;;5286:32:310;;5268:51;;5355:2;5350;5335:18;;5328:30;;;-1:-1:-1;;5375:56:310;;5412:18;;5404:6;5375:56;:::i;:::-;5367:64;5079:358;-1:-1:-1;;;;5079:358:310:o;5442:275::-;5513:2;5507:9;5578:2;5559:13;;-1:-1:-1;;5555:27:310;5543:40;;5613:18;5598:34;;5634:22;;;5595:62;5592:88;;;5660:18;;:::i;:::-;5696:2;5689:22;5442:275;;-1:-1:-1;5442:275:310:o;5722:183::-;5782:4;5815:18;5807:6;5804:30;5801:56;;;5837:18;;:::i;:::-;-1:-1:-1;5882:1:310;5878:14;5894:4;5874:25;;5722:183::o;5910:881::-;6005:6;6036:2;6079;6067:9;6058:7;6054:23;6050:32;6047:52;;;6095:1;6092;6085:12;6047:52;6128:9;6122:16;6161:18;6153:6;6150:30;6147:50;;;6193:1;6190;6183:12;6147:50;6216:22;;6269:4;6261:13;;6257:27;-1:-1:-1;6247:55:310;;6298:1;6295;6288:12;6247:55;6327:2;6321:9;6350:60;6366:43;6406:2;6366:43;:::i;:::-;6350:60;:::i;:::-;6444:15;;;6526:1;6522:10;;;;6514:19;;6510:28;;;6475:12;;;;6550:19;;;6547:39;;;6582:1;6579;6572:12;6547:39;6606:11;;;;6626:135;6642:6;6637:3;6634:15;6626:135;;;6708:10;;6696:23;;6659:12;;;;6739;;;;6626:135;;;6780:5;5910:881;-1:-1:-1;;;;;;;5910:881:310:o;6986:290::-;7056:6;7109:2;7097:9;7088:7;7084:23;7080:32;7077:52;;;7125:1;7122;7115:12;7077:52;7151:16;;-1:-1:-1;;;;;7196:31:310;;7186:42;;7176:70;;7242:1;7239;7232:12;7580:276;7781:2;7770:9;7763:21;7744:4;7801:49;7846:2;7835:9;7831:18;7358:2;7346:15;;7393:34;7386:4;7377:14;;7370:58;7458:34;7453:2;7444:12;;7437:56;-1:-1:-1;;;7518:2:310;7509:12;;7502:38;7565:3;7556:13;;7281:294;7801:49;7793:57;7580:276;-1:-1:-1;;7580:276:310:o;7861:380::-;7940:1;7936:12;;;;7983;;;8004:61;;8058:4;8050:6;8046:17;8036:27;;8004:61;8111:2;8103:6;8100:14;8080:18;8077:38;8074:161;;8157:10;8152:3;8148:20;8145:1;8138:31;8192:4;8189:1;8182:15;8220:4;8217:1;8210:15;8074:161;;7861:380;;;:::o;8525:384::-;-1:-1:-1;;;;;;8710:33:310;;8698:46;;8767:13;;8680:3;;8789:74;8767:13;8852:1;8843:11;;8836:4;8824:17;;8789:74;:::i;:::-;8883:16;;;;8901:1;8879:24;;8525:384;-1:-1:-1;;;8525:384:310:o;8914:287::-;9043:3;9081:6;9075:13;9097:66;9156:6;9151:3;9144:4;9136:6;9132:17;9097:66;:::i;:::-;9179:16;;;;;8914:287;-1:-1:-1;;8914:287:310:o;9206:277::-;9273:6;9326:2;9314:9;9305:7;9301:23;9297:32;9294:52;;;9342:1;9339;9332:12;9294:52;9374:9;9368:16;9427:5;9420:13;9413:21;9406:5;9403:32;9393:60;;9449:1;9446;9439:12;9978:232;10017:3;10038:17;;;10035:140;;10097:10;10092:3;10088:20;10085:1;10078:31;10132:4;10129:1;10122:15;10160:4;10157:1;10150:15;10035:140;-1:-1:-1;10202:1:310;10191:13;;9978:232::o;10215:1049::-;10403:4;10432:2;10472;10461:9;10457:18;10502:2;10491:9;10484:21;10525:6;10560;10554:13;10591:6;10583;10576:22;10617:2;10607:12;;10650:2;10639:9;10635:18;10628:25;;10712:2;10702:6;10699:1;10695:14;10684:9;10680:30;10676:39;10750:2;10742:6;10738:15;10771:1;10781:454;10795:6;10792:1;10789:13;10781:454;;;10860:22;;;-1:-1:-1;;10856:36:310;10844:49;;10916:13;;10961:9;;-1:-1:-1;;;;;10957:35:310;10942:51;;11032:11;;11026:18;11064:15;;;11057:27;;;11107:48;11139:15;;;11026:18;11107:48;:::i;:::-;11213:12;;;;11097:58;-1:-1:-1;;11178:15:310;;;;10817:1;10810:9;10781:454;;;-1:-1:-1;11252:6:310;;10215:1049;-1:-1:-1;;;;;;;;10215:1049:310:o;11269:1774::-;11382:6;11390;11421:2;11464;11452:9;11443:7;11439:23;11435:32;11432:52;;;11480:1;11477;11470:12;11432:52;11509:9;11503:16;11493:26;;11538:2;11584;11573:9;11569:18;11563:25;11607:18;11648:2;11640:6;11637:14;11634:34;;;11664:1;11661;11654:12;11634:34;11702:6;11691:9;11687:22;11677:32;;11728:4;11768:7;11763:2;11759;11755:11;11751:25;11741:53;;11790:1;11787;11780:12;11741:53;11819:2;11813:9;11842:60;11858:43;11898:2;11858:43;:::i;11842:60::-;11936:15;;;12018:1;12014:10;;;;12006:19;;12002:28;;;11967:12;;;;12042:19;;;12039:39;;;12074:1;12071;12064:12;12039:39;12106:2;12102;12098:11;12118:895;12134:6;12129:3;12126:15;12118:895;;;12213:3;12207:10;12249:2;12236:11;12233:19;12230:109;;;12293:1;12322:2;12318;12311:14;12230:109;12362:20;;12417:2;12409:11;;12405:25;-1:-1:-1;12395:123:310;;12472:1;12501:2;12497;12490:14;12395:123;12556:2;12552;12548:11;12542:18;12584:2;12579:3;12576:11;12573:37;;;12590:18;;:::i;:::-;12636:52;12660:12;;;-1:-1:-1;;12656:26:310;12652:35;;12636:52;:::i;:::-;12715:3;12708:5;12701:18;12761:7;12756:2;12750:3;12746:2;12742:12;12738:21;12735:34;12732:127;;;12811:1;12841:3;12836;12829:16;12732:127;12872:68;12936:3;12931:2;12924:5;12920:14;12915:2;12911;12907:11;12872:68;:::i;:::-;12953:18;;-1:-1:-1;;12991:12:310;;;;12151;;12118:895;;;12122:3;13032:5;13022:15;;;;;;;;;;11269:1774;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testCannotGetTokenBalances_EOA()":"59f24c66","testCannotGetTokenBalances_NonTokenContract()":"16167c88","testGetTokenBalances_Empty()":"22cdfe8d","testGetTokenBalances_SHIB()":"7d15fbe7","testGetTokenBalances_USDC()":"849e5b77"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotGetTokenBalances_EOA\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotGetTokenBalances_NonTokenContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetTokenBalances_Empty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetTokenBalances_SHIB\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetTokenBalances_USDC\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol\":\"StdUtilsForkTest\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol\":{\"keccak256\":\"0x98b7ab6bce1b0cfbc3d9a5c7fa1cea31d7b2bfd6f89b3ab40b3388430a33410e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10b33b5eb0d095c6d9b632f55444b9a30e84503a08ff511ce1a64e9a073d50b1\",\"dweb:/ipfs/QmdmrW51o1ZW9za7c7utvPpFFEoR4DNNp5N8apdvWhDfNL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotGetTokenBalances_EOA"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotGetTokenBalances_NonTokenContract"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testGetTokenBalances_Empty"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testGetTokenBalances_SHIB"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testGetTokenBalances_USDC"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol":"StdUtilsForkTest"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154","urls":["bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749","dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V"],"license":"GPL-3.0-or-later"},"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol":{"keccak256":"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27","urls":["bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363","dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617","urls":["bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af","dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol":{"keccak256":"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b","urls":["bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17","dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol":{"keccak256":"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575","urls":["bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5","dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c","urls":["bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477","dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol":{"keccak256":"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337","urls":["bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985","dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol":{"keccak256":"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55","urls":["bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c","dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol":{"keccak256":"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945","urls":["bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf","dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol":{"keccak256":"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203","urls":["bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10","dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol":{"keccak256":"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46","urls":["bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88","dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol":{"keccak256":"0x98b7ab6bce1b0cfbc3d9a5c7fa1cea31d7b2bfd6f89b3ab40b3388430a33410e","urls":["bzz-raw://10b33b5eb0d095c6d9b632f55444b9a30e84503a08ff511ce1a64e9a073d50b1","dweb:/ipfs/QmdmrW51o1ZW9za7c7utvPpFFEoR4DNNp5N8apdvWhDfNL"],"license":"MIT"}},"version":1},"id":299}