hardhat 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/src/internal/builtin-global-options.d.ts.map +1 -1
  3. package/dist/src/internal/builtin-global-options.js +14 -1
  4. package/dist/src/internal/builtin-global-options.js.map +1 -1
  5. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts +0 -5
  6. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts.map +1 -1
  7. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js +12 -3
  8. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js.map +1 -1
  9. package/dist/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.d.ts.map +1 -1
  10. package/dist/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.js +12 -2
  11. package/dist/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.js.map +1 -1
  12. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts +9 -3
  13. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts.map +1 -1
  14. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js +65 -42
  15. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js.map +1 -1
  16. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.d.ts +11 -0
  17. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.d.ts.map +1 -0
  18. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js +104 -0
  19. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js.map +1 -0
  20. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.d.ts +6 -0
  21. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.d.ts.map +1 -0
  22. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.js +152 -0
  23. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.js.map +1 -0
  24. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.d.ts +19 -0
  25. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.d.ts.map +1 -0
  26. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.js +104 -0
  27. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.js.map +1 -0
  28. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.js +1 -1
  29. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.js.map +1 -1
  30. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.d.ts.map +1 -1
  31. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.js +8 -8
  32. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.js.map +1 -1
  33. package/dist/src/internal/builtin-plugins/network-manager/http-provider.d.ts.map +1 -1
  34. package/dist/src/internal/builtin-plugins/network-manager/http-provider.js +1 -0
  35. package/dist/src/internal/builtin-plugins/network-manager/http-provider.js.map +1 -1
  36. package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts +1 -1
  37. package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts.map +1 -1
  38. package/dist/src/internal/builtin-plugins/network-manager/network-manager.js +63 -7
  39. package/dist/src/internal/builtin-plugins/network-manager/network-manager.js.map +1 -1
  40. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.d.ts.map +1 -1
  41. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.js +56 -33
  42. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.js.map +1 -1
  43. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.d.ts +0 -3
  44. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.d.ts.map +1 -1
  45. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.js +9 -12
  46. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.js.map +1 -1
  47. package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.d.ts.map +1 -1
  48. package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.js +1 -1
  49. package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.js.map +1 -1
  50. package/dist/src/internal/builtin-plugins/node/helpers.d.ts.map +1 -1
  51. package/dist/src/internal/builtin-plugins/node/helpers.js +6 -2
  52. package/dist/src/internal/builtin-plugins/node/helpers.js.map +1 -1
  53. package/dist/src/internal/builtin-plugins/solidity/build-system/artifacts.d.ts.map +1 -1
  54. package/dist/src/internal/builtin-plugins/solidity/build-system/artifacts.js +4 -0
  55. package/dist/src/internal/builtin-plugins/solidity/build-system/artifacts.js.map +1 -1
  56. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts +5 -1
  57. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts.map +1 -1
  58. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js +86 -47
  59. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js.map +1 -1
  60. package/dist/src/internal/builtin-plugins/solidity/build-system/cache.d.ts +1 -0
  61. package/dist/src/internal/builtin-plugins/solidity/build-system/cache.d.ts.map +1 -1
  62. package/dist/src/internal/builtin-plugins/solidity/build-system/cache.js.map +1 -1
  63. package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.d.ts +3 -3
  64. package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.d.ts.map +1 -1
  65. package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.js +24 -4
  66. package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.js.map +1 -1
  67. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.d.ts +16 -0
  68. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.d.ts.map +1 -1
  69. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.js +1 -1
  70. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.js.map +1 -1
  71. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.d.ts.map +1 -1
  72. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.js +1 -1
  73. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.js.map +1 -1
  74. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.d.ts +2 -2
  75. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.d.ts.map +1 -1
  76. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.js.map +1 -1
  77. package/dist/src/internal/builtin-plugins/solidity/config.d.ts +4 -2
  78. package/dist/src/internal/builtin-plugins/solidity/config.d.ts.map +1 -1
  79. package/dist/src/internal/builtin-plugins/solidity/config.js +247 -68
  80. package/dist/src/internal/builtin-plugins/solidity/config.js.map +1 -1
  81. package/dist/src/internal/builtin-plugins/solidity/exports.d.ts +3 -0
  82. package/dist/src/internal/builtin-plugins/solidity/exports.d.ts.map +1 -0
  83. package/dist/src/internal/builtin-plugins/solidity/exports.js +3 -0
  84. package/dist/src/internal/builtin-plugins/solidity/exports.js.map +1 -0
  85. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/config.d.ts.map +1 -1
  86. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/config.js +2 -1
  87. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/config.js.map +1 -1
  88. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/solidity.d.ts +4 -0
  89. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/solidity.d.ts.map +1 -0
  90. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/solidity.js +7 -0
  91. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/solidity.js.map +1 -0
  92. package/dist/src/internal/builtin-plugins/solidity/index.d.ts.map +1 -1
  93. package/dist/src/internal/builtin-plugins/solidity/index.js +1 -0
  94. package/dist/src/internal/builtin-plugins/solidity/index.js.map +1 -1
  95. package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.d.ts +18 -0
  96. package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.d.ts.map +1 -0
  97. package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.js +33 -0
  98. package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.js.map +1 -0
  99. package/dist/src/internal/builtin-plugins/solidity/type-extensions.d.ts +201 -28
  100. package/dist/src/internal/builtin-plugins/solidity/type-extensions.d.ts.map +1 -1
  101. package/dist/src/internal/builtin-plugins/solidity/type-extensions.js.map +1 -1
  102. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.d.ts +12 -6
  103. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.d.ts.map +1 -1
  104. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js +9 -7
  105. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js.map +1 -1
  106. package/dist/src/internal/builtin-plugins/solidity-test/formatters.d.ts +1 -12
  107. package/dist/src/internal/builtin-plugins/solidity-test/formatters.d.ts.map +1 -1
  108. package/dist/src/internal/builtin-plugins/solidity-test/formatters.js +0 -150
  109. package/dist/src/internal/builtin-plugins/solidity-test/formatters.js.map +1 -1
  110. package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts +4 -3
  111. package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts.map +1 -1
  112. package/dist/src/internal/builtin-plugins/solidity-test/helpers.js +5 -9
  113. package/dist/src/internal/builtin-plugins/solidity-test/helpers.js.map +1 -1
  114. package/dist/src/internal/builtin-plugins/solidity-test/index.d.ts.map +1 -1
  115. package/dist/src/internal/builtin-plugins/solidity-test/index.js +0 -7
  116. package/dist/src/internal/builtin-plugins/solidity-test/index.js.map +1 -1
  117. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.d.ts +7 -0
  118. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.d.ts.map +1 -0
  119. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.js +20 -0
  120. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.js.map +1 -0
  121. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.d.ts +24 -0
  122. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.d.ts.map +1 -0
  123. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.js +68 -0
  124. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.js.map +1 -0
  125. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.d.ts +13 -0
  126. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.d.ts.map +1 -0
  127. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.js +136 -0
  128. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.js.map +1 -0
  129. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.d.ts +19 -0
  130. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.d.ts.map +1 -0
  131. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.js +133 -0
  132. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.js.map +1 -0
  133. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.d.ts +10 -0
  134. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.d.ts.map +1 -0
  135. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.js +2 -0
  136. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.js.map +1 -0
  137. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.d.ts +12 -0
  138. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.d.ts.map +1 -0
  139. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.js +81 -0
  140. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.js.map +1 -0
  141. package/dist/src/internal/builtin-plugins/solidity-test/reporter.d.ts +1 -1
  142. package/dist/src/internal/builtin-plugins/solidity-test/reporter.d.ts.map +1 -1
  143. package/dist/src/internal/builtin-plugins/solidity-test/reporter.js +5 -2
  144. package/dist/src/internal/builtin-plugins/solidity-test/reporter.js.map +1 -1
  145. package/dist/src/internal/builtin-plugins/solidity-test/task-action.d.ts +0 -1
  146. package/dist/src/internal/builtin-plugins/solidity-test/task-action.d.ts.map +1 -1
  147. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js +21 -14
  148. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js.map +1 -1
  149. package/dist/src/internal/builtin-plugins/test/index.d.ts.map +1 -1
  150. package/dist/src/internal/builtin-plugins/test/index.js +0 -7
  151. package/dist/src/internal/builtin-plugins/test/index.js.map +1 -1
  152. package/dist/src/internal/builtin-plugins/test/task-action.d.ts +0 -1
  153. package/dist/src/internal/builtin-plugins/test/task-action.d.ts.map +1 -1
  154. package/dist/src/internal/builtin-plugins/test/task-action.js +1 -4
  155. package/dist/src/internal/builtin-plugins/test/task-action.js.map +1 -1
  156. package/dist/src/internal/cli/help/get-help-string.d.ts.map +1 -1
  157. package/dist/src/internal/cli/help/get-help-string.js +1 -1
  158. package/dist/src/internal/cli/help/get-help-string.js.map +1 -1
  159. package/dist/src/internal/cli/init/init.d.ts.map +1 -1
  160. package/dist/src/internal/cli/init/init.js +1 -1
  161. package/dist/src/internal/cli/init/init.js.map +1 -1
  162. package/dist/src/internal/cli/init/prompt.d.ts.map +1 -1
  163. package/dist/src/internal/cli/init/prompt.js +1 -7
  164. package/dist/src/internal/cli/init/prompt.js.map +1 -1
  165. package/dist/src/internal/core/hre.d.ts +2 -1
  166. package/dist/src/internal/core/hre.d.ts.map +1 -1
  167. package/dist/src/internal/core/hre.js +18 -0
  168. package/dist/src/internal/core/hre.js.map +1 -1
  169. package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.d.ts.map +1 -1
  170. package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.js +6 -1
  171. package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.js.map +1 -1
  172. package/dist/src/internal/core/user-interruptions.d.ts.map +1 -1
  173. package/dist/src/internal/core/user-interruptions.js +2 -5
  174. package/dist/src/internal/core/user-interruptions.js.map +1 -1
  175. package/dist/src/internal/utils/colorizer.d.ts +10 -0
  176. package/dist/src/internal/utils/colorizer.d.ts.map +1 -0
  177. package/dist/src/internal/utils/colorizer.js +2 -0
  178. package/dist/src/internal/utils/colorizer.js.map +1 -0
  179. package/dist/src/internal/utils/package.d.ts.map +1 -1
  180. package/dist/src/internal/utils/package.js +1 -1
  181. package/dist/src/internal/utils/package.js.map +1 -1
  182. package/dist/src/types/global-options.d.ts +1 -0
  183. package/dist/src/types/global-options.d.ts.map +1 -1
  184. package/dist/src/types/hooks.d.ts +32 -0
  185. package/dist/src/types/hooks.d.ts.map +1 -1
  186. package/dist/src/types/solidity/compilation-job.d.ts +5 -5
  187. package/dist/src/types/solidity/compilation-job.d.ts.map +1 -1
  188. package/dist/src/types/solidity/solidity-artifacts.d.ts +15 -0
  189. package/dist/src/types/solidity/solidity-artifacts.d.ts.map +1 -1
  190. package/package.json +6 -5
  191. package/src/internal/builtin-global-options.ts +15 -1
  192. package/src/internal/builtin-plugins/gas-analytics/helpers.ts +13 -3
  193. package/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.ts +25 -3
  194. package/src/internal/builtin-plugins/network-manager/edr/edr-provider.ts +107 -56
  195. package/src/internal/builtin-plugins/network-manager/edr/genesis-state.ts +179 -0
  196. package/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.ts +197 -0
  197. package/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.ts +137 -0
  198. package/src/internal/builtin-plugins/network-manager/hook-handlers/hre.ts +1 -0
  199. package/src/internal/builtin-plugins/network-manager/hook-handlers/network.ts +8 -11
  200. package/src/internal/builtin-plugins/network-manager/http-provider.ts +1 -0
  201. package/src/internal/builtin-plugins/network-manager/network-manager.ts +83 -10
  202. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.ts +98 -34
  203. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.ts +10 -30
  204. package/src/internal/builtin-plugins/node/artifacts/build-info-watcher.ts +1 -2
  205. package/src/internal/builtin-plugins/node/helpers.ts +9 -2
  206. package/src/internal/builtin-plugins/solidity/build-system/artifacts.ts +7 -2
  207. package/src/internal/builtin-plugins/solidity/build-system/build-system.ts +141 -65
  208. package/src/internal/builtin-plugins/solidity/build-system/cache.ts +1 -0
  209. package/src/internal/builtin-plugins/solidity/build-system/compilation-job.ts +34 -7
  210. package/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.ts +1 -1
  211. package/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.ts +1 -2
  212. package/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.ts +4 -2
  213. package/src/internal/builtin-plugins/solidity/config.ts +335 -110
  214. package/src/internal/builtin-plugins/solidity/exports.ts +2 -0
  215. package/src/internal/builtin-plugins/solidity/hook-handlers/config.ts +3 -0
  216. package/src/internal/builtin-plugins/solidity/hook-handlers/solidity.ts +9 -0
  217. package/src/internal/builtin-plugins/solidity/index.ts +1 -0
  218. package/src/internal/builtin-plugins/solidity/solidity-hooks.ts +53 -0
  219. package/src/internal/builtin-plugins/solidity/type-extensions.ts +258 -31
  220. package/src/internal/builtin-plugins/solidity-test/edr-artifacts.ts +22 -10
  221. package/src/internal/builtin-plugins/solidity-test/formatters.ts +1 -213
  222. package/src/internal/builtin-plugins/solidity-test/helpers.ts +8 -8
  223. package/src/internal/builtin-plugins/solidity-test/index.ts +0 -7
  224. package/src/internal/builtin-plugins/solidity-test/inline-config/constants.ts +21 -0
  225. package/src/internal/builtin-plugins/solidity-test/inline-config/helpers.ts +99 -0
  226. package/src/internal/builtin-plugins/solidity-test/inline-config/index.ts +272 -0
  227. package/src/internal/builtin-plugins/solidity-test/inline-config/parsing.ts +186 -0
  228. package/src/internal/builtin-plugins/solidity-test/inline-config/types.ts +9 -0
  229. package/src/internal/builtin-plugins/solidity-test/inline-config/validation.ts +122 -0
  230. package/src/internal/builtin-plugins/solidity-test/reporter.ts +6 -6
  231. package/src/internal/builtin-plugins/solidity-test/task-action.ts +42 -25
  232. package/src/internal/builtin-plugins/test/index.ts +0 -7
  233. package/src/internal/builtin-plugins/test/task-action.ts +1 -6
  234. package/src/internal/cli/help/get-help-string.ts +2 -2
  235. package/src/internal/cli/init/init.ts +1 -1
  236. package/src/internal/cli/init/prompt.ts +1 -14
  237. package/src/internal/core/hre.ts +33 -0
  238. package/src/internal/core/plugins/detect-plugin-npm-dependency-problems.ts +8 -1
  239. package/src/internal/core/user-interruptions.ts +3 -5
  240. package/src/internal/utils/colorizer.ts +9 -0
  241. package/src/internal/utils/package.ts +1 -2
  242. package/src/types/global-options.ts +1 -0
  243. package/src/types/hooks.ts +37 -0
  244. package/src/types/solidity/compilation-job.ts +5 -5
  245. package/src/types/solidity/solidity-artifacts.ts +16 -0
  246. package/templates/hardhat-3/01-node-test-runner-viem/package.json +5 -5
  247. package/templates/hardhat-3/02-mocha-ethers/package.json +11 -11
  248. package/templates/hardhat-3/03-minimal/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/artifacts.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
- import type { SolidityConfig } from "../../../../types/config.js";
1
+ import type { SolidityCompilerConfig, SolcSolidityCompilerConfig, SolidityConfig } from "../../../../types/config.js";
2
2
  import type { HookManager } from "../../../../types/hooks.js";
3
3
  import type { SolidityBuildSystem, BuildOptions, CompilationJobCreationError, FileBuildResult, GetCompilationJobsOptions, CompileBuildInfoOptions, RunCompilationJobOptions, GetCompilationJobsResult, EmitArtifactsResult, RunCompilationJobResult, BuildScope } from "../../../../types/solidity/build-system.js";
4
4
  import type { CompilationJob, CompilerOutput, CompilerOutputError, SolidityBuildInfo } from "../../../../types/solidity.js";
5
+ /**
6
+ * Returns true if the given compiler config is a SolcSolidityCompilerConfig.
7
+ */
8
+ export declare function isSolcSolidityCompilerConfig(config: SolidityCompilerConfig): config is SolcSolidityCompilerConfig;
5
9
  export declare const SUPPRESSED_WARNINGS: Array<{
6
10
  message: string;
7
11
  sourceFile: string;
@@ -1 +1 @@
1
- {"version":3,"file":"build-system.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/build-system.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,2BAA2B,EAC3B,eAAe,EACf,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EAEX,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,cAAc,EAEd,cAAc,EACd,mBAAmB,EAEnB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AAqEvC,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAMA,CAAC;AAQF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAoBD,qBAAa,iCAAkC,YAAW,mBAAmB;;gBAM/D,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,0BAA0B;IAKtD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAiB7C,gBAAgB,CAC3B,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,UAAU,CAAA;KAAO,GACnC,OAAO,CAAC,MAAM,EAAE,CAAC;IAyCb,uBAAuB,CAC5B,WAAW,EAAE,2BAA2B,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GACtE,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;IAIjC,KAAK,CAChB,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,2BAA2B,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAqMzD,kBAAkB,CAC7B,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,2BAA2B,GAAG,wBAAwB,CAAC;IAoPrD,iBAAiB,CAC5B,sBAAsB,EAAE,cAAc,EACtC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,uBAAuB,CAAC;IA+CtB,kBAAkB,CAC7B,sBAAsB,EAAE,cAAc,EACtC,KAAK,EAAE,mBAAmB,EAC1B,kBAAkB,GAAE,OAAe,GAClC,OAAO,CAAC,mBAAmB,CAAC;IA6BlB,aAAa,CACxB,sBAAsB,EAAE,cAAc,EACtC,cAAc,EAAE,cAAc,EAC9B,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,UAAU,CAAA;KAAO,GACnC,OAAO,CAAC,mBAAmB,CAAC;IAoJlB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAMzD,gBAAgB,CAC3B,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,UAAU,CAAA;KAAO,GACnC,OAAO,CAAC,IAAI,CAAC;IAyGH,gBAAgB,CAC3B,SAAS,EAAE,iBAAiB,EAC5B,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,cAAc,CAAC;CAmP3B"}
1
+ {"version":3,"file":"build-system.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/build-system.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import debug from "debug";
10
10
  import pMap from "p-map";
11
11
  import { FileBuildResultType } from "../../../../types/solidity/build-system.js";
12
12
  import { DEFAULT_BUILD_PROFILE } from "../build-profiles.js";
13
+ import { getSolcCompilerForConfig } from "../solidity-hooks.js";
13
14
  import { getArtifactsDeclarationFile, getBuildInfo, getBuildInfoOutput, getContractArtifact, getDuplicatedContractNamesDeclarationFile, } from "./artifacts.js";
14
15
  import { loadCache, saveCache } from "./cache.js";
15
16
  import { CompilationJobImplementation } from "./compilation-job.js";
@@ -21,11 +22,10 @@ import { SolcConfigSelector } from "./solc-config-selection.js";
21
22
  import { shouldSuppressWarning } from "./warning-suppression.js";
22
23
  const log = debug("hardhat:core:solidity:build-system");
23
24
  /**
24
- * Resolves the preferWasm setting for a given solc config, falling back
25
- * to the build profile's preferWasm if not set on the compiler.
25
+ * Returns true if the given compiler config is a SolcSolidityCompilerConfig.
26
26
  */
27
- function resolvePreferWasm(solcConfig, buildProfilePreferWasm) {
28
- return solcConfig.preferWasm ?? buildProfilePreferWasm;
27
+ export function isSolcSolidityCompilerConfig(config) {
28
+ return config.type === undefined || config.type === "solc";
29
29
  }
30
30
  // Compiler warnings to suppress from build output.
31
31
  // Each rule specifies a warning message and the source file it applies to.
@@ -219,27 +219,40 @@ export class SolidityBuildSystemImplementation {
219
219
  subgraphsWithConfig.push([configOrError.config, subgraph]);
220
220
  }
221
221
  // get longVersion and isWasm from the compiler for each version
222
- const solcVersionToLongVersion = new Map();
223
- const versionIsWasm = new Map();
224
- for (const [solcConfig] of subgraphsWithConfig) {
225
- let solcLongVersion = solcVersionToLongVersion.get(solcConfig.version);
226
- if (solcLongVersion === undefined) {
227
- const compiler = await getCompiler(solcConfig.version, {
228
- preferWasm: resolvePreferWasm(solcConfig, buildProfile.preferWasm),
229
- compilerPath: solcConfig.path,
230
- });
231
- solcLongVersion = compiler.longVersion;
232
- solcVersionToLongVersion.set(solcConfig.version, solcLongVersion);
233
- versionIsWasm.set(solcConfig.version, compiler.isSolcJs);
222
+ // These maps are keyed by compiler type first, then version, to avoid
223
+ // collisions between different compiler types using the same version string.
224
+ const solidityVersionToLongVersionPerCompilerType = new Map();
225
+ const versionIsWasmPerCompilerType = new Map();
226
+ for (const [compilerConfig] of subgraphsWithConfig) {
227
+ const compilerType = compilerConfig.type ?? "solc";
228
+ let longVersionMap = solidityVersionToLongVersionPerCompilerType.get(compilerType);
229
+ if (longVersionMap === undefined) {
230
+ longVersionMap = new Map();
231
+ solidityVersionToLongVersionPerCompilerType.set(compilerType, longVersionMap);
232
+ }
233
+ let isWasmMap = versionIsWasmPerCompilerType.get(compilerType);
234
+ if (isWasmMap === undefined) {
235
+ isWasmMap = new Map();
236
+ versionIsWasmPerCompilerType.set(compilerType, isWasmMap);
237
+ }
238
+ let longVersion = longVersionMap.get(compilerConfig.version);
239
+ if (longVersion === undefined) {
240
+ const compiler = await this.#hooks.runHandlerChain("solidity", "getCompiler", [compilerConfig], async (_context, cfg) => getSolcCompilerForConfig(cfg, buildProfile.preferWasm));
241
+ longVersion = compiler.longVersion;
242
+ longVersionMap.set(compilerConfig.version, longVersion);
243
+ isWasmMap.set(compilerConfig.version, compiler.isSolcJs);
234
244
  }
235
245
  }
236
246
  // build job for each root file. At this point subgraphsWithConfig are 1 root file each
237
247
  const indexedIndividualJobs = new Map();
238
248
  const sharedContentHashes = new Map();
239
249
  await Promise.all(subgraphsWithConfig.map(async ([config, subgraph]) => {
240
- const solcLongVersion = solcVersionToLongVersion.get(config.version);
241
- assertHardhatInvariant(solcLongVersion !== undefined, "solcLongVersion should not be undefined");
242
- const individualJob = new CompilationJobImplementation(subgraph, config, solcLongVersion, this.#hooks, sharedContentHashes);
250
+ const compilerType = config.type ?? "solc";
251
+ const longVersionMap = solidityVersionToLongVersionPerCompilerType.get(compilerType);
252
+ assertHardhatInvariant(longVersionMap !== undefined, `No long version map for compiler type ${compilerType}`);
253
+ const longVersion = longVersionMap.get(config.version);
254
+ assertHardhatInvariant(longVersion !== undefined, "longVersion should not be undefined");
255
+ const individualJob = new CompilationJobImplementation(subgraph, config, longVersion, this.#hooks, sharedContentHashes);
243
256
  await individualJob.getBuildId(); // precompute
244
257
  indexedIndividualJobs.set(getSingleRootFilePath(subgraph), individualJob);
245
258
  }));
@@ -252,13 +265,17 @@ export class SolidityBuildSystemImplementation {
252
265
  for (const [rootFile, compilationJob] of indexedIndividualJobs.entries()) {
253
266
  const jobHash = await compilationJob.getBuildId();
254
267
  const cacheResult = this.#compileCache[rootFile];
255
- const isWasm = versionIsWasm.get(compilationJob.solcConfig.version);
268
+ const compilerType = compilationJob.solcConfig.type ?? "solc";
269
+ const isWasmMap = versionIsWasmPerCompilerType.get(compilerType);
270
+ assertHardhatInvariant(isWasmMap !== undefined, `No isWasm map for compiler type ${compilerType}`);
271
+ const isWasm = isWasmMap.get(compilationJob.solcConfig.version);
256
272
  assertHardhatInvariant(isWasm !== undefined, `Version ${compilationJob.solcConfig.version} not present in isWasm map`);
257
273
  // If there's no cache for the root file, or the compilation job changed, or using force flag, or isolated mode changed, compile it
258
274
  if (options?.force === true ||
259
275
  cacheResult === undefined ||
260
276
  cacheResult.jobHash !== jobHash ||
261
277
  cacheResult.isolated !== isolated ||
278
+ cacheResult.compilerType !== compilerType ||
262
279
  cacheResult.wasm !== isWasm) {
263
280
  rootFilesToCompile.add(rootFile);
264
281
  continue;
@@ -294,9 +311,11 @@ export class SolidityBuildSystemImplementation {
294
311
  // non-isolated mode
295
312
  log(`Merging compilation jobs`);
296
313
  const mergedSubgraphsByConfig = new Map();
297
- // Note: This groups the subgraphs by solc config. It compares the configs
298
- // based on reference, and not by deep equality. It misses some merging
299
- // opportunities, but this is Hardhat v2's behavior and works well enough.
314
+ // Note: This groups the subgraphs by compiler config. It compares the
315
+ // configs based on reference, and not by deep equality. This is
316
+ // inherently type-aware: two configs with different types will always be
317
+ // different references. It misses some merging opportunities, but this is
318
+ // Hardhat v2's behavior and works well enough.
300
319
  for (const [config, subgraph] of subgraphsWithConfig) {
301
320
  const rootFile = getSingleRootFilePath(subgraph);
302
321
  // Skip root files with cache hit (should not recompile)
@@ -321,10 +340,13 @@ export class SolidityBuildSystemImplementation {
321
340
  });
322
341
  }
323
342
  const compilationJobsPerFile = new Map();
324
- for (const [solcConfig, subgraph] of subgraphsWithConfig) {
325
- const solcLongVersion = solcVersionToLongVersion.get(solcConfig.version);
326
- assertHardhatInvariant(solcLongVersion !== undefined, "solcLongVersion should not be undefined");
327
- const runnableCompilationJob = new CompilationJobImplementation(subgraph, solcConfig, solcLongVersion, this.#hooks, sharedContentHashes);
343
+ for (const [compilerConfig, subgraph] of subgraphsWithConfig) {
344
+ const compilerType = compilerConfig.type ?? "solc";
345
+ const longVersionMap = solidityVersionToLongVersionPerCompilerType.get(compilerType);
346
+ assertHardhatInvariant(longVersionMap !== undefined, `No long version map for compiler type ${compilerType}`);
347
+ const longVersion = longVersionMap.get(compilerConfig.version);
348
+ assertHardhatInvariant(longVersion !== undefined, "longVersion should not be undefined");
349
+ const runnableCompilationJob = new CompilationJobImplementation(subgraph, compilerConfig, longVersion, this.#hooks, sharedContentHashes);
328
350
  for (const [userSourceName, root] of subgraph.getRoots().entries()) {
329
351
  compilationJobsPerFile.set(formatRootPath(userSourceName, root), runnableCompilationJob);
330
352
  }
@@ -353,11 +375,8 @@ export class SolidityBuildSystemImplementation {
353
375
  }
354
376
  const numberOfRootFiles = runnableCompilationJob.dependencyGraph.getRoots().size;
355
377
  const { buildProfile } = this.#getBuildProfile(options?.buildProfile);
356
- const compiler = await getCompiler(runnableCompilationJob.solcConfig.version, {
357
- preferWasm: resolvePreferWasm(runnableCompilationJob.solcConfig, buildProfile.preferWasm),
358
- compilerPath: runnableCompilationJob.solcConfig.path,
359
- });
360
- log(`Compiling ${numberOfRootFiles} root files and ${numberOfFiles - numberOfRootFiles} dependency files with solc ${runnableCompilationJob.solcConfig.version} using ${compiler.compilerPath}`);
378
+ const compiler = await this.#hooks.runHandlerChain("solidity", "getCompiler", [runnableCompilationJob.solcConfig], async (_context, cfg) => getSolcCompilerForConfig(cfg, buildProfile.preferWasm));
379
+ log(`Compiling ${numberOfRootFiles} root files and ${numberOfFiles - numberOfRootFiles} dependency files with ${runnableCompilationJob.solcConfig.type ?? "solc"} ${runnableCompilationJob.solcConfig.version} using ${compiler.compilerPath}`);
361
380
  assertHardhatInvariant(runnableCompilationJob.solcLongVersion === compiler.longVersion, "The long version of the compiler should match the long version of the compilation job");
362
381
  const input = await runnableCompilationJob.getSolcInput();
363
382
  const output = await this.#hooks.runHandlerChain("solidity", "invokeSolc", [compiler, input, runnableCompilationJob.solcConfig], async (_context, nextCompiler, nextSolcInput) => {
@@ -530,8 +549,10 @@ export class SolidityBuildSystemImplementation {
530
549
  }
531
550
  async compileBuildInfo(buildInfo, options) {
532
551
  const quiet = options?.quiet ?? false;
533
- // We download the compiler for the build info as it may not be configured
534
- // in the HH config, hence not downloaded with the other compilers
552
+ // Build info recompilation is always solc-only: build info files are
553
+ // produced by solc and must be recompiled with the same solc version.
554
+ // We bypass both downloadCompilers and getCompiler hooks — this is a
555
+ // self-contained solc replay path, not plugin-configurable compilation.
535
556
  await downloadSolcCompilers(new Set([buildInfo.solcVersion]), quiet);
536
557
  const compiler = await getCompiler(buildInfo.solcVersion, {
537
558
  preferWasm: false,
@@ -544,16 +565,15 @@ export class SolidityBuildSystemImplementation {
544
565
  if (this.#configuredCompilersDownloaded) {
545
566
  return;
546
567
  }
547
- await downloadSolcCompilers(this.#getAllCompilerVersions(), quiet);
568
+ const allSolidityCompilerConfigs = this.#getAllSolidityCompilerConfigs();
569
+ await this.#hooks.runParallelHandlers("solidity", "downloadCompilers", [
570
+ allSolidityCompilerConfigs,
571
+ quiet,
572
+ ]);
548
573
  this.#configuredCompilersDownloaded = true;
549
574
  }
550
- #getAllCompilerVersions() {
551
- return new Set(Object.values(this.#options.solidityConfig.profiles)
552
- .map((profile) => [
553
- ...profile.compilers.map((compiler) => compiler.version),
554
- ...Object.values(profile.overrides).map((override) => override.version),
555
- ])
556
- .flat(1));
575
+ #getAllSolidityCompilerConfigs() {
576
+ return Object.values(this.#options.solidityConfig.profiles).flatMap((profile) => [...profile.compilers, ...Object.values(profile.overrides)]);
557
577
  }
558
578
  #isConsoleLogError(error) {
559
579
  const message = error.message;
@@ -596,6 +616,7 @@ export class SolidityBuildSystemImplementation {
596
616
  this.#compileCache[rootFilePath] = {
597
617
  jobHash,
598
618
  isolated,
619
+ compilerType: individualJob.solcConfig.type ?? "solc",
599
620
  artifactPaths,
600
621
  buildInfoPath: emitArtifactsResult.buildInfoPath,
601
622
  buildInfoOutputPath: emitArtifactsResult.buildInfoOutputPath,
@@ -647,14 +668,18 @@ export class SolidityBuildSystemImplementation {
647
668
  return;
648
669
  }
649
670
  for (const job of runnableCompilationJobs) {
671
+ const compilerType = job.solcConfig.type ?? "solc";
650
672
  const solcVersion = job.solcConfig.version;
651
673
  const solcInput = await job.getSolcInput();
652
674
  const evmVersion = solcInput.settings.evmVersion ??
653
675
  `Check solc ${solcVersion}'s doc for its default evm version`;
654
- let jobsPerVersion = jobsPerVersionAndEvmVersion.get(solcVersion);
676
+ // Group by compiler type + Solidity version to produce separate log
677
+ // lines for e.g. "solc 0.8.33" vs "solx 0.1.3 (Solidity 0.8.33)".
678
+ const groupKey = `${compilerType}#${solcVersion}`;
679
+ let jobsPerVersion = jobsPerVersionAndEvmVersion.get(groupKey);
655
680
  if (jobsPerVersion === undefined) {
656
681
  jobsPerVersion = new Map();
657
- jobsPerVersionAndEvmVersion.set(solcVersion, jobsPerVersion);
682
+ jobsPerVersionAndEvmVersion.set(groupKey, jobsPerVersion);
658
683
  }
659
684
  let jobsPerEvmVersion = jobsPerVersion.get(evmVersion);
660
685
  if (jobsPerEvmVersion === undefined) {
@@ -663,16 +688,30 @@ export class SolidityBuildSystemImplementation {
663
688
  }
664
689
  jobsPerEvmVersion.push(job);
665
690
  }
666
- for (const solcVersion of [...jobsPerVersionAndEvmVersion.keys()].sort()) {
691
+ for (const groupKey of [...jobsPerVersionAndEvmVersion.keys()].sort()) {
667
692
  /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion --
668
693
  This is a valid key, just sorted */
669
- const jobsPerEvmVersion = jobsPerVersionAndEvmVersion.get(solcVersion);
694
+ const jobsPerEvmVersion = jobsPerVersionAndEvmVersion.get(groupKey);
695
+ const [compilerType, solidityVersion] = groupKey.split("#");
670
696
  for (const evmVersion of [...jobsPerEvmVersion.keys()].sort()) {
671
697
  /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion --
672
698
  This is a valid key, just sorted */
673
699
  const jobs = jobsPerEvmVersion.get(evmVersion);
674
700
  const rootFiles = jobs.reduce((count, job) => count + job.dependencyGraph.getRoots().size, 0);
675
- console.log(chalk.bold(`Compiled ${rootFiles} Solidity ${pluralize(options.scope === "contracts" ? "file" : "test file", rootFiles)} with solc ${solcVersion}`), `(evm target: ${evmVersion})`);
701
+ // For solc, the compiler version is the Solidity version.
702
+ // For other compilers, extract the compiler's own version from the
703
+ // longVersion stored on the compilation job, and show the Solidity
704
+ // version separately.
705
+ let compilerLabel;
706
+ if (compilerType === "solc") {
707
+ compilerLabel = `solc ${solidityVersion}`;
708
+ }
709
+ else {
710
+ const longVersion = jobs[0].solcLongVersion;
711
+ const compilerVersion = longVersion.split("+")[0];
712
+ compilerLabel = `${compilerType} ${compilerVersion} (Solidity ${solidityVersion})`;
713
+ }
714
+ console.log(chalk.bold(`Compiled ${rootFiles} Solidity ${pluralize(options.scope === "contracts" ? "file" : "test file", rootFiles)} with ${compilerLabel}`), `(evm target: ${evmVersion})`);
676
715
  }
677
716
  }
678
717
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build-system.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/build-system.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,MAAM,EACN,SAAS,EACT,yBAAyB,EACzB,mBAAmB,EACnB,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,aAAa,EACb,qBAAqB,EACrB,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,OAAO,CAAC;AAEzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EACL,2BAA2B,EAC3B,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,yCAAyC,GAC1C,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,GAAG,GAAG,KAAK,CAAC,oCAAoC,CAAC,CAAC;AAExD;;;GAGG;AACH,SAAS,iBAAiB,CACxB,UAAsB,EACtB,sBAA+B;IAE/B,OAAO,UAAU,CAAC,UAAU,IAAI,sBAAsB,CAAC;AACzD,CAAC;AAED,mDAAmD;AACnD,2EAA2E;AAC3E,iFAAiF;AACjF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,mBAAmB,GAG3B;IACH;QACE,OAAO,EACL,yJAAyJ;QAC3J,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;KAClD;CACF,CAAC;AAiBF;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,eAAgC;IAC7D,sBAAsB,CACpB,eAAe,CAAC,QAAQ,EAAE,CAAC,IAAI,KAAK,CAAC,EACrC,mDAAmD,CACpD,CAAC;IAEF,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,OAAO,iCAAiC;IACnC,MAAM,CAAc;IACpB,QAAQ,CAA6B;IAC9C,aAAa,GAAiB,EAAE,CAAC;IACjC,8BAA8B,GAAG,KAAK,CAAC;IAEvC,YAAY,KAAkB,EAAE,OAAmC;QACjE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,MAAc;QAClC,IACE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EACvB,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;YAC7D,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChE,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,UAAkC,EAAE;QAEpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC;QAE3C,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,WAAW;gBACd,MAAM,mBAAmB,GAAG,CAC1B,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC7C,mBAAmB,CACjB,GAAG,EACH,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACnD,CACF,CACF,CACF,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEV,MAAM,eAAe,GACnB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,CAC9C,sBAAsB,CACvB,CAAC;gBAEJ,OAAO,CAAC,GAAG,mBAAmB,EAAE,GAAG,eAAe,CAAC,CAAC;YACtD,KAAK,OAAO;gBACV,IAAI,aAAa,GAAG,CAClB,MAAM,OAAO,CAAC,GAAG,CAAC;oBAChB,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CACzD,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CACnB;oBACD,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;wBACtD,OAAO,mBAAmB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC/D,CAAC,CAAC;iBACH,CAAC,CACH,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAEV,sEAAsE;gBACtE,iDAAiD;gBACjD,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;gBACnD,OAAO,aAAa,CAAC;QACzB,CAAC;IACH,CAAC;IAEM,uBAAuB,CAC5B,WAAuE;QAEvE,OAAO,WAAW,YAAY,GAAG,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,KAAK,CAChB,aAAuB,EACvB,QAAuB;QAEvB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAChC,UAAU,EACV,OAAO,EACP,CAAC,aAAa,EAAE,QAAQ,CAAC,EACzB,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,CACjD,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAC9C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,aAAuB,EACvB,QAAuB;QAEvB,MAAM,OAAO,GAA2B;YACtC,YAAY,EAAE,qBAAqB;YACnC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9C,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,WAAW;YAClB,GAAG,QAAQ;SACZ,CAAC;QAEF,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEvD,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAErE,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACzD,aAAa,EACb,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;YACnC,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC;YAC5B,IAAI,EAAE,2BAA2B,OAAO,CAAC,KAAK,KAAK;YACnD,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,IAAI,CAAC;YACH,MAAM,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,SAAS,EAAE,GAChE,qBAAqB,CAAC;YAExB,MAAM,uBAAuB,GAAG;gBAC9B,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;aAC5C,CAAC;YAEF,uEAAuE;YACvE,qCAAqC;YACrC,MAAM,OAAO,CAAC,GAAG,CACf,uBAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,EAAE,EAAE,CAC3D,sBAAsB,CAAC,UAAU,EAAE,CACpC,CACF,CAAC;YAEF,MAAM,OAAO,GAAwB,MAAM,IAAI,CAC7C,uBAAuB,EACvB,KAAK,EAAE,sBAAsB,EAAE,EAAE;gBAC/B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACvD,sBAAsB,EACtB,OAAO,CACR,CAAC;gBAEF,OAAO;oBACL,cAAc,EAAE,sBAAsB;oBACtC,cAAc,EAAE,MAAM;oBACtB,QAAQ;iBACT,CAAC;YACJ,CAAC,EACD;gBACE,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,uEAAuE;gBACvE,wEAAwE;gBACxE,WAAW,EAAE,IAAI;aAClB,CACF,CAAC;YAEF,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CACtC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,cAAc,CAAC,CAC/D,CAAC;YAEF,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,CAAC;YAEtE,MAAM,0CAA0C,GAG5C,IAAI,GAAG,EAAE,CAAC;YAEd,IAAI,iBAAiB,EAAE,CAAC;gBACtB,GAAG,CAAC,wCAAwC,CAAC,CAAC;gBAC9C,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE;oBACtC,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,aAAa,CAClD,iBAAiB,CAAC,cAAc,EAChC,iBAAiB,CAAC,cAAc,EAChC,OAAO,CACR,CAAC;oBAEF,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC;oBAEjD,0CAA0C,CAAC,GAAG,CAC5C,iBAAiB,CAAC,cAAc,EAChC,gBAAgB,CACjB,CAAC;oBAEF,oBAAoB;oBACpB,MAAM,IAAI,CAAC,uBAAuB,CAChC,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,CAAC,QAAQ,EACrB,OAAO,CAAC,KAAK,CACd,CAAC;gBACJ,CAAC,CAAC,CACH,CAAC;gBAEF,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/D,CAAC;YAED,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,MAAM,UAAU,GAAiC,IAAI,GAAG,EAAE,CAAC;YAE3D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,0BAA0B,GAAG,iBAAiB;oBAClD,CAAC,CAAC,0CAA0C,CAAC,GAAG,CAC5C,MAAM,CAAC,cAAc,CACtB;oBACH,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;gBAEd,sBAAsB,CACpB,0BAA0B,KAAK,SAAS,EACxC,4EAA4E,CAC7E,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,CAC5D,CACF,CAAC;gBAEF,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAClD,MAAM,CAAC,cAAc,CACtB,CAAC;gBAEF,KAAK,MAAM,CACT,cAAc,EACd,IAAI,EACL,IAAI,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;oBAChE,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACtB,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE;4BACnD,IAAI,EAAE,mBAAmB,CAAC,aAAa;4BACvC,cAAc,EAAE,MAAM,CAAC,cAAc;4BACrC,MAAM;yBACP,CAAC,CAAC;wBAEH,SAAS;oBACX,CAAC;oBAED,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE;wBACnD,IAAI,EAAE,mBAAmB,CAAC,aAAa;wBACvC,cAAc,EAAE,MAAM,CAAC,cAAc;wBACrC,0BAA0B,EACxB,0BAA0B,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE;wBACtD,QAAQ,EAAE,MAAM;qBACjB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,oCAAoC;YACpC,KAAK,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/D,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE;oBAC3B,IAAI,EAAE,mBAAmB,CAAC,SAAS;oBACnC,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,0BAA0B,EAAE,YAAY,CAAC,aAAa;iBACvD,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,IAAI,iBAAiB,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,uBAAuB,CAAC,uBAAuB,EAAE;wBAC1D,KAAK,EAAE,OAAO,CAAC,KAAK;qBACrB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,aAAuB,EACvB,OAAmC;QAEnC,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAExD,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAChD,aAAa,CAAC,QAAQ,EAAE,EAAE,6CAA6C;QACvE,IAAI,CAAC,QAAQ,CAAC,WAAW,EACzB,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAClC,IAAI,CAAC,MAAM,CACZ,CAAC;QAEF,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAC9D,OAAO,EAAE,YAAY,CACtB,CAAC;QAEF,GAAG,CAAC,uBAAuB,gBAAgB,EAAE,CAAC,CAAC;QAE/C,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAC/C,gBAAgB,EAChB,YAAY,CACb,CAAC;QAEF,IAAI,mBAAmB,GAEnB,EAAE,CAAC;QACP,KAAK,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,eAAe,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClE,GAAG,CACD,0CAA0C,QAAQ,2BAA2B,YAAY,CAAC,eAAe,yBAAyB,QAAQ,EAAE,CAC7I,CAAC;YAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAEvD,MAAM,aAAa,GACjB,kBAAkB,CAAC,sCAAsC,CAAC,QAAQ,CAAC,CAAC;YAEtE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC3B,OAAO,aAAa,CAAC;YACvB,CAAC;YAED,mBAAmB,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,gEAAgE;QAChE,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAC;QACjD,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI,mBAAmB,EAAE,CAAC;YAC/C,IAAI,eAAe,GAAG,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEvE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE;oBACrD,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC;oBAClE,YAAY,EAAE,UAAU,CAAC,IAAI;iBAC9B,CAAC,CAAC;gBACH,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC;gBACvC,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBAClE,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,uFAAuF;QACvF,MAAM,qBAAqB,GAAgC,IAAI,GAAG,EAAE,CAAC;QACrE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtD,MAAM,OAAO,CAAC,GAAG,CACf,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE;YACnD,MAAM,eAAe,GAAG,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAErE,sBAAsB,CACpB,eAAe,KAAK,SAAS,EAC7B,yCAAyC,CAC1C,CAAC;YAEF,MAAM,aAAa,GAAG,IAAI,4BAA4B,CACpD,QAAQ,EACR,MAAM,EACN,eAAe,EACf,IAAI,CAAC,MAAM,EACX,mBAAmB,CACpB,CAAC;YAEF,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,aAAa;YAE/C,qBAAqB,CAAC,GAAG,CACvB,qBAAqB,CAAC,QAAQ,CAAC,EAC/B,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,iBAAiB;QACjB,IAAI,CAAC,aAAa,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE9D,gCAAgC;QAChC,MAAM,kBAAkB,GAAgB,IAAI,GAAG,EAAE,CAAC;QAClD,MAAM,SAAS,GAA8B,IAAI,GAAG,EAAE,CAAC;QAEvD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;QAEvC,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC;YACzE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpE,sBAAsB,CACpB,MAAM,KAAK,SAAS,EACpB,WAAW,cAAc,CAAC,UAAU,CAAC,OAAO,4BAA4B,CACzE,CAAC;YAEF,mIAAmI;YACnI,IACE,OAAO,EAAE,KAAK,KAAK,IAAI;gBACvB,WAAW,KAAK,SAAS;gBACzB,WAAW,CAAC,OAAO,KAAK,OAAO;gBAC/B,WAAW,CAAC,QAAQ,KAAK,QAAQ;gBACjC,WAAW,CAAC,IAAI,KAAK,MAAM,EAC3B,CAAC;gBACD,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,kEAAkE;YAClE,MAAM,EACJ,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,YAAY,GACb,GAAG,WAAW,CAAC;YAEhB,KAAK,MAAM,cAAc,IAAI;gBAC3B,GAAG,aAAa;gBAChB,aAAa;gBACb,mBAAmB;gBACnB,YAAY;aACb,EAAE,CAAC;gBACF,mEAAmE;gBACnE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjC,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;oBACpC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACjC,MAAM;gBACR,CAAC;YACH,CAAC;YAED,gEAAgE;YAChE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,oEAAoE;gBACpE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;gBAClE,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;oBACnE,OAAO;oBACP,aAAa;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,oBAAoB;YACpB,GAAG,CAAC,0BAA0B,CAAC,CAAC;YAEhC,MAAM,uBAAuB,GAGzB,IAAI,GAAG,EAAE,CAAC;YAEd,0EAA0E;YAC1E,uEAAuE;YACvE,0EAA0E;YAC1E,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBACrD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBAEjD,wDAAwD;gBACxD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtC,SAAS;gBACX,CAAC;gBAED,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAE3D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjC,uBAAuB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,uBAAuB,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YAED,mBAAmB,GAAG,CAAC,GAAG,uBAAuB,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,gBAAgB;YAChB,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAC9C,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE;gBACtB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBAEjD,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC,CACF,CAAC;QACJ,CAAC;QAED,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAA0B,CAAC;QACjE,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC;YACzD,MAAM,eAAe,GAAG,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEzE,sBAAsB,CACpB,eAAe,KAAK,SAAS,EAC7B,yCAAyC,CAC1C,CAAC;YAEF,MAAM,sBAAsB,GAAG,IAAI,4BAA4B,CAC7D,QAAQ,EACR,UAAU,EACV,eAAe,EACf,IAAI,CAAC,MAAM,EACX,mBAAmB,CACpB,CAAC;YAEF,KAAK,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnE,sBAAsB,CAAC,GAAG,CACxB,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,EACpC,sBAAsB,CACvB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,sBAAsB;YACtB,qBAAqB;YACrB,SAAS;SACV,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,mBAA2B,qBAAqB;QAC/D,MAAM,YAAY,GAChB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAE1D,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EACzD;gBACE,gBAAgB;aACjB,CACF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC5B,sBAAsC,EACtC,OAAkC;QAElC,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAExD,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,sBAAsB,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;YACrE,aAAa,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,iBAAiB,GACrB,sBAAsB,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;QAEzD,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEtE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,sBAAsB,CAAC,UAAU,CAAC,OAAO,EACzC;YACE,UAAU,EAAE,iBAAiB,CAC3B,sBAAsB,CAAC,UAAU,EACjC,YAAY,CAAC,UAAU,CACxB;YACD,YAAY,EAAE,sBAAsB,CAAC,UAAU,CAAC,IAAI;SACrD,CACF,CAAC;QAEF,GAAG,CACD,aAAa,iBAAiB,mBAAmB,aAAa,GAAG,iBAAiB,+BAA+B,sBAAsB,CAAC,UAAU,CAAC,OAAO,UAAU,QAAQ,CAAC,YAAY,EAAE,CAC5L,CAAC;QAEF,sBAAsB,CACpB,sBAAsB,CAAC,eAAe,KAAK,QAAQ,CAAC,WAAW,EAC/D,uFAAuF,CACxF,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,YAAY,EAAE,CAAC;QAE1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAC9C,UAAU,EACV,YAAY,EACZ,CAAC,QAAQ,EAAE,KAAK,EAAE,sBAAsB,CAAC,UAAU,CAAC,EACpD,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE;YAC9C,OAAO,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7C,CAAC,CACF,CAAC;QAEF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,sBAAsC,EACtC,KAA0B,EAC1B,qBAA8B,KAAK;QAEnC,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAC/C,sBAAsB,EACtB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE;gBAClC,MAAM,IAAI,GACR,sBAAsB,CAAC,eAAe,CAAC,wBAAwB,CAC7D,eAAe,CAChB,CAAC;gBAEJ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,OAAO,GAAG,MAAM,GAAG,eAAe,EAAE,CAAC;gBACvC,CAAC;gBAED,MAAM,WAAW,GAAG,kBAAkB;oBACpC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC1B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBAEhB,OAAO,GAAG,MAAM,GAAG,WAAW,EAAE,CAAC;YACnC,CAAC,CACF;SACF,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,sBAAsC,EACtC,cAA8B,EAC9B,UAAkC,EAAE;QAEpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC;QAE3C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;QACrD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,UAAU,EAAE,CAAC;QAE1D,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAEnE,wEAAwE;QACxE,wEAAwE;QACxE,+DAA+D;QAC/D,KAAK,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,sBAAsB,CAAC,eAAe;aACxE,QAAQ,EAAE;aACV,OAAO,EAAE,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YAEjE,sEAAsE;YACtE,2BAA2B;YAC3B,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YAEzB,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnE,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAe,EAAE,CAAC;YAEjC,qEAAqE;YACrE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjE,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CACpC,UAAU,EACV,GAAG,YAAY,OAAO,CACvB,CAAC;oBAEF,MAAM,QAAQ,GAAG,mBAAmB,CAClC,OAAO,EACP,cAAc,EACd,IAAI,CAAC,eAAe,EACpB,YAAY,EACZ,QAAQ,CACT,CAAC;oBAEF,MAAM,aAAa,CACjB,oBAAoB,EACpB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CACvC,CAAC;oBAEF,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACjC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAElE,sDAAsD;YACtD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC1B,MAAM,4BAA4B,GAAG,IAAI,CAAC,IAAI,CAC5C,UAAU,EACV,gBAAgB,CACjB,CAAC;gBACF,aAAa,CAAC,GAAG,CACf,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,EACpC,4BAA4B,CAC7B,CAAC;gBAEF,MAAM,wBAAwB,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;gBAExE,MAAM,aAAa,CACjB,4BAA4B,EAC5B,wBAAwB,CACzB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,yDAAyD;QACzD,MAAM,WAAW,GAAG,OAAO,CAAC;QAE5B,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,YAAY,CACb,CAAC;QAEF,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAEvC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAClC,qBAAqB,EACrB,GAAG,WAAW,OAAO,CACtB,CAAC;QAEF,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CACxC,qBAAqB,EACrB,GAAG,WAAW,cAAc,CAC7B,CAAC;QAEF,kEAAkE;QAClE,8DAA8D;QAC9D,wEAAwE;QACxE,qEAAqE;QACrE,0EAA0E;QAC1E,wEAAwE;QACxE,qEAAqE;QACrE,yEAAyE;QACzE,wBAAwB;QACxB,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,CAAC,KAAK,IAAI,EAAE;gBACV,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,sBAAsB,CAAC,CAAC;gBAE7D,iEAAiE;gBACjE,kDAAkD;gBAClD,MAAM,aAAa,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC,CAAC,EAAE;YACJ,CAAC,KAAK,IAAI,EAAE;gBACV,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAC9C,sBAAsB,EACtB,cAAc,CACf,CAAC;gBAEF,qFAAqF;gBACrF,6BAA6B;gBAC7B,oFAAoF;gBACpF,qFAAqF;gBACrF,wEAAwE;gBACxE,MAAM,qBAAqB,CAAC,wBAAwB,EAAE,eAAe,CAAC,CAAC;YACzE,CAAC,CAAC,EAAE;SACL,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAErE,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAElC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,WAAW,OAAO,CAAC,CAAC;QAEzE,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CACnC,gBAAgB,EAChB,GAAG,WAAW,cAAc,CAC7B,CAAC;QAEF,MAAM,IAAI,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAE9C,OAAO;YACL,gBAAgB;YAChB,aAAa;YACb,mBAAmB;YACnB,aAAa;SACd,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,KAAiB;QAClD,OAAO,KAAK,KAAK,WAAW;YAC1B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa;YAC7B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,aAAuB,EACvB,UAAkC,EAAE;QAEpC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAE7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC;QAC3C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAEnE,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;YACzD,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;YAC3C,OAAO,mBAAmB,CAAC,MAAM,CAAC;gBAChC,CAAC,CAAC,MAAM,CAAC,OAAO;gBAChB,CAAC,CAAC,cAAc,CACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CACxD,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;QAEpD,KAAK,MAAM,IAAI,IAAI,MAAM,yBAAyB,CAChD,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC1B,EAAE,CAAC;YACF,MAAM,YAAY,GAAG,cAAc,CACjC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,CACxC,CAAC;YAEF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1C,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAElE,uEAAuE;QACvE,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAC7C,kBAAkB,EAClB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,2BAA2B;YAClD,8BAA8B;YAC9B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,aAAa,CAC/B,CAAC;QAEF,MAAM,qBAAqB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7C,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YACvC,MAAM,QAAQ,GAAa,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;YAC5D,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC9B,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,wBAAwB,GAAG,IAAI,GAAG,CACtC,qBAAqB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CACvD,CAAC;QAEF,yCAAyC;QACzC,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CACpE,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAC5B,CAAC;QAEF,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAE9C,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAExD,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YAC1B,0EAA0E;YAC1E,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;YACrD,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAE1D,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEhD,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,eAAe,GAAG,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,CAAC;iBACtD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAE5B,MAAM,0CAA0C,GAAG,IAAI,CAAC,IAAI,CAC1D,kBAAkB,EAClB,gBAAgB,CACjB,CAAC;YAEF,MAAM,aAAa,CACjB,0CAA0C,EAC1C,yCAAyC,CAAC,eAAe,CAAC,CAC3D,CAAC;YAEF,kCAAkC;YAClC,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAC/B,UAAU,EACV,oBAAoB,EACpB,CAAC,aAAa,CAAC,EACf,KAAK,IAAI,EAAE,GAAE,CAAC,CACf,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,SAA4B,EAC5B,OAAiC;QAEjC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;QAEtC,0EAA0E;QAC1E,kEAAkE;QAClE,MAAM,qBAAqB,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAErE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE;YACxD,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,KAAK,GAAG,KAAK;QAC9C,wDAAwD;QACxD,KAAK,GAAG,KAAK,CAAC;QACd,IAAI,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,qBAAqB,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;IAC7C,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,GAAG,CACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;aACjD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAChB,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YACxD,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CACrC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAC/B;SACF,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,CACX,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,KAA0B;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAE9B,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,WAAW;YAC1B,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YACvB,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,MAAsB;QAC1C,OAAO,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,KAAK,CAAC;IAC1E,CAAC;IAED;;;;;;OAMG;IACH,yCAAyC,CACvC,KAA0B;QAE1B,IAAI,KAAK,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,wBAAwB,EAAE,CAAC;YAChE,OAAO;QACT,CAAC;QAED,4EAA4E;QAC5E,oDAAoD;QACpD,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,qBAAkD,EAClD,MAAyB,EACzB,mBAAwC,EACxC,QAAiB,EACjB,KAAiB;QAEjB,KAAK,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,eAAe;aACvE,QAAQ,EAAE;aACV,OAAO,EAAE,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAC1D,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAE9D,sBAAsB,CACpB,aAAa,KAAK,SAAS,EAC3B,gDAAgD,CACjD,CAAC;YAEF,MAAM,aAAa,GACjB,mBAAmB,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEzD,sBAAsB,CACpB,aAAa,KAAK,SAAS,EAC3B,iCAAiC,YAAY,EAAE,CAChD,CAAC;YAEF,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEzE,4DAA4D;YAC5D,sBAAsB,CACpB,KAAK,KAAK,OAAO,IAAI,YAAY,KAAK,SAAS,EAC/C,0CAA0C,YAAY,EAAE,CACzD,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;YAEjD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG;gBACjC,OAAO;gBACP,QAAQ;gBACR,aAAa;gBACb,aAAa,EAAE,mBAAmB,CAAC,aAAa;gBAChD,mBAAmB,EAAE,mBAAmB,CAAC,mBAAmB;gBAC5D,YAAY;gBACZ,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;aAC/B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,2BAA2B,CAAC,MAA8B;QACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,yDAAyD;QACzD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAClC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC/C,CAAC;QAEF,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC/B,MAAM,YAAY,GAChB,IAAI,CAAC,yCAAyC,CAAC,KAAK,CAAC;oBACrD,KAAK,CAAC,gBAAgB;oBACtB,KAAK,CAAC,OAAO,CAAC;gBAEhB,OAAO,CAAC,KAAK,CACX,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;oBAC/D,IAAI,CACP,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CACV,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC;qBACtC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBAC7C,OAAO,EAAE,GAAG,IAAI,CACpB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAY,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1D,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAC3B,CAAC;QAEF,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,uHAAuH,CACxH,CACF,CAAC;YACF,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,KAA0B;QAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC;QACpD,OAAO,qBAAqB,CAC1B,GAAG,EACH,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAC/B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,uBAAyC,EACzC,OAA8B;QAE9B,MAAM,2BAA2B,GAAG,IAAI,GAAG,EAGxC,CAAC;QAEJ,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,IAAI,OAAO,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAC9C,CAAC;YAED,OAAO;QACT,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;YAC3C,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC;YAC3C,MAAM,UAAU,GACd,SAAS,CAAC,QAAQ,CAAC,UAAU;gBAC7B,cAAc,WAAW,oCAAoC,CAAC;YAEhE,IAAI,cAAc,GAAG,2BAA2B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;gBAC3B,2BAA2B,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACpC,iBAAiB,GAAG,EAAE,CAAC;gBACvB,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;YACpD,CAAC;YAED,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,MAAM,WAAW,IAAI,CAAC,GAAG,2BAA2B,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACzE;+CACmC;YACnC,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;YAExE,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9D;mDACmC;gBACnC,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;gBAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAC3B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,IAAI,EAC3D,CAAC,CACF,CAAC;gBAEF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,YAAY,SAAS,aAAa,SAAS,CACzC,OAAO,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EACpD,SAAS,CACV,cAAc,WAAW,EAAE,CAC7B,EACD,gBAAgB,UAAU,GAAG,CAC9B,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"build-system.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/build-system.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export type CompileCache = Record<string, CompileCacheEntry>;
8
8
  export interface CompileCacheEntry {
9
9
  jobHash: string;
10
10
  isolated: boolean;
11
+ compilerType: string;
11
12
  buildInfoPath: string;
12
13
  buildInfoOutputPath: string;
13
14
  artifactPaths: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/cache.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;CACf;AAID,wBAAsB,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAU7E;AAED,wBAAsB,SAAS,CAC7B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,CAAC,CAOf"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/cache.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;CACf;AAID,wBAAsB,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAU7E;AAED,wBAAsB,SAAS,CAC7B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,CAAC,CAOf"}
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/cache.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAoB3C,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,cAAsB;IACpD,IAAI,KAAmB,CAAC;IAExB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,KAAK,GAAG,EAAE,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,cAAsB,EACtB,KAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,GAAG,QAAQ,MAAM,CAAC;IAClC,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/cache.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAqB3C,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,cAAsB;IACpD,IAAI,KAAmB,CAAC;IAExB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,KAAK,GAAG,EAAE,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,cAAsB,EACtB,KAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,GAAG,QAAQ,MAAM,CAAC;IAClC,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { DependencyGraphImplementation } from "./dependency-graph.js";
2
- import type { SolcConfig } from "../../../../types/config.js";
2
+ import type { SolidityCompilerConfig } from "../../../../types/config.js";
3
3
  import type { HookManager } from "../../../../types/hooks.js";
4
4
  import type { CompilationJob } from "../../../../types/solidity/compilation-job.js";
5
5
  import type { CompilerInput } from "../../../../types/solidity/compiler-io.js";
@@ -7,9 +7,9 @@ import type { DependencyGraph } from "../../../../types/solidity/dependency-grap
7
7
  export declare class CompilationJobImplementation implements CompilationJob {
8
8
  #private;
9
9
  readonly dependencyGraph: DependencyGraph;
10
- readonly solcConfig: SolcConfig;
10
+ readonly solcConfig: SolidityCompilerConfig;
11
11
  readonly solcLongVersion: string;
12
- constructor(dependencyGraph: DependencyGraphImplementation, solcConfig: SolcConfig, solcLongVersion: string, hooks: HookManager, sharedContentHashes?: Map<string, string>);
12
+ constructor(dependencyGraph: DependencyGraphImplementation, solcConfig: SolidityCompilerConfig, solcLongVersion: string, hooks: HookManager, sharedContentHashes?: Map<string, string>);
13
13
  getSolcInput(): Promise<CompilerInput>;
14
14
  getBuildId(): Promise<string>;
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compilation-job.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/compilation-job.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAetF,qBAAa,4BAA6B,YAAW,cAAc;;IACjE,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,UAAU,EAAE,UAAU,CAAC;IACvC,SAAgB,eAAe,EAAE,MAAM,CAAC;gBAWtC,eAAe,EAAE,6BAA6B,EAC9C,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,WAAW,EAClB,mBAAmB,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa;IASzC,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC;IAoBtC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAiM3C"}
1
+ {"version":3,"file":"compilation-job.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/compilation-job.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAetF,qBAAa,4BAA6B,YAAW,cAAc;;IACjE,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,UAAU,EAAE,sBAAsB,CAAC;IACnD,SAAgB,eAAe,EAAE,MAAM,CAAC;gBAWtC,eAAe,EAAE,6BAA6B,EAC9C,UAAU,EAAE,sBAAsB,EAClC,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,WAAW,EAClB,mBAAmB,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa;IASzC,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC;IAoBtC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CA4N3C"}
@@ -149,15 +149,35 @@ export class CompilationJobImplementation {
149
149
  // Changing this shouldn't be taken lightly, as it makes reproducing
150
150
  // builds pretty difficult when upgrading Hardhat between versions that
151
151
  // change it.
152
- const preimage = JSON.stringify({
152
+ const compilerType = this.solcConfig.type;
153
+ // We normalize solcConfig.type to `undefined` so that "solc" and undefined
154
+ // produce the same hash, for backwards compatibility.
155
+ const normalizedSolcConfig = { ...this.solcConfig, type: undefined };
156
+ const preimageObject = {
153
157
  format,
154
158
  solcLongVersion: this.solcLongVersion,
155
159
  smallerSolcInput,
156
- solcConfig: this.solcConfig,
160
+ solcConfig: normalizedSolcConfig,
157
161
  userSourceNameMap: this.dependencyGraph.getRootsUserSourceNameMap(),
158
- });
162
+ };
163
+ // Include compiler type in the preimage for non-solc types, so that
164
+ // different compiler types produce different build IDs.
165
+ if (compilerType !== undefined && compilerType !== "solc") {
166
+ preimageObject.compilerType = compilerType;
167
+ }
168
+ const preimage = JSON.stringify(preimageObject);
159
169
  const jobHash = await createNonCryptographicHashId(preimage);
160
- return `solc-${this.solcConfig.version.replaceAll(".", "_")}-${jobHash}`;
170
+ const versionPart = this.solcConfig.version.replaceAll(".", "_");
171
+ // For non-solc compiler types, include the compiler type in the build ID.
172
+ // We keep the `solc-` prefix for all types to avoid breaking codepaths
173
+ // that look for it.
174
+ if (compilerType !== undefined && compilerType !== "solc") {
175
+ /* eslint-disable-next-line @typescript-eslint/restrict-template-expressions --
176
+ compilerType is `never` in the base type system (only "solc" is registered),
177
+ but plugins can extend SolidityCompilerConfigPerType to add new compiler types. */
178
+ return `solc-${versionPart}-${compilerType}-${jobHash}`;
179
+ }
180
+ return `solc-${versionPart}-${jobHash}`;
161
181
  }
162
182
  #getSourceContentHash(sourceName, text) {
163
183
  let hash = this.#sharedContentHashes.get(sourceName);
@@ -1 +1 @@
1
- {"version":3,"file":"compilation-job.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/compilation-job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compilation-job.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/compilation-job.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,OAAO,EACL,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAE9D,MAAM,OAAO,4BAA4B;IACvB,eAAe,CAAkB;IACjC,UAAU,CAAyB;IACnC,eAAe,CAAS;IAE/B,MAAM,CAAc;IAC7B,kGAAkG;IAClG,yDAAyD;IAChD,oBAAoB,CAAsB;IAEnD,QAAQ,CAAqB;IAC7B,UAAU,CAA4B;IAEtC,YACE,eAA8C,EAC9C,UAAkC,EAClC,eAAuB,EACvB,KAAkB,EAClB,sBAA2C,IAAI,GAAG,EAAE;QAEpD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/C,0EAA0E;YAC1E,qEAAqE;YACrE,yEAAyE;YACzE,sBAAsB;YACtB,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CACjD,UAAU,EACV,mCAAmC,EACnC,CAAC,SAAS,CAAC,EACX,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE;gBAChC,OAAO,aAAa,CAAC;YACvB,CAAC,CACF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAkB;QACtC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,gBAAgB,CAAC,gBAAgB;gBACpC,uEAAuE;gBACvE,+CAA+C;gBAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC3B,KAAK,gBAAgB,CAAC,YAAY;gBAChC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC5C,4EAA4E;gBAC5E,6EAA6E;gBAC7E,wEAAwE;gBACxE,mFAAmF;gBACnF,mFAAmF;gBACnF,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAChC,UAAU,EACV,qCAAqC,EACrC,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,EACnE,KAAK,EACH,QAAQ,EACR,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,eAAe,EACf,EAAE;oBACF,KAAK,MAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,IAAI;wBAC9D,CAAC,iBAAiB,EAAE,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC;wBAC9D,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;wBACnC,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC;qBAC9C,EAAE,CAAC;wBACF,IAAI,kBAAkB,KAAK,gBAAgB,EAAE,CAAC;4BAC5C,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kCAAkC,EACjE;gCACE,gBAAgB,EAAE,UAAU;gCAC5B,QAAQ,EAAE,qCAAqC;gCAC/C,SAAS;6BACV,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAED,OAAO,eAAe,CAAC;gBACzB,CAAC,CACF,CAAC;QACN,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAE1C,wEAAwE;QACxE,8CAA8C;QAC9C,2EAA2E;QAC3E,yEAAyE;QACzE,oEAAoE;QACpE,YAAY;QACZ,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QACxE,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAC5B,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAChC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAEjC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAC5B,KAAK,EACL,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,UAAU,CACX,CAAC;QAEF,MAAM,OAAO,GAAkD,EAAE,CAAC;QAElE,qEAAqE;QACrE,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC1E,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CACnD,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG;gBAC9B,OAAO;aACR,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAA8B;YAClD,GAAG,QAAQ;YACX,UAAU,EACR,QAAQ,CAAC,UAAU;gBACnB,4BAA4B,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACvD,eAAe,EAAE,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC;YACpE,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE;SACpD,CAAC;QAEF;4EACoE;QACpE,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CACvC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CACvD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CACzB,CAC2B,CAAC;QAE/B,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,cAAc;YACxB,OAAO;SACR,CAAC;IACJ,CAAC;IAED,6BAA6B,CAC3B,eAA6D;QAE7D,MAAM,sBAAsB,GAC1B,EAAE,CAAC;QAEL,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7D,sBAAsB,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;YAE9C,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACzD,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;gBAE1C,sBAAsB,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,IAAI,CAC3D,IAAI,GAAG,CAAC,SAAS,CAAC,CACnB,CAAC,IAAI,EAAE,CAAC;YACX,CAAC;QACH,CAAC;QAED,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,0EAA0E;QAC1E,oCAAoC;QACpC,MAAM,MAAM,GAAyB,sBAAsB,CAAC;QAE5D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,MAAM,gBAAgB,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;QAE1C,iGAAiG;QACjG,gBAAgB,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAC3C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;YAC/D,UAAU;YACV,EAAE,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;SACrE,CAAC,CACH,CAAC;QAEF,2EAA2E;QAC3E,4EAA4E;QAC5E,EAAE;QACF,2EAA2E;QAC3E,oEAAoE;QACpE,8CAA8C;QAC9C,EAAE;QACF,0EAA0E;QAC1E,sEAAsE;QACtE,0EAA0E;QAC1E,uEAAuE;QACvE,yDAAyD;QACzD,EAAE;QACF,oEAAoE;QACpE,uEAAuE;QACvE,aAAa;QAEb,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAE1C,2EAA2E;QAC3E,sDAAsD;QACtD,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAErE,MAAM,cAAc,GAA4B;YAC9C,MAAM;YACN,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB;YAChB,UAAU,EAAE,oBAAoB;YAChC,iBAAiB,EAAE,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE;SACpE,CAAC;QAEF,oEAAoE;QACpE,wDAAwD;QACxD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC1D,cAAc,CAAC,YAAY,GAAG,YAAY,CAAC;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAE7D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEjE,0EAA0E;QAC1E,uEAAuE;QACvE,oBAAoB;QACpB,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC1D;;gGAEoF;YACpF,OAAO,QAAQ,WAAW,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO,QAAQ,WAAW,IAAI,OAAO,EAAE,CAAC;IAC1C,CAAC;IAED,qBAAqB,CAAC,UAAkB,EAAE,IAAY;QACpD,IAAI,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAErD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,5 +1,21 @@
1
1
  import type { CompilerInput, CompilerOutput } from "../../../../../types/solidity/compiler-io.js";
2
2
  import type { Compiler } from "../../../../../types/solidity/compiler.js";
3
+ /**
4
+ * Spawns a compilation process and returns its output.
5
+ *
6
+ * It pipes the stdout of the compilation process to a temporary file to avoid exceeding
7
+ * the maximum buffer size. It later reads the file as stream to parse it into a CompilerOutput.
8
+ *
9
+ * It also pipes the stderr of the compilation process to the stderr of the main process.
10
+ *
11
+ * @param command The compilation command to run
12
+ * @param args The arguments to pass to the compilation command
13
+ * @param input The solc input to pass to the compilation command on stdin
14
+ * @returns The compilation output
15
+ * @throws Error if the compilation process exits with a non-zero exit code.
16
+ * @throws HardhatInvariantError if the any of the io streams are null.
17
+ */
18
+ export declare function spawnCompile(command: string, args: string[], input: CompilerInput): Promise<CompilerOutput>;
3
19
  export declare class SolcJsCompiler implements Compiler {
4
20
  readonly version: string;
5
21
  readonly longVersion: string;
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/builtin-plugins/solidity/build-system/compiler/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACf,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAkG1E,qBAAa,cAAe,YAAW,QAAQ;aAI3B,OAAO,EAAE,MAAM;aACf,WAAW,EAAE,MAAM;aACnB,YAAY,EAAE,MAAM;IALtC,SAAgB,QAAQ,QAAQ;gBAGd,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM;IAGzB,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;CAqCpE;AAED,qBAAa,cAAe,YAAW,QAAQ;aAI3B,OAAO,EAAE,MAAM;aACf,WAAW,EAAE,MAAM;aACnB,YAAY,EAAE,MAAM;IALtC,SAAgB,QAAQ,SAAS;gBAGf,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM;IAGzB,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;CA6BpE"}
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../../../../../src/internal/builtin-plugins/solidity/build-system/compiler/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACf,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAsB1E;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,cAAc,CAAC,CAuDzB;AAED,qBAAa,cAAe,YAAW,QAAQ;aAI3B,OAAO,EAAE,MAAM;aACf,WAAW,EAAE,MAAM;aACnB,YAAY,EAAE,MAAM;IALtC,SAAgB,QAAQ,QAAQ;gBAGd,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM;IAGzB,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;CAqCpE;AAED,qBAAa,cAAe,YAAW,QAAQ;aAI3B,OAAO,EAAE,MAAM;aACf,WAAW,EAAE,MAAM;aACnB,YAAY,EAAE,MAAM;IALtC,SAAgB,QAAQ,SAAS;gBAGf,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM;IAGzB,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;CA6BpE"}
@@ -24,7 +24,7 @@ import * as semver from "semver";
24
24
  * @throws Error if the compilation process exits with a non-zero exit code.
25
25
  * @throws HardhatInvariantError if the any of the io streams are null.
26
26
  */
27
- async function spawnCompile(command, args, input) {
27
+ export async function spawnCompile(command, args, input) {
28
28
  // We create a temporary folder to store the output of the compiler in
29
29
  // We use a random UUID to avoid collisions with other compilations
30
30
  const tmpFolder = await mkdtemp("hardhat-solc-");