dev3000 0.0.124 → 0.0.126

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 (388) hide show
  1. package/mcp-server/.next/BUILD_ID +1 -0
  2. package/mcp-server/.next/app-path-routes-manifest.json +20 -0
  3. package/mcp-server/.next/build/chunks/[root-of-the-server]__25374c4f._.js +500 -0
  4. package/mcp-server/.next/build/chunks/[root-of-the-server]__25374c4f._.js.map +11 -0
  5. package/mcp-server/.next/build/chunks/[root-of-the-server]__6e020478._.js +441 -0
  6. package/mcp-server/.next/build/chunks/[root-of-the-server]__6e020478._.js.map +7 -0
  7. package/mcp-server/.next/build/chunks/[root-of-the-server]__c438ef56._.js +205 -0
  8. package/mcp-server/.next/build/chunks/[root-of-the-server]__c438ef56._.js.map +8 -0
  9. package/mcp-server/.next/build/chunks/[root-of-the-server]__c7ae8543._.js +500 -0
  10. package/mcp-server/.next/build/chunks/[root-of-the-server]__c7ae8543._.js.map +11 -0
  11. package/mcp-server/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_80bff36f._.js +13 -0
  12. package/mcp-server/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_80bff36f._.js.map +5 -0
  13. package/mcp-server/.next/build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js +12 -0
  14. package/mcp-server/.next/build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js.map +5 -0
  15. package/mcp-server/.next/build/chunks/[turbopack]_runtime.js +770 -0
  16. package/mcp-server/.next/build/chunks/[turbopack]_runtime.js.map +10 -0
  17. package/mcp-server/.next/build/chunks/node_modules__pnpm_806d01c0._.js +6758 -0
  18. package/mcp-server/.next/build/chunks/node_modules__pnpm_806d01c0._.js.map +47 -0
  19. package/mcp-server/.next/build/package.json +1 -0
  20. package/mcp-server/.next/build/postcss.js +6 -0
  21. package/mcp-server/.next/build/postcss.js.map +5 -0
  22. package/mcp-server/.next/build/webpack-loaders.js +6 -0
  23. package/mcp-server/.next/build/webpack-loaders.js.map +5 -0
  24. package/mcp-server/.next/build-manifest.json +20 -0
  25. package/mcp-server/.next/export-marker.json +6 -0
  26. package/mcp-server/.next/fallback-build-manifest.json +12 -0
  27. package/mcp-server/.next/images-manifest.json +66 -0
  28. package/mcp-server/.next/next-minimal-server.js.nft.json +1 -0
  29. package/mcp-server/.next/next-server.js.nft.json +1 -0
  30. package/mcp-server/.next/package.json +1 -0
  31. package/mcp-server/.next/prerender-manifest.json +88 -0
  32. package/mcp-server/.next/required-server-files.json +317 -0
  33. package/mcp-server/.next/routes-manifest.json +159 -0
  34. package/mcp-server/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  35. package/mcp-server/.next/server/app/_global-error/page/build-manifest.json +17 -0
  36. package/mcp-server/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  37. package/mcp-server/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  38. package/mcp-server/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  39. package/mcp-server/.next/server/app/_global-error/page.js +10 -0
  40. package/mcp-server/.next/server/app/_global-error/page.js.map +5 -0
  41. package/mcp-server/.next/server/app/_global-error/page.js.nft.json +1 -0
  42. package/mcp-server/.next/server/app/_global-error/page_client-reference-manifest.js +2 -0
  43. package/mcp-server/.next/server/app/_global-error.html +2 -0
  44. package/mcp-server/.next/server/app/_global-error.meta +15 -0
  45. package/mcp-server/.next/server/app/_global-error.rsc +12 -0
  46. package/mcp-server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  47. package/mcp-server/.next/server/app/_global-error.segments/_full.segment.rsc +12 -0
  48. package/mcp-server/.next/server/app/_global-error.segments/_head.segment.rsc +7 -0
  49. package/mcp-server/.next/server/app/_global-error.segments/_index.segment.rsc +4 -0
  50. package/mcp-server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  51. package/mcp-server/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  52. package/mcp-server/.next/server/app/_not-found/page/build-manifest.json +17 -0
  53. package/mcp-server/.next/server/app/_not-found/page/next-font-manifest.json +6 -0
  54. package/mcp-server/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  55. package/mcp-server/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  56. package/mcp-server/.next/server/app/_not-found/page.js +13 -0
  57. package/mcp-server/.next/server/app/_not-found/page.js.map +5 -0
  58. package/mcp-server/.next/server/app/_not-found/page.js.nft.json +1 -0
  59. package/mcp-server/.next/server/app/_not-found/page_client-reference-manifest.js +2 -0
  60. package/mcp-server/.next/server/app/_not-found.html +1 -0
  61. package/mcp-server/.next/server/app/_not-found.meta +16 -0
  62. package/mcp-server/.next/server/app/_not-found.rsc +14 -0
  63. package/mcp-server/.next/server/app/_not-found.segments/_full.segment.rsc +14 -0
  64. package/mcp-server/.next/server/app/_not-found.segments/_head.segment.rsc +7 -0
  65. package/mcp-server/.next/server/app/_not-found.segments/_index.segment.rsc +6 -0
  66. package/mcp-server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
  67. package/mcp-server/.next/server/app/_not-found.segments/_not-found.segment.rsc +4 -0
  68. package/mcp-server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
  69. package/mcp-server/.next/server/app/api/jank/[session]/route/app-paths-manifest.json +3 -0
  70. package/mcp-server/.next/server/app/api/jank/[session]/route/build-manifest.json +11 -0
  71. package/mcp-server/.next/server/app/api/jank/[session]/route/server-reference-manifest.json +4 -0
  72. package/mcp-server/.next/server/app/api/jank/[session]/route.js +10 -0
  73. package/mcp-server/.next/server/app/api/jank/[session]/route.js.map +5 -0
  74. package/mcp-server/.next/server/app/api/jank/[session]/route.js.nft.json +1 -0
  75. package/mcp-server/.next/server/app/api/jank/[session]/route_client-reference-manifest.js +2 -0
  76. package/mcp-server/.next/server/app/api/logs/append/route/app-paths-manifest.json +3 -0
  77. package/mcp-server/.next/server/app/api/logs/append/route/build-manifest.json +11 -0
  78. package/mcp-server/.next/server/app/api/logs/append/route/server-reference-manifest.json +4 -0
  79. package/mcp-server/.next/server/app/api/logs/append/route.js +6 -0
  80. package/mcp-server/.next/server/app/api/logs/append/route.js.map +5 -0
  81. package/mcp-server/.next/server/app/api/logs/append/route.js.nft.json +1 -0
  82. package/mcp-server/.next/server/app/api/logs/append/route_client-reference-manifest.js +2 -0
  83. package/mcp-server/.next/server/app/api/logs/head/route/app-paths-manifest.json +3 -0
  84. package/mcp-server/.next/server/app/api/logs/head/route/build-manifest.json +11 -0
  85. package/mcp-server/.next/server/app/api/logs/head/route/server-reference-manifest.json +4 -0
  86. package/mcp-server/.next/server/app/api/logs/head/route.js +6 -0
  87. package/mcp-server/.next/server/app/api/logs/head/route.js.map +5 -0
  88. package/mcp-server/.next/server/app/api/logs/head/route.js.nft.json +1 -0
  89. package/mcp-server/.next/server/app/api/logs/head/route_client-reference-manifest.js +2 -0
  90. package/mcp-server/.next/server/app/api/logs/list/route/app-paths-manifest.json +3 -0
  91. package/mcp-server/.next/server/app/api/logs/list/route/build-manifest.json +11 -0
  92. package/mcp-server/.next/server/app/api/logs/list/route/server-reference-manifest.json +4 -0
  93. package/mcp-server/.next/server/app/api/logs/list/route.js +6 -0
  94. package/mcp-server/.next/server/app/api/logs/list/route.js.map +5 -0
  95. package/mcp-server/.next/server/app/api/logs/list/route.js.nft.json +1 -0
  96. package/mcp-server/.next/server/app/api/logs/list/route_client-reference-manifest.js +2 -0
  97. package/mcp-server/.next/server/app/api/logs/rotate/route/app-paths-manifest.json +3 -0
  98. package/mcp-server/.next/server/app/api/logs/rotate/route/build-manifest.json +11 -0
  99. package/mcp-server/.next/server/app/api/logs/rotate/route/server-reference-manifest.json +4 -0
  100. package/mcp-server/.next/server/app/api/logs/rotate/route.js +8 -0
  101. package/mcp-server/.next/server/app/api/logs/rotate/route.js.map +5 -0
  102. package/mcp-server/.next/server/app/api/logs/rotate/route.js.nft.json +1 -0
  103. package/mcp-server/.next/server/app/api/logs/rotate/route_client-reference-manifest.js +2 -0
  104. package/mcp-server/.next/server/app/api/logs/stream/route/app-paths-manifest.json +3 -0
  105. package/mcp-server/.next/server/app/api/logs/stream/route/build-manifest.json +11 -0
  106. package/mcp-server/.next/server/app/api/logs/stream/route/server-reference-manifest.json +4 -0
  107. package/mcp-server/.next/server/app/api/logs/stream/route.js +6 -0
  108. package/mcp-server/.next/server/app/api/logs/stream/route.js.map +5 -0
  109. package/mcp-server/.next/server/app/api/logs/stream/route.js.nft.json +1 -0
  110. package/mcp-server/.next/server/app/api/logs/stream/route_client-reference-manifest.js +2 -0
  111. package/mcp-server/.next/server/app/api/logs/tail/route/app-paths-manifest.json +3 -0
  112. package/mcp-server/.next/server/app/api/logs/tail/route/build-manifest.json +11 -0
  113. package/mcp-server/.next/server/app/api/logs/tail/route/server-reference-manifest.json +4 -0
  114. package/mcp-server/.next/server/app/api/logs/tail/route.js +6 -0
  115. package/mcp-server/.next/server/app/api/logs/tail/route.js.map +5 -0
  116. package/mcp-server/.next/server/app/api/logs/tail/route.js.nft.json +1 -0
  117. package/mcp-server/.next/server/app/api/logs/tail/route_client-reference-manifest.js +2 -0
  118. package/mcp-server/.next/server/app/api/orchestrator/route/app-paths-manifest.json +3 -0
  119. package/mcp-server/.next/server/app/api/orchestrator/route/build-manifest.json +11 -0
  120. package/mcp-server/.next/server/app/api/orchestrator/route/server-reference-manifest.json +4 -0
  121. package/mcp-server/.next/server/app/api/orchestrator/route.js +9 -0
  122. package/mcp-server/.next/server/app/api/orchestrator/route.js.map +5 -0
  123. package/mcp-server/.next/server/app/api/orchestrator/route.js.nft.json +1 -0
  124. package/mcp-server/.next/server/app/api/orchestrator/route_client-reference-manifest.js +2 -0
  125. package/mcp-server/.next/server/app/api/screenshots/[filename]/route/app-paths-manifest.json +3 -0
  126. package/mcp-server/.next/server/app/api/screenshots/[filename]/route/build-manifest.json +11 -0
  127. package/mcp-server/.next/server/app/api/screenshots/[filename]/route/server-reference-manifest.json +4 -0
  128. package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js +8 -0
  129. package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js.map +5 -0
  130. package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js.nft.json +1 -0
  131. package/mcp-server/.next/server/app/api/screenshots/[filename]/route_client-reference-manifest.js +2 -0
  132. package/mcp-server/.next/server/app/api/screenshots/list/route/app-paths-manifest.json +3 -0
  133. package/mcp-server/.next/server/app/api/screenshots/list/route/build-manifest.json +11 -0
  134. package/mcp-server/.next/server/app/api/screenshots/list/route/server-reference-manifest.json +4 -0
  135. package/mcp-server/.next/server/app/api/screenshots/list/route.js +8 -0
  136. package/mcp-server/.next/server/app/api/screenshots/list/route.js.map +5 -0
  137. package/mcp-server/.next/server/app/api/screenshots/list/route.js.nft.json +1 -0
  138. package/mcp-server/.next/server/app/api/screenshots/list/route_client-reference-manifest.js +2 -0
  139. package/mcp-server/.next/server/app/api/teams/route/app-paths-manifest.json +3 -0
  140. package/mcp-server/.next/server/app/api/teams/route/build-manifest.json +11 -0
  141. package/mcp-server/.next/server/app/api/teams/route/server-reference-manifest.json +4 -0
  142. package/mcp-server/.next/server/app/api/teams/route.js +8 -0
  143. package/mcp-server/.next/server/app/api/teams/route.js.map +5 -0
  144. package/mcp-server/.next/server/app/api/teams/route.js.nft.json +1 -0
  145. package/mcp-server/.next/server/app/api/teams/route_client-reference-manifest.js +2 -0
  146. package/mcp-server/.next/server/app/api/tools/route/app-paths-manifest.json +3 -0
  147. package/mcp-server/.next/server/app/api/tools/route/build-manifest.json +11 -0
  148. package/mcp-server/.next/server/app/api/tools/route/server-reference-manifest.json +4 -0
  149. package/mcp-server/.next/server/app/api/tools/route.js +8 -0
  150. package/mcp-server/.next/server/app/api/tools/route.js.map +5 -0
  151. package/mcp-server/.next/server/app/api/tools/route.js.nft.json +1 -0
  152. package/mcp-server/.next/server/app/api/tools/route_client-reference-manifest.js +2 -0
  153. package/mcp-server/.next/server/app/index.html +1 -0
  154. package/mcp-server/.next/server/app/index.meta +14 -0
  155. package/mcp-server/.next/server/app/index.rsc +18 -0
  156. package/mcp-server/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
  157. package/mcp-server/.next/server/app/index.segments/_full.segment.rsc +18 -0
  158. package/mcp-server/.next/server/app/index.segments/_head.segment.rsc +7 -0
  159. package/mcp-server/.next/server/app/index.segments/_index.segment.rsc +6 -0
  160. package/mcp-server/.next/server/app/index.segments/_tree.segment.rsc +2 -0
  161. package/mcp-server/.next/server/app/logs/page/app-paths-manifest.json +3 -0
  162. package/mcp-server/.next/server/app/logs/page/build-manifest.json +17 -0
  163. package/mcp-server/.next/server/app/logs/page/next-font-manifest.json +6 -0
  164. package/mcp-server/.next/server/app/logs/page/react-loadable-manifest.json +1 -0
  165. package/mcp-server/.next/server/app/logs/page/server-reference-manifest.json +4 -0
  166. package/mcp-server/.next/server/app/logs/page.js +16 -0
  167. package/mcp-server/.next/server/app/logs/page.js.map +5 -0
  168. package/mcp-server/.next/server/app/logs/page.js.nft.json +1 -0
  169. package/mcp-server/.next/server/app/logs/page_client-reference-manifest.js +2 -0
  170. package/mcp-server/.next/server/app/mcp/route/app-paths-manifest.json +3 -0
  171. package/mcp-server/.next/server/app/mcp/route/build-manifest.json +11 -0
  172. package/mcp-server/.next/server/app/mcp/route/server-reference-manifest.json +4 -0
  173. package/mcp-server/.next/server/app/mcp/route.js +10 -0
  174. package/mcp-server/.next/server/app/mcp/route.js.map +5 -0
  175. package/mcp-server/.next/server/app/mcp/route.js.nft.json +1 -0
  176. package/mcp-server/.next/server/app/mcp/route_client-reference-manifest.js +2 -0
  177. package/mcp-server/.next/server/app/page/app-paths-manifest.json +3 -0
  178. package/mcp-server/.next/server/app/page/build-manifest.json +17 -0
  179. package/mcp-server/.next/server/app/page/next-font-manifest.json +6 -0
  180. package/mcp-server/.next/server/app/page/react-loadable-manifest.json +1 -0
  181. package/mcp-server/.next/server/app/page/server-reference-manifest.json +4 -0
  182. package/mcp-server/.next/server/app/page.js +15 -0
  183. package/mcp-server/.next/server/app/page.js.map +5 -0
  184. package/mcp-server/.next/server/app/page.js.nft.json +1 -0
  185. package/mcp-server/.next/server/app/page_client-reference-manifest.js +2 -0
  186. package/mcp-server/.next/server/app/video/[session]/page/app-paths-manifest.json +3 -0
  187. package/mcp-server/.next/server/app/video/[session]/page/build-manifest.json +17 -0
  188. package/mcp-server/.next/server/app/video/[session]/page/next-font-manifest.json +6 -0
  189. package/mcp-server/.next/server/app/video/[session]/page/react-loadable-manifest.json +1 -0
  190. package/mcp-server/.next/server/app/video/[session]/page/server-reference-manifest.json +4 -0
  191. package/mcp-server/.next/server/app/video/[session]/page.js +15 -0
  192. package/mcp-server/.next/server/app/video/[session]/page.js.map +5 -0
  193. package/mcp-server/.next/server/app/video/[session]/page.js.nft.json +1 -0
  194. package/mcp-server/.next/server/app/video/[session]/page_client-reference-manifest.js +2 -0
  195. package/mcp-server/.next/server/app-paths-manifest.json +20 -0
  196. package/mcp-server/.next/server/chunks/250ae__next-internal_server_app_api_screenshots_[filename]_route_actions_4f8d6e37.js +3 -0
  197. package/mcp-server/.next/server/chunks/250ae__next-internal_server_app_api_screenshots_[filename]_route_actions_4f8d6e37.js.map +1 -0
  198. package/mcp-server/.next/server/chunks/8b111_next_1353f498._.js +3 -0
  199. package/mcp-server/.next/server/chunks/8b111_next_1353f498._.js.map +1 -0
  200. package/mcp-server/.next/server/chunks/8b111_next_70882466._.js +14 -0
  201. package/mcp-server/.next/server/chunks/8b111_next_70882466._.js.map +1 -0
  202. package/mcp-server/.next/server/chunks/8b111_next_dist_b45da2c0._.js +6 -0
  203. package/mcp-server/.next/server/chunks/8b111_next_dist_b45da2c0._.js.map +1 -0
  204. package/mcp-server/.next/server/chunks/8b111_next_dist_esm_build_templates_app-route_61845054.js +3 -0
  205. package/mcp-server/.next/server/chunks/8b111_next_dist_esm_build_templates_app-route_61845054.js.map +1 -0
  206. package/mcp-server/.next/server/chunks/[externals]_node:crypto_c20cce38._.js +3 -0
  207. package/mcp-server/.next/server/chunks/[externals]_node:crypto_c20cce38._.js.map +1 -0
  208. package/mcp-server/.next/server/chunks/[root-of-the-server]__11cde0db._.js +3 -0
  209. package/mcp-server/.next/server/chunks/[root-of-the-server]__11cde0db._.js.map +1 -0
  210. package/mcp-server/.next/server/chunks/[root-of-the-server]__2a398dc7._.js +3 -0
  211. package/mcp-server/.next/server/chunks/[root-of-the-server]__2a398dc7._.js.map +1 -0
  212. package/mcp-server/.next/server/chunks/[root-of-the-server]__3ac957e6._.js +3 -0
  213. package/mcp-server/.next/server/chunks/[root-of-the-server]__3ac957e6._.js.map +1 -0
  214. package/mcp-server/.next/server/chunks/[root-of-the-server]__45cf400e._.js +7 -0
  215. package/mcp-server/.next/server/chunks/[root-of-the-server]__45cf400e._.js.map +1 -0
  216. package/mcp-server/.next/server/chunks/[root-of-the-server]__5e1331cc._.js +3 -0
  217. package/mcp-server/.next/server/chunks/[root-of-the-server]__5e1331cc._.js.map +1 -0
  218. package/mcp-server/.next/server/chunks/[root-of-the-server]__72f849fd._.js +3 -0
  219. package/mcp-server/.next/server/chunks/[root-of-the-server]__72f849fd._.js.map +1 -0
  220. package/mcp-server/.next/server/chunks/[root-of-the-server]__7a6a57a4._.js +3 -0
  221. package/mcp-server/.next/server/chunks/[root-of-the-server]__7a6a57a4._.js.map +1 -0
  222. package/mcp-server/.next/server/chunks/[root-of-the-server]__8173a02b._.js +3 -0
  223. package/mcp-server/.next/server/chunks/[root-of-the-server]__8173a02b._.js.map +1 -0
  224. package/mcp-server/.next/server/chunks/[root-of-the-server]__86eb7852._.js +3 -0
  225. package/mcp-server/.next/server/chunks/[root-of-the-server]__86eb7852._.js.map +1 -0
  226. package/mcp-server/.next/server/chunks/[root-of-the-server]__880af90b._.js +17 -0
  227. package/mcp-server/.next/server/chunks/[root-of-the-server]__880af90b._.js.map +1 -0
  228. package/mcp-server/.next/server/chunks/[root-of-the-server]__92444e87._.js +3 -0
  229. package/mcp-server/.next/server/chunks/[root-of-the-server]__92444e87._.js.map +1 -0
  230. package/mcp-server/.next/server/chunks/[root-of-the-server]__94037b23._.js +7 -0
  231. package/mcp-server/.next/server/chunks/[root-of-the-server]__94037b23._.js.map +1 -0
  232. package/mcp-server/.next/server/chunks/[root-of-the-server]__97925d45._.js +3 -0
  233. package/mcp-server/.next/server/chunks/[root-of-the-server]__97925d45._.js.map +1 -0
  234. package/mcp-server/.next/server/chunks/[root-of-the-server]__9a45c8f9._.js +3 -0
  235. package/mcp-server/.next/server/chunks/[root-of-the-server]__9a45c8f9._.js.map +1 -0
  236. package/mcp-server/.next/server/chunks/[root-of-the-server]__9be3321c._.js +4 -0
  237. package/mcp-server/.next/server/chunks/[root-of-the-server]__9be3321c._.js.map +1 -0
  238. package/mcp-server/.next/server/chunks/[root-of-the-server]__ae49815f._.js +217 -0
  239. package/mcp-server/.next/server/chunks/[root-of-the-server]__ae49815f._.js.map +1 -0
  240. package/mcp-server/.next/server/chunks/[root-of-the-server]__cc74dbef._.js +7 -0
  241. package/mcp-server/.next/server/chunks/[root-of-the-server]__cc74dbef._.js.map +1 -0
  242. package/mcp-server/.next/server/chunks/[root-of-the-server]__d4d47e5f._.js +28 -0
  243. package/mcp-server/.next/server/chunks/[root-of-the-server]__d4d47e5f._.js.map +1 -0
  244. package/mcp-server/.next/server/chunks/[root-of-the-server]__e1a64519._.js +3 -0
  245. package/mcp-server/.next/server/chunks/[root-of-the-server]__e1a64519._.js.map +1 -0
  246. package/mcp-server/.next/server/chunks/[root-of-the-server]__f2de2bac._.js +3 -0
  247. package/mcp-server/.next/server/chunks/[root-of-the-server]__f2de2bac._.js.map +1 -0
  248. package/mcp-server/.next/server/chunks/[root-of-the-server]__f449fffa._.js +11 -0
  249. package/mcp-server/.next/server/chunks/[root-of-the-server]__f449fffa._.js.map +1 -0
  250. package/mcp-server/.next/server/chunks/[root-of-the-server]__f9975293._.js +3 -0
  251. package/mcp-server/.next/server/chunks/[root-of-the-server]__f9975293._.js.map +1 -0
  252. package/mcp-server/.next/server/chunks/[turbopack]_runtime.js +770 -0
  253. package/mcp-server/.next/server/chunks/[turbopack]_runtime.js.map +10 -0
  254. package/mcp-server/.next/server/chunks/mcp-server_50ca1d40._.js +3 -0
  255. package/mcp-server/.next/server/chunks/mcp-server_50ca1d40._.js.map +1 -0
  256. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_jank_[session]_route_actions_3b2b275b.js +3 -0
  257. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_jank_[session]_route_actions_3b2b275b.js.map +1 -0
  258. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_append_route_actions_bc66060f.js +3 -0
  259. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_append_route_actions_bc66060f.js.map +1 -0
  260. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_head_route_actions_1152480c.js +3 -0
  261. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_head_route_actions_1152480c.js.map +1 -0
  262. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_list_route_actions_b9e24400.js +3 -0
  263. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_list_route_actions_b9e24400.js.map +1 -0
  264. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_rotate_route_actions_76075d08.js +3 -0
  265. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_rotate_route_actions_76075d08.js.map +1 -0
  266. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_stream_route_actions_16e5c553.js +3 -0
  267. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_stream_route_actions_16e5c553.js.map +1 -0
  268. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_tail_route_actions_55440150.js +3 -0
  269. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_tail_route_actions_55440150.js.map +1 -0
  270. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_orchestrator_route_actions_c6fba9ec.js +3 -0
  271. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_orchestrator_route_actions_c6fba9ec.js.map +1 -0
  272. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_screenshots_list_route_actions_acfa57bd.js +3 -0
  273. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_screenshots_list_route_actions_acfa57bd.js.map +1 -0
  274. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_teams_route_actions_aaa1c876.js +3 -0
  275. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_teams_route_actions_aaa1c876.js.map +1 -0
  276. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_tools_route_actions_007f3c7c.js +3 -0
  277. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_tools_route_actions_007f3c7c.js.map +1 -0
  278. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_mcp_route_actions_7f7b5be4.js +3 -0
  279. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_mcp_route_actions_7f7b5be4.js.map +1 -0
  280. package/mcp-server/.next/server/chunks/mcp-server_instrumentation_node_ts_32271e34._.js +3 -0
  281. package/mcp-server/.next/server/chunks/mcp-server_instrumentation_node_ts_32271e34._.js.map +1 -0
  282. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_2d5fda8a._.js +6 -0
  283. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_2d5fda8a._.js.map +1 -0
  284. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_416feb3b._.js +6 -0
  285. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_416feb3b._.js.map +1 -0
  286. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_a0631e8f._.js +3 -0
  287. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_a0631e8f._.js.map +1 -0
  288. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_bc5bff92._.js +4 -0
  289. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_bc5bff92._.js.map +1 -0
  290. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_69dfdf5e._.js +3 -0
  291. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_69dfdf5e._.js.map +1 -0
  292. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_builtin_forbidden_5a705cc6.js +3 -0
  293. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_builtin_forbidden_5a705cc6.js.map +1 -0
  294. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_builtin_global-error_d996306b.js +3 -0
  295. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_builtin_global-error_d996306b.js.map +1 -0
  296. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_builtin_unauthorized_0df11997.js +3 -0
  297. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_builtin_unauthorized_0df11997.js.map +1 -0
  298. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_esm_build_templates_app-page_4117d230.js +4 -0
  299. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_esm_build_templates_app-page_4117d230.js.map +1 -0
  300. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__016aaaae._.js +3 -0
  301. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__016aaaae._.js.map +1 -0
  302. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__0aa14b12._.js +3 -0
  303. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__0aa14b12._.js.map +1 -0
  304. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__0e5de3ed._.js +3 -0
  305. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__0e5de3ed._.js.map +1 -0
  306. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__23b471c0._.js +3 -0
  307. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__23b471c0._.js.map +1 -0
  308. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__5ba89445._.js +4 -0
  309. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__5ba89445._.js.map +1 -0
  310. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__ad363fb6._.js +3 -0
  311. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__ad363fb6._.js.map +1 -0
  312. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__baf72617._.js +3 -0
  313. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__baf72617._.js.map +1 -0
  314. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__bf7cd8c6._.js +3 -0
  315. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__bf7cd8c6._.js.map +1 -0
  316. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__c73c0147._.js +3 -0
  317. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__c73c0147._.js.map +1 -0
  318. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__d9257d07._.js +3 -0
  319. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__d9257d07._.js.map +1 -0
  320. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__f9ee1284._.js +3 -0
  321. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__f9ee1284._.js.map +1 -0
  322. package/mcp-server/.next/server/chunks/ssr/[turbopack]_runtime.js +770 -0
  323. package/mcp-server/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
  324. package/mcp-server/.next/server/chunks/ssr/_2eb35278._.js +4 -0
  325. package/mcp-server/.next/server/chunks/ssr/_2eb35278._.js.map +1 -0
  326. package/mcp-server/.next/server/chunks/ssr/_3b1c49b6._.js +4 -0
  327. package/mcp-server/.next/server/chunks/ssr/_3b1c49b6._.js.map +1 -0
  328. package/mcp-server/.next/server/chunks/ssr/_5ba67898._.js +8 -0
  329. package/mcp-server/.next/server/chunks/ssr/_5ba67898._.js.map +1 -0
  330. package/mcp-server/.next/server/chunks/ssr/_af685f91._.js +8 -0
  331. package/mcp-server/.next/server/chunks/ssr/_af685f91._.js.map +1 -0
  332. package/mcp-server/.next/server/chunks/ssr/_ba028667._.js +4 -0
  333. package/mcp-server/.next/server/chunks/ssr/_ba028667._.js.map +1 -0
  334. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app__global-error_page_actions_404453e7.js +3 -0
  335. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app__global-error_page_actions_404453e7.js.map +1 -0
  336. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app__not-found_page_actions_c1864427.js +3 -0
  337. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app__not-found_page_actions_c1864427.js.map +1 -0
  338. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app_logs_page_actions_71542ba9.js +3 -0
  339. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app_logs_page_actions_71542ba9.js.map +1 -0
  340. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app_page_actions_a5ee4758.js +3 -0
  341. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app_page_actions_a5ee4758.js.map +1 -0
  342. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app_video_[session]_page_actions_a6aab323.js +3 -0
  343. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app_video_[session]_page_actions_a6aab323.js.map +1 -0
  344. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_layout_tsx_afa41767._.js +3 -0
  345. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_layout_tsx_afa41767._.js.map +1 -0
  346. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_page_tsx_9fc46577._.js +3 -0
  347. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_page_tsx_9fc46577._.js.map +1 -0
  348. package/mcp-server/.next/server/chunks/ssr/mcp-server_components_dark-mode-toggle_tsx_f31dd15d._.js +3 -0
  349. package/mcp-server/.next/server/chunks/ssr/mcp-server_components_dark-mode-toggle_tsx_f31dd15d._.js.map +1 -0
  350. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_3bd414fc._.js +5 -0
  351. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_3bd414fc._.js.map +1 -0
  352. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_9d64b6f5._.js +3 -0
  353. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_9d64b6f5._.js.map +1 -0
  354. package/mcp-server/.next/server/functions-config-manifest.json +14 -0
  355. package/mcp-server/.next/server/instrumentation.js +4 -0
  356. package/mcp-server/.next/server/instrumentation.js.nft.json +1 -0
  357. package/mcp-server/.next/server/interception-route-rewrite-manifest.js +1 -0
  358. package/mcp-server/.next/server/middleware-build-manifest.js +21 -0
  359. package/mcp-server/.next/server/middleware-manifest.json +6 -0
  360. package/mcp-server/.next/server/middleware.js +5 -0
  361. package/mcp-server/.next/server/middleware.js.nft.json +1 -0
  362. package/mcp-server/.next/server/next-font-manifest.js +1 -0
  363. package/mcp-server/.next/server/next-font-manifest.json +6 -0
  364. package/mcp-server/.next/server/pages/404.html +1 -0
  365. package/mcp-server/.next/server/pages/500.html +2 -0
  366. package/mcp-server/.next/server/pages-manifest.json +4 -0
  367. package/mcp-server/.next/server/server-reference-manifest.js +1 -0
  368. package/mcp-server/.next/server/server-reference-manifest.json +5 -0
  369. package/mcp-server/.next/static/chunks/37739dbbbff41860.js +2 -0
  370. package/mcp-server/.next/static/chunks/3d612a0a5e49885d.js +1 -0
  371. package/mcp-server/.next/static/chunks/45ba9786ab8c2e44.js +1 -0
  372. package/mcp-server/.next/static/chunks/5171d9a831cc2de4.js +1 -0
  373. package/mcp-server/.next/static/chunks/95b89db5d1d54841.js +3 -0
  374. package/mcp-server/.next/static/chunks/9af9038936981171.js +3 -0
  375. package/mcp-server/.next/static/chunks/9d9ea52745b7cee8.css +1 -0
  376. package/mcp-server/.next/static/chunks/a3771e169e1ff356.js +1 -0
  377. package/mcp-server/.next/static/chunks/a6dad97d9634a72d.js +1 -0
  378. package/mcp-server/.next/static/chunks/a92901311ade94f3.js +4 -0
  379. package/mcp-server/.next/static/chunks/b3811fb9af254076.js +1 -0
  380. package/mcp-server/.next/static/chunks/eb96b27d3b73ef3b.js +3 -0
  381. package/mcp-server/.next/static/chunks/f9a2399752a0a1fa.js +1 -0
  382. package/mcp-server/.next/static/chunks/turbopack-39686e05867003be.js +3 -0
  383. package/mcp-server/.next/static/lSzvvkjD4ab_1CtchfQYo/_buildManifest.js +11 -0
  384. package/mcp-server/.next/static/lSzvvkjD4ab_1CtchfQYo/_clientMiddlewareManifest.json +6 -0
  385. package/mcp-server/.next/static/lSzvvkjD4ab_1CtchfQYo/_ssgManifest.js +1 -0
  386. package/mcp-server/app/mcp/route.ts +3 -1
  387. package/mcp-server/package.json +6 -6
  388. package/package.json +5 -2
@@ -0,0 +1,3 @@
1
+ module.exports=[73169,t=>{"use strict";function e(t,n,a,l,f,p={}){let{threshold:u=.1,alpha:c=.1,aaColor:d=[255,255,0],diffColor:_=[255,0,0],includeAA:g,diffColorAlt:b,diffMask:y}=p;if(!i(t)||!i(n)||a&&!i(a))throw Error("Image data: Uint8Array, Uint8ClampedArray or Buffer expected.");if(t.length!==n.length||a&&a.length!==t.length)throw Error("Image sizes do not match.");if(t.length!==l*f*4)throw Error("Image data size does not match width/height.");let m=l*f,E=new Uint32Array(t.buffer,t.byteOffset,m),T=new Uint32Array(n.buffer,n.byteOffset,m),w=!0;for(let t=0;t<m;t++)if(E[t]!==T[t]){w=!1;break}if(w){if(a&&!y)for(let e=0;e<m;e++)o(t,4*e,c,a);return 0}let C=35215*u*u,[O,I,L]=d,[A,P,k]=_,[R,x,D]=b||_,M=0;for(let e=0;e<f;e++)for(let i=0;i<l;i++){let p=e*l+i,u=4*p,d=E[p]===T[p]?0:s(t,n,u,u,!1);if(Math.abs(d)>C){let s=r(t,i,e,l,f,E,T)||r(n,i,e,l,f,T,E);!g&&s?a&&!y&&h(a,u,O,I,L):(a&&(d<0?h(a,u,R,x,D):h(a,u,A,P,k)),M++)}else a&&!y&&o(t,u,c,a)}return M}function i(t){return ArrayBuffer.isView(t)&&1===t.BYTES_PER_ELEMENT}function r(t,e,i,r,h,o,a){let l=Math.max(e-1,0),f=Math.max(i-1,0),p=Math.min(e+1,r-1),u=Math.min(i+1,h-1),c=i*r+e,d=+(e===l||e===p||i===f||i===u),_=0,g=0,b=0,y=0,m=0,E=0;for(let n=l;n<=p;n++)for(let h=f;h<=u;h++){if(n===e&&h===i)continue;let o=s(t,t,4*c,(h*r+n)*4,!0);if(0===o){if(++d>2)return!1}else o<_?(_=o,b=n,y=h):o>g&&(g=o,m=n,E=h)}return 0!==_&&0!==g&&(n(o,b,y,r,h)&&n(a,b,y,r,h)||n(o,m,E,r,h)&&n(a,m,E,r,h))}function n(t,e,i,r,n){let s=Math.max(e-1,0),h=Math.max(i-1,0),o=Math.min(e+1,r-1),a=Math.min(i+1,n-1),l=t[i*r+e],f=+(e===s||e===o||i===h||i===a);for(let n=s;n<=o;n++)for(let s=h;s<=a;s++)if((n!==e||s!==i)&&(f+=+(l===t[s*r+n]))>2)return!0;return!1}function s(t,e,i,r,n){let s=t[i],h=t[i+1],o=t[i+2],a=t[i+3],l=e[r],f=e[r+1],p=e[r+2],u=e[r+3],c=s-l,d=h-f,_=o-p,g=a-u;if(!c&&!d&&!_&&!g)return 0;(a<255||u<255)&&(c=(s*a-l*u-(48+i%2*159)*g)/255,d=(h*a-f*u-(48+(i/1.618033988749895|0)%2*159)*g)/255,_=(o*a-p*u-(48+(i/2.618033988749895|0)%2*159)*g)/255);let b=.29889531*c+.58662247*d+.11448223*_;if(n)return b;let y=.59597799*c-.2741761*d-.32180189*_,m=.21147017*c-.52261711*d+.31114694*_,E=.5053*b*b+.299*y*y+.1957*m*m;return b>0?-E:E}function h(t,e,i,r,n){t[e+0]=i,t[e+1]=r,t[e+2]=n,t[e+3]=255}function o(t,e,i,r){let n=255+(.29889531*t[e]+.58662247*t[e+1]+.11448223*t[e+2]-255)*i*t[e+3]/255;h(r,e,n,n,n)}t.s(["default",()=>e])},88947,(t,e,i)=>{e.exports=t.x("stream",()=>require("stream"))},6461,(t,e,i)=>{e.exports=t.x("zlib",()=>require("zlib"))},37106,(t,e,i)=>{"use strict";let r=t.r(24361),n=t.r(88947),s=e.exports=function(){n.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};r.inherits(s,n),s.prototype.read=function(t,e){this._reads.push({length:Math.abs(t),allowLess:t<0,func:e}),process.nextTick((function(){this._process(),this._paused&&this._reads&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}).bind(this))},s.prototype.write=function(t,e){let i;return this.writable?(i=Buffer.isBuffer(t)?t:Buffer.from(t,e||this._encoding),this._buffers.push(i),this._buffered+=i.length,this._process(),this._reads&&0===this._reads.length&&(this._paused=!0),this.writable&&!this._paused):(this.emit("error",Error("Stream not writable")),!1)},s.prototype.end=function(t,e){t&&this.write(t,e),this.writable=!1,this._buffers&&(0===this._buffers.length?this._end():(this._buffers.push(null),this._process()))},s.prototype.destroySoon=s.prototype.end,s.prototype._end=function(){this._reads.length>0&&this.emit("error",Error("Unexpected end of input")),this.destroy()},s.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))},s.prototype._processReadAllowingLess=function(t){this._reads.shift();let e=this._buffers[0];e.length>t.length?(this._buffered-=t.length,this._buffers[0]=e.slice(t.length),t.func.call(this,e.slice(0,t.length))):(this._buffered-=e.length,this._buffers.shift(),t.func.call(this,e))},s.prototype._processRead=function(t){this._reads.shift();let e=0,i=0,r=Buffer.alloc(t.length);for(;e<t.length;){let n=this._buffers[i++],s=Math.min(n.length,t.length-e);n.copy(r,e,0,s),e+=s,s!==n.length&&(this._buffers[--i]=n.slice(s))}i>0&&this._buffers.splice(0,i),this._buffered-=t.length,t.func.call(this,r)},s.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){let t=this._reads[0];if(t.allowLess)this._processReadAllowingLess(t);else if(this._buffered>=t.length)this._processRead(t);else break}this._buffers&&!this.writable&&this._end()}catch(t){this.emit("error",t)}}},33106,(t,e,i)=>{"use strict";let r=[{x:[0],y:[0]},{x:[4],y:[0]},{x:[0,4],y:[4]},{x:[2,6],y:[0,4]},{x:[0,2,4,6],y:[2,6]},{x:[1,3,5,7],y:[0,2,4,6]},{x:[0,1,2,3,4,5,6,7],y:[1,3,5,7]}];i.getImagePasses=function(t,e){let i=[],n=t%8,s=e%8,h=(t-n)/8,o=(e-s)/8;for(let t=0;t<r.length;t++){let e=r[t],a=h*e.x.length,l=o*e.y.length;for(let t=0;t<e.x.length;t++)if(e.x[t]<n)a++;else break;for(let t=0;t<e.y.length;t++)if(e.y[t]<s)l++;else break;a>0&&l>0&&i.push({width:a,height:l,index:t})}return i},i.getInterlaceIterator=function(t){return function(e,i,n){let s=e%r[n].x.length,h=(e-s)/r[n].x.length*8+r[n].x[s],o=i%r[n].y.length;return 4*h+((i-o)/r[n].y.length*8+r[n].y[o])*t*4}}},35352,(t,e,i)=>{"use strict";e.exports=function(t,e,i){let r=t+e-i,n=Math.abs(r-t),s=Math.abs(r-e),h=Math.abs(r-i);return n<=s&&n<=h?t:s<=h?e:i}},28378,(t,e,i)=>{"use strict";let r=t.r(33106),n=t.r(35352);function s(t,e,i){let r=t*e;return 8!==i&&(r=Math.ceil(r/(8/i))),r}let h=e.exports=function(t,e){let i=t.width,n=t.height,h=t.interlace,o=t.bpp,a=t.depth;if(this.read=e.read,this.write=e.write,this.complete=e.complete,this._imageIndex=0,this._images=[],h){let t=r.getImagePasses(i,n);for(let e=0;e<t.length;e++)this._images.push({byteWidth:s(t[e].width,o,a),height:t[e].height,lineIndex:0})}else this._images.push({byteWidth:s(i,o,a),height:n,lineIndex:0});8===a?this._xComparison=o:16===a?this._xComparison=2*o:this._xComparison=1};h.prototype.start=function(){this.read(this._images[this._imageIndex].byteWidth+1,this._reverseFilterLine.bind(this))},h.prototype._unFilterType1=function(t,e,i){let r=this._xComparison,n=r-1;for(let s=0;s<i;s++){let i=t[1+s],h=s>n?e[s-r]:0;e[s]=i+h}},h.prototype._unFilterType2=function(t,e,i){let r=this._lastLine;for(let n=0;n<i;n++){let i=t[1+n],s=r?r[n]:0;e[n]=i+s}},h.prototype._unFilterType3=function(t,e,i){let r=this._xComparison,n=r-1,s=this._lastLine;for(let h=0;h<i;h++){let i=t[1+h],o=s?s[h]:0,a=Math.floor(((h>n?e[h-r]:0)+o)/2);e[h]=i+a}},h.prototype._unFilterType4=function(t,e,i){let r=this._xComparison,s=r-1,h=this._lastLine;for(let o=0;o<i;o++){let i=t[1+o],a=h?h[o]:0,l=n(o>s?e[o-r]:0,a,o>s&&h?h[o-r]:0);e[o]=i+l}},h.prototype._reverseFilterLine=function(t){let e,i=t[0],r=this._images[this._imageIndex],n=r.byteWidth;if(0===i)e=t.slice(1,n+1);else switch(e=Buffer.alloc(n),i){case 1:this._unFilterType1(t,e,n);break;case 2:this._unFilterType2(t,e,n);break;case 3:this._unFilterType3(t,e,n);break;case 4:this._unFilterType4(t,e,n);break;default:throw Error("Unrecognised filter type - "+i)}this.write(e),r.lineIndex++,r.lineIndex>=r.height?(this._lastLine=null,this._imageIndex++,r=this._images[this._imageIndex]):this._lastLine=e,r?this.read(r.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())}},41998,(t,e,i)=>{"use strict";let r=t.r(24361),n=t.r(37106),s=t.r(28378),h=e.exports=function(t){n.call(this);let e=[],i=this;this._filter=new s(t,{read:this.read.bind(this),write:function(t){e.push(t)},complete:function(){i.emit("complete",Buffer.concat(e))}}),this._filter.start()};r.inherits(h,n)},86982,(t,e,i)=>{"use strict";e.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:0x49484452,TYPE_IEND:0x49454e44,TYPE_IDAT:0x49444154,TYPE_PLTE:0x504c5445,TYPE_tRNS:0x74524e53,TYPE_gAMA:0x67414d41,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}},22352,(t,e,i)=>{"use strict";let r=[];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)1&e?e=0xedb88320^e>>>1:e>>>=1;r[t]=e}let n=e.exports=function(){this._crc=-1};n.prototype.write=function(t){for(let e=0;e<t.length;e++)this._crc=r[(this._crc^t[e])&255]^this._crc>>>8;return!0},n.prototype.crc32=function(){return -1^this._crc},n.crc32=function(t){let e=-1;for(let i=0;i<t.length;i++)e=r[(e^t[i])&255]^e>>>8;return -1^e}},23213,(t,e,i)=>{"use strict";let r=t.r(86982),n=t.r(22352),s=e.exports=function(t,e){this._options=t,t.checkCRC=!1!==t.checkCRC,this._hasIHDR=!1,this._hasIEND=!1,this._emittedHeadersFinished=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[r.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[r.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[r.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[r.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[r.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[r.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=e.read,this.error=e.error,this.metadata=e.metadata,this.gamma=e.gamma,this.transColor=e.transColor,this.palette=e.palette,this.parsed=e.parsed,this.inflateData=e.inflateData,this.finished=e.finished,this.simpleTransparency=e.simpleTransparency,this.headersFinished=e.headersFinished||function(){}};s.prototype.start=function(){this.read(r.PNG_SIGNATURE.length,this._parseSignature.bind(this))},s.prototype._parseSignature=function(t){let e=r.PNG_SIGNATURE;for(let i=0;i<e.length;i++)if(t[i]!==e[i])return void this.error(Error("Invalid file signature"));this.read(8,this._parseChunkBegin.bind(this))},s.prototype._parseChunkBegin=function(t){let e=t.readUInt32BE(0),i=t.readUInt32BE(4),s="";for(let e=4;e<8;e++)s+=String.fromCharCode(t[e]);let h=!!(32&t[4]);return this._hasIHDR||i===r.TYPE_IHDR?(this._crc=new n,this._crc.write(Buffer.from(s)),this._chunks[i])?this._chunks[i](e):h?void this.read(e+4,this._skipChunk.bind(this)):void this.error(Error("Unsupported critical chunk type "+s)):void this.error(Error("Expected IHDR on beggining"))},s.prototype._skipChunk=function(){this.read(8,this._parseChunkBegin.bind(this))},s.prototype._handleChunkEnd=function(){this.read(4,this._parseChunkEnd.bind(this))},s.prototype._parseChunkEnd=function(t){let e=t.readInt32BE(0),i=this._crc.crc32();this._options.checkCRC&&i!==e?this.error(Error("Crc error - "+e+" - "+i)):this._hasIEND||this.read(8,this._parseChunkBegin.bind(this))},s.prototype._handleIHDR=function(t){this.read(t,this._parseIHDR.bind(this))},s.prototype._parseIHDR=function(t){this._crc.write(t);let e=t.readUInt32BE(0),i=t.readUInt32BE(4),n=t[8],s=t[9],h=t[10],o=t[11],a=t[12];if(8!==n&&4!==n&&2!==n&&1!==n&&16!==n)return void this.error(Error("Unsupported bit depth "+n));if(!(s in r.COLORTYPE_TO_BPP_MAP))return void this.error(Error("Unsupported color type"));if(0!==h)return void this.error(Error("Unsupported compression method"));if(0!==o)return void this.error(Error("Unsupported filter method"));if(0!==a&&1!==a)return void this.error(Error("Unsupported interlace method"));this._colorType=s;let l=r.COLORTYPE_TO_BPP_MAP[this._colorType];this._hasIHDR=!0,this.metadata({width:e,height:i,depth:n,interlace:!!a,palette:!!(s&r.COLORTYPE_PALETTE),color:!!(s&r.COLORTYPE_COLOR),alpha:!!(s&r.COLORTYPE_ALPHA),bpp:l,colorType:s}),this._handleChunkEnd()},s.prototype._handlePLTE=function(t){this.read(t,this._parsePLTE.bind(this))},s.prototype._parsePLTE=function(t){this._crc.write(t);let e=Math.floor(t.length/3);for(let i=0;i<e;i++)this._palette.push([t[3*i],t[3*i+1],t[3*i+2],255]);this.palette(this._palette),this._handleChunkEnd()},s.prototype._handleTRNS=function(t){this.simpleTransparency(),this.read(t,this._parseTRNS.bind(this))},s.prototype._parseTRNS=function(t){if(this._crc.write(t),this._colorType===r.COLORTYPE_PALETTE_COLOR){if(0===this._palette.length)return void this.error(Error("Transparency chunk must be after palette"));if(t.length>this._palette.length)return void this.error(Error("More transparent colors than palette size"));for(let e=0;e<t.length;e++)this._palette[e][3]=t[e];this.palette(this._palette)}this._colorType===r.COLORTYPE_GRAYSCALE&&this.transColor([t.readUInt16BE(0)]),this._colorType===r.COLORTYPE_COLOR&&this.transColor([t.readUInt16BE(0),t.readUInt16BE(2),t.readUInt16BE(4)]),this._handleChunkEnd()},s.prototype._handleGAMA=function(t){this.read(t,this._parseGAMA.bind(this))},s.prototype._parseGAMA=function(t){this._crc.write(t),this.gamma(t.readUInt32BE(0)/r.GAMMA_DIVISION),this._handleChunkEnd()},s.prototype._handleIDAT=function(t){this._emittedHeadersFinished||(this._emittedHeadersFinished=!0,this.headersFinished()),this.read(-t,this._parseIDAT.bind(this,t))},s.prototype._parseIDAT=function(t,e){if(this._crc.write(e),this._colorType===r.COLORTYPE_PALETTE_COLOR&&0===this._palette.length)throw Error("Expected palette not found");this.inflateData(e);let i=t-e.length;i>0?this._handleIDAT(i):this._handleChunkEnd()},s.prototype._handleIEND=function(t){this.read(t,this._parseIEND.bind(this))},s.prototype._parseIEND=function(t){this._crc.write(t),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()}},74047,(t,e,i)=>{"use strict";let r=t.r(33106),n=[function(){},function(t,e,i,r){if(r===e.length)throw Error("Ran out of data");let n=e[r];t[i]=n,t[i+1]=n,t[i+2]=n,t[i+3]=255},function(t,e,i,r){if(r+1>=e.length)throw Error("Ran out of data");let n=e[r];t[i]=n,t[i+1]=n,t[i+2]=n,t[i+3]=e[r+1]},function(t,e,i,r){if(r+2>=e.length)throw Error("Ran out of data");t[i]=e[r],t[i+1]=e[r+1],t[i+2]=e[r+2],t[i+3]=255},function(t,e,i,r){if(r+3>=e.length)throw Error("Ran out of data");t[i]=e[r],t[i+1]=e[r+1],t[i+2]=e[r+2],t[i+3]=e[r+3]}],s=[function(){},function(t,e,i,r){let n=e[0];t[i]=n,t[i+1]=n,t[i+2]=n,t[i+3]=r},function(t,e,i){let r=e[0];t[i]=r,t[i+1]=r,t[i+2]=r,t[i+3]=e[1]},function(t,e,i,r){t[i]=e[0],t[i+1]=e[1],t[i+2]=e[2],t[i+3]=r},function(t,e,i){t[i]=e[0],t[i+1]=e[1],t[i+2]=e[2],t[i+3]=e[3]}];i.dataToBitMap=function(t,e){let i,h,o,a,l,f,p=e.width,u=e.height,c=e.depth,d=e.bpp,_=e.interlace;8!==c&&(i=[],h=0,o={get:function(e){for(;i.length<e;)!function(){let e,r,n,s;if(h===t.length)throw Error("Ran out of data");let o=t[h];switch(h++,c){default:throw Error("unrecognised depth");case 16:n=t[h],h++,i.push((o<<8)+n);break;case 4:n=15&o,s=o>>4,i.push(s,n);break;case 2:e=3&o,r=o>>2&3,n=o>>4&3,s=o>>6&3,i.push(s,n,r,e);break;case 1:e=o>>4&1,r=o>>5&1,n=o>>6&1,s=o>>7&1,i.push(s,n,r,e,o>>3&1,o>>2&1,o>>1&1,1&o)}}();let r=i.slice(0,e);return i=i.slice(e),r},resetAfterLine:function(){i.length=0},end:function(){if(h!==t.length)throw Error("extra data found")}}),a=c<=8?Buffer.alloc(p*u*4):new Uint16Array(p*u*4);let g=Math.pow(2,c)-1,b=0;if(_)l=r.getImagePasses(p,u),f=r.getInterlaceIterator(p,u);else{let t=0;f=function(){let e=t;return t+=4,e},l=[{width:p,height:u}]}for(let e=0;e<l.length;e++)8===c?b=function(t,e,i,r,s,h){let o=t.width,a=t.height,l=t.index;for(let t=0;t<a;t++)for(let a=0;a<o;a++){let o=i(a,t,l);n[r](e,s,o,h),h+=r}return h}(l[e],a,f,d,t,b):function(t,e,i,r,n,h){let o=t.width,a=t.height,l=t.index;for(let t=0;t<a;t++){for(let a=0;a<o;a++){let o=n.get(r),f=i(a,t,l);s[r](e,o,f,h)}n.resetAfterLine()}}(l[e],a,f,d,o,g);if(8===c){if(b!==t.length)throw Error("extra data found")}else o.end();return a}},37829,(t,e,i)=>{"use strict";e.exports=function(t,e,i=!1){let r=e.depth,n=e.width,s=e.height,h=e.colorType,o=e.transColor,a=e.palette,l=t;return 3===h?!function(t,e,i,r,n){let s=0;for(let h=0;h<r;h++)for(let r=0;r<i;r++){let i=n[t[s]];if(!i)throw Error("index "+t[s]+" not in palette");for(let t=0;t<4;t++)e[s+t]=i[t];s+=4}}(t,l,n,s,a):(o&&function(t,e,i,r,n){let s=0;for(let h=0;h<r;h++)for(let r=0;r<i;r++){let i=!1;if(1===n.length?n[0]===t[s]&&(i=!0):n[0]===t[s]&&n[1]===t[s+1]&&n[2]===t[s+2]&&(i=!0),i)for(let t=0;t<4;t++)e[s+t]=0;s+=4}}(t,l,n,s,o),8===r||i||(16===r&&(l=Buffer.alloc(n*s*4)),!function(t,e,i,r,n){let s=Math.pow(2,n)-1,h=0;for(let n=0;n<r;n++)for(let r=0;r<i;r++){for(let i=0;i<4;i++)e[h+i]=Math.floor(255*t[h+i]/s+.5);h+=4}}(t,l,n,s,r))),l}},6183,(t,e,i)=>{"use strict";let r=t.r(24361),n=t.r(6461),s=t.r(37106),h=t.r(41998),o=t.r(23213),a=t.r(74047),l=t.r(37829),f=e.exports=function(t){s.call(this),this._parser=new o(t,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this),simpleTransparency:this._simpleTransparency.bind(this),headersFinished:this._headersFinished.bind(this)}),this._options=t,this.writable=!0,this._parser.start()};r.inherits(f,s),f.prototype._handleError=function(t){this.emit("error",t),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this._filter&&(this._filter.destroy(),this._filter.on("error",function(){})),this.errord=!0},f.prototype._inflateData=function(t){if(!this._inflate)if(this._bitmapInfo.interlace)this._inflate=n.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter);else{let t=((this._bitmapInfo.width*this._bitmapInfo.bpp*this._bitmapInfo.depth+7>>3)+1)*this._bitmapInfo.height,e=Math.max(t,n.Z_MIN_CHUNK);this._inflate=n.createInflate({chunkSize:e});let i=t,r=this.emit.bind(this,"error");this._inflate.on("error",function(t){i&&r(t)}),this._filter.on("complete",this._complete.bind(this));let s=this._filter.write.bind(this._filter);this._inflate.on("data",function(t){i&&(t.length>i&&(t=t.slice(0,i)),i-=t.length,s(t))}),this._inflate.on("end",this._filter.end.bind(this._filter))}this._inflate.write(t)},f.prototype._handleMetaData=function(t){this._metaData=t,this._bitmapInfo=Object.create(t),this._filter=new h(this._bitmapInfo)},f.prototype._handleTransColor=function(t){this._bitmapInfo.transColor=t},f.prototype._handlePalette=function(t){this._bitmapInfo.palette=t},f.prototype._simpleTransparency=function(){this._metaData.alpha=!0},f.prototype._headersFinished=function(){this.emit("metadata",this._metaData)},f.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"))},f.prototype._complete=function(t){let e;if(!this.errord){try{let i=a.dataToBitMap(t,this._bitmapInfo);e=l(i,this._bitmapInfo,this._options.skipRescale),i=null}catch(t){this._handleError(t);return}this.emit("parsed",e)}}},55920,(t,e,i)=>{"use strict";let r=t.r(86982);e.exports=function(t,e,i,n){let s=-1!==[r.COLORTYPE_COLOR_ALPHA,r.COLORTYPE_ALPHA].indexOf(n.colorType);if(n.colorType===n.inputColorType){let e,i=(new DataView(e=new ArrayBuffer(2)).setInt16(0,256,!0),256!==new Int16Array(e)[0]);if(8===n.bitDepth||16===n.bitDepth&&i)return t}let h=16!==n.bitDepth?t:new Uint16Array(t.buffer),o=255,a=r.COLORTYPE_TO_BPP_MAP[n.inputColorType];4!==a||n.inputHasAlpha||(a=3);let l=r.COLORTYPE_TO_BPP_MAP[n.colorType];16===n.bitDepth&&(o=65535,l*=2);let f=Buffer.alloc(e*i*l),p=0,u=0,c=n.bgColor||{};void 0===c.red&&(c.red=o),void 0===c.green&&(c.green=o),void 0===c.blue&&(c.blue=o);for(let t=0;t<i;t++)for(let t=0;t<e;t++){let t=function(){let t,e,i,a=o;switch(n.inputColorType){case r.COLORTYPE_COLOR_ALPHA:a=h[p+3],t=h[p],e=h[p+1],i=h[p+2];break;case r.COLORTYPE_COLOR:t=h[p],e=h[p+1],i=h[p+2];break;case r.COLORTYPE_ALPHA:a=h[p+1],e=t=h[p],i=t;break;case r.COLORTYPE_GRAYSCALE:e=t=h[p],i=t;break;default:throw Error("input color type:"+n.inputColorType+" is not supported at present")}return n.inputHasAlpha&&!s&&(a/=o,t=Math.min(Math.max(Math.round((1-a)*c.red+a*t),0),o),e=Math.min(Math.max(Math.round((1-a)*c.green+a*e),0),o),i=Math.min(Math.max(Math.round((1-a)*c.blue+a*i),0),o)),{red:t,green:e,blue:i,alpha:a}}(h,p);switch(n.colorType){case r.COLORTYPE_COLOR_ALPHA:case r.COLORTYPE_COLOR:8===n.bitDepth?(f[u]=t.red,f[u+1]=t.green,f[u+2]=t.blue,s&&(f[u+3]=t.alpha)):(f.writeUInt16BE(t.red,u),f.writeUInt16BE(t.green,u+2),f.writeUInt16BE(t.blue,u+4),s&&f.writeUInt16BE(t.alpha,u+6));break;case r.COLORTYPE_ALPHA:case r.COLORTYPE_GRAYSCALE:{let e=(t.red+t.green+t.blue)/3;8===n.bitDepth?(f[u]=e,s&&(f[u+1]=t.alpha)):(f.writeUInt16BE(e,u),s&&f.writeUInt16BE(t.alpha,u+2));break}default:throw Error("unrecognised color Type "+n.colorType)}p+=a,u+=l}return f}},50796,(t,e,i)=>{"use strict";let r=t.r(35352),n={0:function(t,e,i,r,n){for(let s=0;s<i;s++)r[n+s]=t[e+s]},1:function(t,e,i,r,n,s){for(let h=0;h<i;h++){let i=h>=s?t[e+h-s]:0,o=t[e+h]-i;r[n+h]=o}},2:function(t,e,i,r,n){for(let s=0;s<i;s++){let h=e>0?t[e+s-i]:0,o=t[e+s]-h;r[n+s]=o}},3:function(t,e,i,r,n,s){for(let h=0;h<i;h++){let o=h>=s?t[e+h-s]:0,a=e>0?t[e+h-i]:0,l=t[e+h]-(o+a>>1);r[n+h]=l}},4:function(t,e,i,n,s,h){for(let o=0;o<i;o++){let a=o>=h?t[e+o-h]:0,l=e>0?t[e+o-i]:0,f=e>0&&o>=h?t[e+o-(i+h)]:0,p=t[e+o]-r(a,l,f);n[s+o]=p}}},s={0:function(t,e,i){let r=0,n=e+i;for(let i=e;i<n;i++)r+=Math.abs(t[i]);return r},1:function(t,e,i,r){let n=0;for(let s=0;s<i;s++){let i=s>=r?t[e+s-r]:0;n+=Math.abs(t[e+s]-i)}return n},2:function(t,e,i){let r=0,n=e+i;for(let s=e;s<n;s++){let n=e>0?t[s-i]:0;r+=Math.abs(t[s]-n)}return r},3:function(t,e,i,r){let n=0;for(let s=0;s<i;s++){let h=s>=r?t[e+s-r]:0,o=e>0?t[e+s-i]:0;n+=Math.abs(t[e+s]-(h+o>>1))}return n},4:function(t,e,i,n){let s=0;for(let h=0;h<i;h++){let o=h>=n?t[e+h-n]:0,a=e>0?t[e+h-i]:0,l=e>0&&h>=n?t[e+h-(i+n)]:0;s+=Math.abs(t[e+h]-r(o,a,l))}return s}};e.exports=function(t,e,i,r,h){let o;if("filterType"in r&&-1!==r.filterType)if("number"==typeof r.filterType)o=[r.filterType];else throw Error("unrecognised filter types");else o=[0,1,2,3,4];16===r.bitDepth&&(h*=2);let a=e*h,l=0,f=0,p=Buffer.alloc((a+1)*i),u=o[0];for(let e=0;e<i;e++){if(o.length>1){let e=1/0;for(let i=0;i<o.length;i++){let r=s[o[i]](t,f,a,h);r<e&&(u=o[i],e=r)}}p[l]=u,l++,n[u](t,f,a,p,l,h),l+=a,f+=a}return p}},59029,(t,e,i)=>{"use strict";let r=t.r(86982),n=t.r(22352),s=t.r(55920),h=t.r(50796),o=t.r(6461),a=e.exports=function(t){if(this._options=t,t.deflateChunkSize=t.deflateChunkSize||32768,t.deflateLevel=null!=t.deflateLevel?t.deflateLevel:9,t.deflateStrategy=null!=t.deflateStrategy?t.deflateStrategy:3,t.inputHasAlpha=null==t.inputHasAlpha||t.inputHasAlpha,t.deflateFactory=t.deflateFactory||o.createDeflate,t.bitDepth=t.bitDepth||8,t.colorType="number"==typeof t.colorType?t.colorType:r.COLORTYPE_COLOR_ALPHA,t.inputColorType="number"==typeof t.inputColorType?t.inputColorType:r.COLORTYPE_COLOR_ALPHA,-1===[r.COLORTYPE_GRAYSCALE,r.COLORTYPE_COLOR,r.COLORTYPE_COLOR_ALPHA,r.COLORTYPE_ALPHA].indexOf(t.colorType))throw Error("option color type:"+t.colorType+" is not supported at present");if(-1===[r.COLORTYPE_GRAYSCALE,r.COLORTYPE_COLOR,r.COLORTYPE_COLOR_ALPHA,r.COLORTYPE_ALPHA].indexOf(t.inputColorType))throw Error("option input color type:"+t.inputColorType+" is not supported at present");if(8!==t.bitDepth&&16!==t.bitDepth)throw Error("option bit depth:"+t.bitDepth+" is not supported at present")};a.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}},a.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())},a.prototype.filterData=function(t,e,i){let n=s(t,e,i,this._options),o=r.COLORTYPE_TO_BPP_MAP[this._options.colorType];return h(n,e,i,this._options,o)},a.prototype._packChunk=function(t,e){let i=e?e.length:0,r=Buffer.alloc(i+12);return r.writeUInt32BE(i,0),r.writeUInt32BE(t,4),e&&e.copy(r,8),r.writeInt32BE(n.crc32(r.slice(4,r.length-4)),r.length-4),r},a.prototype.packGAMA=function(t){let e=Buffer.alloc(4);return e.writeUInt32BE(Math.floor(t*r.GAMMA_DIVISION),0),this._packChunk(r.TYPE_gAMA,e)},a.prototype.packIHDR=function(t,e){let i=Buffer.alloc(13);return i.writeUInt32BE(t,0),i.writeUInt32BE(e,4),i[8]=this._options.bitDepth,i[9]=this._options.colorType,i[10]=0,i[11]=0,i[12]=0,this._packChunk(r.TYPE_IHDR,i)},a.prototype.packIDAT=function(t){return this._packChunk(r.TYPE_IDAT,t)},a.prototype.packIEND=function(){return this._packChunk(r.TYPE_IEND,null)}},49152,(t,e,i)=>{"use strict";let r=t.r(24361),n=t.r(88947),s=t.r(86982),h=t.r(59029),o=e.exports=function(t){n.call(this),this._packer=new h(t||{}),this._deflate=this._packer.createDeflate(),this.readable=!0};r.inherits(o,n),o.prototype.pack=function(t,e,i,r){this.emit("data",Buffer.from(s.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(e,i)),r&&this.emit("data",this._packer.packGAMA(r));let n=this._packer.filterData(t,e,i);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",(function(t){this.emit("data",this._packer.packIDAT(t))}).bind(this)),this._deflate.on("end",(function(){this.emit("data",this._packer.packIEND()),this.emit("end")}).bind(this)),this._deflate.end(n)}},49719,(t,e,i)=>{e.exports=t.x("assert",()=>require("assert"))},874,(t,e,i)=>{e.exports=t.x("buffer",()=>require("buffer"))},26190,(t,e,i)=>{"use strict";let r=t.r(49719).ok,n=t.r(6461),s=t.r(24361),h=t.r(874).kMaxLength;function o(t){if(!(this instanceof o))return new o(t);t&&t.chunkSize<n.Z_MIN_CHUNK&&(t.chunkSize=n.Z_MIN_CHUNK),n.Inflate.call(this,t),this._offset=void 0===this._offset?this._outOffset:this._offset,this._buffer=this._buffer||this._outBuffer,t&&null!=t.maxLength&&(this._maxLength=t.maxLength)}function a(t,e){e&&process.nextTick(e),t._handle&&(t._handle.close(),t._handle=null)}function l(t,e){var i=new o(e),r=t;if("string"==typeof r&&(r=Buffer.from(r)),!(r instanceof Buffer))throw TypeError("Not a string or buffer");let s=i._finishFlushFlag;return null==s&&(s=n.Z_FINISH),i._processChunk(r,s)}o.prototype._processChunk=function(t,e,i){let s,o;if("function"==typeof i)return n.Inflate._processChunk.call(this,t,e,i);let l=this,f=t&&t.length,p=this._chunkSize-this._offset,u=this._maxLength,c=0,d=[],_=0;this.on("error",function(t){s=t}),r(this._handle,"zlib binding closed");do o=(o=this._handle.writeSync(e,t,c,f,this._buffer,this._offset,p))||this._writeState;while(!this._hadError&&function(t,e){if(l._hadError)return;let i=p-e;if(r(i>=0,"have should not go down"),i>0){let t=l._buffer.slice(l._offset,l._offset+i);if(l._offset+=i,t.length>u&&(t=t.slice(0,u)),d.push(t),_+=t.length,0==(u-=t.length))return!1}return(0===e||l._offset>=l._chunkSize)&&(p=l._chunkSize,l._offset=0,l._buffer=Buffer.allocUnsafe(l._chunkSize)),0===e&&(c+=f-t,f=t,!0)}(o[0],o[1]))if(this._hadError)throw s;if(_>=h)throw a(this),RangeError("Cannot create final Buffer. It would be larger than 0x"+h.toString(16)+" bytes");let g=Buffer.concat(d,_);return a(this),g},s.inherits(o,n.Inflate),e.exports=i=l,i.Inflate=o,i.createInflate=function(t){return new o(t)},i.inflateSync=l},75886,(t,e,i)=>{"use strict";let r=e.exports=function(t){this._buffer=t,this._reads=[]};r.prototype.read=function(t,e){this._reads.push({length:Math.abs(t),allowLess:t<0,func:e})},r.prototype.process=function(){for(;this._reads.length>0&&this._buffer.length;){let t=this._reads[0];if(this._buffer.length&&(this._buffer.length>=t.length||t.allowLess)){this._reads.shift();let e=this._buffer;this._buffer=e.slice(t.length),t.func.call(this,e.slice(0,t.length))}else break}if(this._reads.length>0)throw Error("There are some read requests waitng on finished stream");if(this._buffer.length>0)throw Error("unrecognised content at end of stream")}},36511,(t,e,i)=>{"use strict";let r=t.r(75886),n=t.r(28378);i.process=function(t,e){let i=[],s=new r(t);return new n(e,{read:s.read.bind(s),write:function(t){i.push(t)},complete:function(){}}).start(),s.process(),Buffer.concat(i)}},2291,(t,e,i)=>{"use strict";let r=!0,n=t.r(6461),s=t.r(26190);n.deflateSync||(r=!1);let h=t.r(75886),o=t.r(36511),a=t.r(23213),l=t.r(74047),f=t.r(37829);e.exports=function(t,e){let i,p,u,c;if(!r)throw Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let d=[],_=new h(t);if(new a(e,{read:_.read.bind(_),error:function(t){i=t},metadata:function(t){p=t},gamma:function(t){u=t},palette:function(t){p.palette=t},transColor:function(t){p.transColor=t},inflateData:function(t){d.push(t)},simpleTransparency:function(){p.alpha=!0}}).start(),_.process(),i)throw i;let g=Buffer.concat(d);if(d.length=0,p.interlace)c=n.inflateSync(g);else{let t=((p.width*p.bpp*p.depth+7>>3)+1)*p.height;c=s(g,{chunkSize:t,maxLength:t})}if(g=null,!c||!c.length)throw Error("bad png - invalid inflate data response");let b=o.process(c,p);g=null;let y=l.dataToBitMap(b,p);b=null;let m=f(y,p,e.skipRescale);return p.data=m,p.gamma=u||0,p}},69762,(t,e,i)=>{"use strict";let r=!0,n=t.r(6461);n.deflateSync||(r=!1);let s=t.r(86982),h=t.r(59029);e.exports=function(t,e){if(!r)throw Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let i=new h(e||{}),o=[];o.push(Buffer.from(s.PNG_SIGNATURE)),o.push(i.packIHDR(t.width,t.height)),t.gamma&&o.push(i.packGAMA(t.gamma));let a=i.filterData(t.data,t.width,t.height),l=n.deflateSync(a,i.getDeflateOptions());if(a=null,!l||!l.length)throw Error("bad png - invalid compressed data response");return o.push(i.packIDAT(l)),o.push(i.packIEND()),Buffer.concat(o)}},93079,(t,e,i)=>{"use strict";let r=t.r(2291),n=t.r(69762);i.read=function(t,e){return r(t,e||{})},i.write=function(t,e){return n(t,e)}},60801,(t,e,i)=>{"use strict";let r=t.r(24361),n=t.r(88947),s=t.r(6183),h=t.r(49152),o=t.r(93079),a=i.PNG=function(t){n.call(this),t=t||{},this.width=0|t.width,this.height=0|t.height,this.data=this.width>0&&this.height>0?Buffer.alloc(4*this.width*this.height):null,t.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new s(t),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",(function(t){this.data=t,this.emit("parsed",t)}).bind(this)),this._packer=new h(t),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};r.inherits(a,n),a.sync=o,a.prototype.pack=function(){return this.data&&this.data.length?process.nextTick((function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}).bind(this)):this.emit("error","No data provided"),this},a.prototype.parse=function(t,e){if(e){let t,i;t=(function(t){this.removeListener("error",i),this.data=t,e(null,this)}).bind(this),i=(function(i){this.removeListener("parsed",t),e(i,null)}).bind(this),this.once("parsed",t),this.once("error",i)}return this.end(t),this},a.prototype.write=function(t){return this._parser.write(t),!0},a.prototype.end=function(t){this._parser.end(t)},a.prototype._metadata=function(t){this.width=t.width,this.height=t.height,this.emit("metadata",t)},a.prototype._gamma=function(t){this.gamma=t},a.prototype._handleClose=function(){this._parser.writable||this._packer.readable||this.emit("close")},a.bitblt=function(t,e,i,r,n,s,h,o){if(r|=0,n|=0,s|=0,h|=0,o|=0,(i|=0)>t.width||r>t.height||i+n>t.width||r+s>t.height)throw Error("bitblt reading outside image");if(h>e.width||o>e.height||h+n>e.width||o+s>e.height)throw Error("bitblt writing outside image");for(let a=0;a<s;a++)t.data.copy(e.data,(o+a)*e.width+h<<2,(r+a)*t.width+i<<2,(r+a)*t.width+i+n<<2)},a.prototype.bitblt=function(t,e,i,r,n,s,h){return a.bitblt(this,t,e,i,r,n,s,h),this},a.adjustGamma=function(t){if(t.gamma){for(let e=0;e<t.height;e++)for(let i=0;i<t.width;i++){let r=t.width*e+i<<2;for(let e=0;e<3;e++){let i=t.data[r+e]/255;i=Math.pow(i,1/2.2/t.gamma),t.data[r+e]=Math.round(255*i)}}t.gamma=0}},a.prototype.adjustGamma=function(){a.adjustGamma(this)}}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__e1a64519._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../node_modules/.pnpm/pixelmatch%407.1.0/node_modules/pixelmatch/index.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/chunkstream.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/interlace.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/paeth-predictor.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/filter-parse.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/filter-parse-async.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/constants.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/crc.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/parser.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/bitmapper.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/format-normaliser.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/parser-async.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/bitpacker.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/filter-pack.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/packer.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/packer-async.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/sync-inflate.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/sync-reader.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/filter-parse-sync.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/parser-sync.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/packer-sync.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/png-sync.js","../../../../node_modules/.pnpm/pngjs%407.0.0/node_modules/pngjs/lib/png.js"],"sourcesContent":["/**\n * Compare two equally sized images, pixel by pixel.\n *\n * @param {Uint8Array | Uint8ClampedArray} img1 First image data.\n * @param {Uint8Array | Uint8ClampedArray} img2 Second image data.\n * @param {Uint8Array | Uint8ClampedArray | void} output Image data to write the diff to, if provided.\n * @param {number} width Input images width.\n * @param {number} height Input images height.\n *\n * @param {Object} [options]\n * @param {number} [options.threshold=0.1] Matching threshold (0 to 1); smaller is more sensitive.\n * @param {boolean} [options.includeAA=false] Whether to skip anti-aliasing detection.\n * @param {number} [options.alpha=0.1] Opacity of original image in diff output.\n * @param {[number, number, number]} [options.aaColor=[255, 255, 0]] Color of anti-aliased pixels in diff output.\n * @param {[number, number, number]} [options.diffColor=[255, 0, 0]] Color of different pixels in diff output.\n * @param {[number, number, number]} [options.diffColorAlt=options.diffColor] Whether to detect dark on light differences between img1 and img2 and set an alternative color to differentiate between the two.\n * @param {boolean} [options.diffMask=false] Draw the diff over a transparent background (a mask).\n *\n * @return {number} The number of mismatched pixels.\n */\nexport default function pixelmatch(img1, img2, output, width, height, options = {}) {\n const {\n threshold = 0.1,\n alpha = 0.1,\n aaColor = [255, 255, 0],\n diffColor = [255, 0, 0],\n includeAA, diffColorAlt, diffMask\n } = options;\n\n if (!isPixelData(img1) || !isPixelData(img2) || (output && !isPixelData(output)))\n throw new Error('Image data: Uint8Array, Uint8ClampedArray or Buffer expected.');\n\n if (img1.length !== img2.length || (output && output.length !== img1.length))\n throw new Error('Image sizes do not match.');\n\n if (img1.length !== width * height * 4) throw new Error('Image data size does not match width/height.');\n\n // check if images are identical\n const len = width * height;\n const a32 = new Uint32Array(img1.buffer, img1.byteOffset, len);\n const b32 = new Uint32Array(img2.buffer, img2.byteOffset, len);\n let identical = true;\n\n for (let i = 0; i < len; i++) {\n if (a32[i] !== b32[i]) { identical = false; break; }\n }\n if (identical) { // fast path if identical\n if (output && !diffMask) {\n for (let i = 0; i < len; i++) drawGrayPixel(img1, 4 * i, alpha, output);\n }\n return 0;\n }\n\n // maximum acceptable square distance between two colors;\n // 35215 is the maximum possible value for the YIQ difference metric\n const maxDelta = 35215 * threshold * threshold;\n const [aaR, aaG, aaB] = aaColor;\n const [diffR, diffG, diffB] = diffColor;\n const [altR, altG, altB] = diffColorAlt || diffColor;\n let diff = 0;\n\n // compare each pixel of one image against the other one\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n\n const i = y * width + x;\n const pos = i * 4;\n\n // squared YUV distance between colors at this pixel position, negative if the img2 pixel is darker\n const delta = a32[i] === b32[i] ? 0 : colorDelta(img1, img2, pos, pos, false);\n\n // the color difference is above the threshold\n if (Math.abs(delta) > maxDelta) {\n // check it's a real rendering difference or just anti-aliasing\n const isAA = antialiased(img1, x, y, width, height, a32, b32) || antialiased(img2, x, y, width, height, b32, a32);\n if (!includeAA && isAA) {\n // one of the pixels is anti-aliasing; draw as yellow and do not count as difference\n // note that we do not include such pixels in a mask\n if (output && !diffMask) drawPixel(output, pos, aaR, aaG, aaB);\n\n } else {\n // found substantial difference not caused by anti-aliasing; draw it as such\n if (output) {\n if (delta < 0) {\n drawPixel(output, pos, altR, altG, altB);\n } else {\n drawPixel(output, pos, diffR, diffG, diffB);\n }\n }\n diff++;\n }\n\n } else if (output && !diffMask) {\n // pixels are similar; draw background as grayscale image blended with white\n drawGrayPixel(img1, pos, alpha, output);\n }\n }\n }\n\n // return the number of different pixels\n return diff;\n}\n\n/** @param {Uint8Array | Uint8ClampedArray} arr */\nfunction isPixelData(arr) {\n // work around instanceof Uint8Array not working properly in some Jest environments\n return ArrayBuffer.isView(arr) && arr.BYTES_PER_ELEMENT === 1;\n}\n\n/**\n * Check if a pixel is likely a part of anti-aliasing;\n * based on \"Anti-aliased Pixel and Intensity Slope Detector\" paper by V. Vysniauskas, 2009\n * @param {Uint8Array | Uint8ClampedArray} img\n * @param {number} x1\n * @param {number} y1\n * @param {number} width\n * @param {number} height\n * @param {Uint32Array} a32\n * @param {Uint32Array} b32\n */\nfunction antialiased(img, x1, y1, width, height, a32, b32) {\n const x0 = Math.max(x1 - 1, 0);\n const y0 = Math.max(y1 - 1, 0);\n const x2 = Math.min(x1 + 1, width - 1);\n const y2 = Math.min(y1 + 1, height - 1);\n const pos = y1 * width + x1;\n let zeroes = x1 === x0 || x1 === x2 || y1 === y0 || y1 === y2 ? 1 : 0;\n let min = 0;\n let max = 0;\n let minX = 0;\n let minY = 0;\n let maxX = 0;\n let maxY = 0;\n\n // go through 8 adjacent pixels\n for (let x = x0; x <= x2; x++) {\n for (let y = y0; y <= y2; y++) {\n if (x === x1 && y === y1) continue;\n\n // brightness delta between the center pixel and adjacent one\n const delta = colorDelta(img, img, pos * 4, (y * width + x) * 4, true);\n\n // count the number of equal, darker and brighter adjacent pixels\n if (delta === 0) {\n zeroes++;\n // if found more than 2 equal siblings, it's definitely not anti-aliasing\n if (zeroes > 2) return false;\n\n // remember the darkest pixel\n } else if (delta < min) {\n min = delta;\n minX = x;\n minY = y;\n\n // remember the brightest pixel\n } else if (delta > max) {\n max = delta;\n maxX = x;\n maxY = y;\n }\n }\n }\n\n // if there are no both darker and brighter pixels among siblings, it's not anti-aliasing\n if (min === 0 || max === 0) return false;\n\n // if either the darkest or the brightest pixel has 3+ equal siblings in both images\n // (definitely not anti-aliased), this pixel is anti-aliased\n return (hasManySiblings(a32, minX, minY, width, height) && hasManySiblings(b32, minX, minY, width, height)) ||\n (hasManySiblings(a32, maxX, maxY, width, height) && hasManySiblings(b32, maxX, maxY, width, height));\n}\n\n/**\n * Check if a pixel has 3+ adjacent pixels of the same color.\n * @param {Uint32Array} img\n * @param {number} x1\n * @param {number} y1\n * @param {number} width\n * @param {number} height\n */\nfunction hasManySiblings(img, x1, y1, width, height) {\n const x0 = Math.max(x1 - 1, 0);\n const y0 = Math.max(y1 - 1, 0);\n const x2 = Math.min(x1 + 1, width - 1);\n const y2 = Math.min(y1 + 1, height - 1);\n const val = img[y1 * width + x1];\n let zeroes = x1 === x0 || x1 === x2 || y1 === y0 || y1 === y2 ? 1 : 0;\n\n // go through 8 adjacent pixels\n for (let x = x0; x <= x2; x++) {\n for (let y = y0; y <= y2; y++) {\n if (x === x1 && y === y1) continue;\n zeroes += +(val === img[y * width + x]);\n if (zeroes > 2) return true;\n }\n }\n return false;\n}\n\n/**\n * Calculate color difference according to the paper \"Measuring perceived color difference\n * using YIQ NTSC transmission color space in mobile applications\" by Y. Kotsarenko and F. Ramos\n * @param {Uint8Array | Uint8ClampedArray} img1\n * @param {Uint8Array | Uint8ClampedArray} img2\n * @param {number} k\n * @param {number} m\n * @param {boolean} yOnly\n */\nfunction colorDelta(img1, img2, k, m, yOnly) {\n const r1 = img1[k];\n const g1 = img1[k + 1];\n const b1 = img1[k + 2];\n const a1 = img1[k + 3];\n const r2 = img2[m];\n const g2 = img2[m + 1];\n const b2 = img2[m + 2];\n const a2 = img2[m + 3];\n\n let dr = r1 - r2;\n let dg = g1 - g2;\n let db = b1 - b2;\n const da = a1 - a2;\n\n if (!dr && !dg && !db && !da) return 0;\n\n if (a1 < 255 || a2 < 255) { // blend pixels with background\n const rb = 48 + 159 * (k % 2);\n const gb = 48 + 159 * ((k / 1.618033988749895 | 0) % 2);\n const bb = 48 + 159 * ((k / 2.618033988749895 | 0) % 2);\n dr = (r1 * a1 - r2 * a2 - rb * da) / 255;\n dg = (g1 * a1 - g2 * a2 - gb * da) / 255;\n db = (b1 * a1 - b2 * a2 - bb * da) / 255;\n }\n\n const y = dr * 0.29889531 + dg * 0.58662247 + db * 0.11448223;\n\n if (yOnly) return y; // brightness difference only\n\n const i = dr * 0.59597799 - dg * 0.27417610 - db * 0.32180189;\n const q = dr * 0.21147017 - dg * 0.52261711 + db * 0.31114694;\n\n const delta = 0.5053 * y * y + 0.299 * i * i + 0.1957 * q * q;\n\n // encode whether the pixel lightens or darkens in the sign\n return y > 0 ? -delta : delta;\n}\n\n/**\n * @param {Uint8Array | Uint8ClampedArray} output\n * @param {number} pos\n * @param {number} r\n * @param {number} g\n * @param {number} b\n */\nfunction drawPixel(output, pos, r, g, b) {\n output[pos + 0] = r;\n output[pos + 1] = g;\n output[pos + 2] = b;\n output[pos + 3] = 255;\n}\n\n/**\n * @param {Uint8Array | Uint8ClampedArray} img\n * @param {number} i\n * @param {number} alpha\n * @param {Uint8Array | Uint8ClampedArray} output\n */\nfunction drawGrayPixel(img, i, alpha, output) {\n const val = 255 + (img[i] * 0.29889531 + img[i + 1] * 0.58662247 + img[i + 2] * 0.11448223 - 255) * alpha * img[i + 3] / 255;\n drawPixel(output, i, val, val, val);\n}\n","\"use strict\";\n\nlet util = require(\"util\");\nlet Stream = require(\"stream\");\n\nlet ChunkStream = (module.exports = function () {\n Stream.call(this);\n\n this._buffers = [];\n this._buffered = 0;\n\n this._reads = [];\n this._paused = false;\n\n this._encoding = \"utf8\";\n this.writable = true;\n});\nutil.inherits(ChunkStream, Stream);\n\nChunkStream.prototype.read = function (length, callback) {\n this._reads.push({\n length: Math.abs(length), // if length < 0 then at most this length\n allowLess: length < 0,\n func: callback,\n });\n\n process.nextTick(\n function () {\n this._process();\n\n // its paused and there is not enought data then ask for more\n if (this._paused && this._reads && this._reads.length > 0) {\n this._paused = false;\n\n this.emit(\"drain\");\n }\n }.bind(this)\n );\n};\n\nChunkStream.prototype.write = function (data, encoding) {\n if (!this.writable) {\n this.emit(\"error\", new Error(\"Stream not writable\"));\n return false;\n }\n\n let dataBuffer;\n if (Buffer.isBuffer(data)) {\n dataBuffer = data;\n } else {\n dataBuffer = Buffer.from(data, encoding || this._encoding);\n }\n\n this._buffers.push(dataBuffer);\n this._buffered += dataBuffer.length;\n\n this._process();\n\n // ok if there are no more read requests\n if (this._reads && this._reads.length === 0) {\n this._paused = true;\n }\n\n return this.writable && !this._paused;\n};\n\nChunkStream.prototype.end = function (data, encoding) {\n if (data) {\n this.write(data, encoding);\n }\n\n this.writable = false;\n\n // already destroyed\n if (!this._buffers) {\n return;\n }\n\n // enqueue or handle end\n if (this._buffers.length === 0) {\n this._end();\n } else {\n this._buffers.push(null);\n this._process();\n }\n};\n\nChunkStream.prototype.destroySoon = ChunkStream.prototype.end;\n\nChunkStream.prototype._end = function () {\n if (this._reads.length > 0) {\n this.emit(\"error\", new Error(\"Unexpected end of input\"));\n }\n\n this.destroy();\n};\n\nChunkStream.prototype.destroy = function () {\n if (!this._buffers) {\n return;\n }\n\n this.writable = false;\n this._reads = null;\n this._buffers = null;\n\n this.emit(\"close\");\n};\n\nChunkStream.prototype._processReadAllowingLess = function (read) {\n // ok there is any data so that we can satisfy this request\n this._reads.shift(); // == read\n\n // first we need to peek into first buffer\n let smallerBuf = this._buffers[0];\n\n // ok there is more data than we need\n if (smallerBuf.length > read.length) {\n this._buffered -= read.length;\n this._buffers[0] = smallerBuf.slice(read.length);\n\n read.func.call(this, smallerBuf.slice(0, read.length));\n } else {\n // ok this is less than maximum length so use it all\n this._buffered -= smallerBuf.length;\n this._buffers.shift(); // == smallerBuf\n\n read.func.call(this, smallerBuf);\n }\n};\n\nChunkStream.prototype._processRead = function (read) {\n this._reads.shift(); // == read\n\n let pos = 0;\n let count = 0;\n let data = Buffer.alloc(read.length);\n\n // create buffer for all data\n while (pos < read.length) {\n let buf = this._buffers[count++];\n let len = Math.min(buf.length, read.length - pos);\n\n buf.copy(data, pos, 0, len);\n pos += len;\n\n // last buffer wasn't used all so just slice it and leave\n if (len !== buf.length) {\n this._buffers[--count] = buf.slice(len);\n }\n }\n\n // remove all used buffers\n if (count > 0) {\n this._buffers.splice(0, count);\n }\n\n this._buffered -= read.length;\n\n read.func.call(this, data);\n};\n\nChunkStream.prototype._process = function () {\n try {\n // as long as there is any data and read requests\n while (this._buffered > 0 && this._reads && this._reads.length > 0) {\n let read = this._reads[0];\n\n // read any data (but no more than length)\n if (read.allowLess) {\n this._processReadAllowingLess(read);\n } else if (this._buffered >= read.length) {\n // ok we can meet some expectations\n\n this._processRead(read);\n } else {\n // not enought data to satisfy first request in queue\n // so we need to wait for more\n break;\n }\n }\n\n if (this._buffers && !this.writable) {\n this._end();\n }\n } catch (ex) {\n this.emit(\"error\", ex);\n }\n};\n","\"use strict\";\n\n// Adam 7\n// 0 1 2 3 4 5 6 7\n// 0 x 6 4 6 x 6 4 6\n// 1 7 7 7 7 7 7 7 7\n// 2 5 6 5 6 5 6 5 6\n// 3 7 7 7 7 7 7 7 7\n// 4 3 6 4 6 3 6 4 6\n// 5 7 7 7 7 7 7 7 7\n// 6 5 6 5 6 5 6 5 6\n// 7 7 7 7 7 7 7 7 7\n\nlet imagePasses = [\n {\n // pass 1 - 1px\n x: [0],\n y: [0],\n },\n {\n // pass 2 - 1px\n x: [4],\n y: [0],\n },\n {\n // pass 3 - 2px\n x: [0, 4],\n y: [4],\n },\n {\n // pass 4 - 4px\n x: [2, 6],\n y: [0, 4],\n },\n {\n // pass 5 - 8px\n x: [0, 2, 4, 6],\n y: [2, 6],\n },\n {\n // pass 6 - 16px\n x: [1, 3, 5, 7],\n y: [0, 2, 4, 6],\n },\n {\n // pass 7 - 32px\n x: [0, 1, 2, 3, 4, 5, 6, 7],\n y: [1, 3, 5, 7],\n },\n];\n\nexports.getImagePasses = function (width, height) {\n let images = [];\n let xLeftOver = width % 8;\n let yLeftOver = height % 8;\n let xRepeats = (width - xLeftOver) / 8;\n let yRepeats = (height - yLeftOver) / 8;\n for (let i = 0; i < imagePasses.length; i++) {\n let pass = imagePasses[i];\n let passWidth = xRepeats * pass.x.length;\n let passHeight = yRepeats * pass.y.length;\n for (let j = 0; j < pass.x.length; j++) {\n if (pass.x[j] < xLeftOver) {\n passWidth++;\n } else {\n break;\n }\n }\n for (let j = 0; j < pass.y.length; j++) {\n if (pass.y[j] < yLeftOver) {\n passHeight++;\n } else {\n break;\n }\n }\n if (passWidth > 0 && passHeight > 0) {\n images.push({ width: passWidth, height: passHeight, index: i });\n }\n }\n return images;\n};\n\nexports.getInterlaceIterator = function (width) {\n return function (x, y, pass) {\n let outerXLeftOver = x % imagePasses[pass].x.length;\n let outerX =\n ((x - outerXLeftOver) / imagePasses[pass].x.length) * 8 +\n imagePasses[pass].x[outerXLeftOver];\n let outerYLeftOver = y % imagePasses[pass].y.length;\n let outerY =\n ((y - outerYLeftOver) / imagePasses[pass].y.length) * 8 +\n imagePasses[pass].y[outerYLeftOver];\n return outerX * 4 + outerY * width * 4;\n };\n};\n","\"use strict\";\n\nmodule.exports = function paethPredictor(left, above, upLeft) {\n let paeth = left + above - upLeft;\n let pLeft = Math.abs(paeth - left);\n let pAbove = Math.abs(paeth - above);\n let pUpLeft = Math.abs(paeth - upLeft);\n\n if (pLeft <= pAbove && pLeft <= pUpLeft) {\n return left;\n }\n if (pAbove <= pUpLeft) {\n return above;\n }\n return upLeft;\n};\n","\"use strict\";\n\nlet interlaceUtils = require(\"./interlace\");\nlet paethPredictor = require(\"./paeth-predictor\");\n\nfunction getByteWidth(width, bpp, depth) {\n let byteWidth = width * bpp;\n if (depth !== 8) {\n byteWidth = Math.ceil(byteWidth / (8 / depth));\n }\n return byteWidth;\n}\n\nlet Filter = (module.exports = function (bitmapInfo, dependencies) {\n let width = bitmapInfo.width;\n let height = bitmapInfo.height;\n let interlace = bitmapInfo.interlace;\n let bpp = bitmapInfo.bpp;\n let depth = bitmapInfo.depth;\n\n this.read = dependencies.read;\n this.write = dependencies.write;\n this.complete = dependencies.complete;\n\n this._imageIndex = 0;\n this._images = [];\n if (interlace) {\n let passes = interlaceUtils.getImagePasses(width, height);\n for (let i = 0; i < passes.length; i++) {\n this._images.push({\n byteWidth: getByteWidth(passes[i].width, bpp, depth),\n height: passes[i].height,\n lineIndex: 0,\n });\n }\n } else {\n this._images.push({\n byteWidth: getByteWidth(width, bpp, depth),\n height: height,\n lineIndex: 0,\n });\n }\n\n // when filtering the line we look at the pixel to the left\n // the spec also says it is done on a byte level regardless of the number of pixels\n // so if the depth is byte compatible (8 or 16) we subtract the bpp in order to compare back\n // a pixel rather than just a different byte part. However if we are sub byte, we ignore.\n if (depth === 8) {\n this._xComparison = bpp;\n } else if (depth === 16) {\n this._xComparison = bpp * 2;\n } else {\n this._xComparison = 1;\n }\n});\n\nFilter.prototype.start = function () {\n this.read(\n this._images[this._imageIndex].byteWidth + 1,\n this._reverseFilterLine.bind(this)\n );\n};\n\nFilter.prototype._unFilterType1 = function (\n rawData,\n unfilteredLine,\n byteWidth\n) {\n let xComparison = this._xComparison;\n let xBiggerThan = xComparison - 1;\n\n for (let x = 0; x < byteWidth; x++) {\n let rawByte = rawData[1 + x];\n let f1Left = x > xBiggerThan ? unfilteredLine[x - xComparison] : 0;\n unfilteredLine[x] = rawByte + f1Left;\n }\n};\n\nFilter.prototype._unFilterType2 = function (\n rawData,\n unfilteredLine,\n byteWidth\n) {\n let lastLine = this._lastLine;\n\n for (let x = 0; x < byteWidth; x++) {\n let rawByte = rawData[1 + x];\n let f2Up = lastLine ? lastLine[x] : 0;\n unfilteredLine[x] = rawByte + f2Up;\n }\n};\n\nFilter.prototype._unFilterType3 = function (\n rawData,\n unfilteredLine,\n byteWidth\n) {\n let xComparison = this._xComparison;\n let xBiggerThan = xComparison - 1;\n let lastLine = this._lastLine;\n\n for (let x = 0; x < byteWidth; x++) {\n let rawByte = rawData[1 + x];\n let f3Up = lastLine ? lastLine[x] : 0;\n let f3Left = x > xBiggerThan ? unfilteredLine[x - xComparison] : 0;\n let f3Add = Math.floor((f3Left + f3Up) / 2);\n unfilteredLine[x] = rawByte + f3Add;\n }\n};\n\nFilter.prototype._unFilterType4 = function (\n rawData,\n unfilteredLine,\n byteWidth\n) {\n let xComparison = this._xComparison;\n let xBiggerThan = xComparison - 1;\n let lastLine = this._lastLine;\n\n for (let x = 0; x < byteWidth; x++) {\n let rawByte = rawData[1 + x];\n let f4Up = lastLine ? lastLine[x] : 0;\n let f4Left = x > xBiggerThan ? unfilteredLine[x - xComparison] : 0;\n let f4UpLeft = x > xBiggerThan && lastLine ? lastLine[x - xComparison] : 0;\n let f4Add = paethPredictor(f4Left, f4Up, f4UpLeft);\n unfilteredLine[x] = rawByte + f4Add;\n }\n};\n\nFilter.prototype._reverseFilterLine = function (rawData) {\n let filter = rawData[0];\n let unfilteredLine;\n let currentImage = this._images[this._imageIndex];\n let byteWidth = currentImage.byteWidth;\n\n if (filter === 0) {\n unfilteredLine = rawData.slice(1, byteWidth + 1);\n } else {\n unfilteredLine = Buffer.alloc(byteWidth);\n\n switch (filter) {\n case 1:\n this._unFilterType1(rawData, unfilteredLine, byteWidth);\n break;\n case 2:\n this._unFilterType2(rawData, unfilteredLine, byteWidth);\n break;\n case 3:\n this._unFilterType3(rawData, unfilteredLine, byteWidth);\n break;\n case 4:\n this._unFilterType4(rawData, unfilteredLine, byteWidth);\n break;\n default:\n throw new Error(\"Unrecognised filter type - \" + filter);\n }\n }\n\n this.write(unfilteredLine);\n\n currentImage.lineIndex++;\n if (currentImage.lineIndex >= currentImage.height) {\n this._lastLine = null;\n this._imageIndex++;\n currentImage = this._images[this._imageIndex];\n } else {\n this._lastLine = unfilteredLine;\n }\n\n if (currentImage) {\n // read, using the byte width that may be from the new current image\n this.read(currentImage.byteWidth + 1, this._reverseFilterLine.bind(this));\n } else {\n this._lastLine = null;\n this.complete();\n }\n};\n","\"use strict\";\n\nlet util = require(\"util\");\nlet ChunkStream = require(\"./chunkstream\");\nlet Filter = require(\"./filter-parse\");\n\nlet FilterAsync = (module.exports = function (bitmapInfo) {\n ChunkStream.call(this);\n\n let buffers = [];\n let that = this;\n this._filter = new Filter(bitmapInfo, {\n read: this.read.bind(this),\n write: function (buffer) {\n buffers.push(buffer);\n },\n complete: function () {\n that.emit(\"complete\", Buffer.concat(buffers));\n },\n });\n\n this._filter.start();\n});\nutil.inherits(FilterAsync, ChunkStream);\n","\"use strict\";\n\nmodule.exports = {\n PNG_SIGNATURE: [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a],\n\n TYPE_IHDR: 0x49484452,\n TYPE_IEND: 0x49454e44,\n TYPE_IDAT: 0x49444154,\n TYPE_PLTE: 0x504c5445,\n TYPE_tRNS: 0x74524e53, // eslint-disable-line camelcase\n TYPE_gAMA: 0x67414d41, // eslint-disable-line camelcase\n\n // color-type bits\n COLORTYPE_GRAYSCALE: 0,\n COLORTYPE_PALETTE: 1,\n COLORTYPE_COLOR: 2,\n COLORTYPE_ALPHA: 4, // e.g. grayscale and alpha\n\n // color-type combinations\n COLORTYPE_PALETTE_COLOR: 3,\n COLORTYPE_COLOR_ALPHA: 6,\n\n COLORTYPE_TO_BPP_MAP: {\n 0: 1,\n 2: 3,\n 3: 1,\n 4: 2,\n 6: 4,\n },\n\n GAMMA_DIVISION: 100000,\n};\n","\"use strict\";\n\nlet crcTable = [];\n\n(function () {\n for (let i = 0; i < 256; i++) {\n let currentCrc = i;\n for (let j = 0; j < 8; j++) {\n if (currentCrc & 1) {\n currentCrc = 0xedb88320 ^ (currentCrc >>> 1);\n } else {\n currentCrc = currentCrc >>> 1;\n }\n }\n crcTable[i] = currentCrc;\n }\n})();\n\nlet CrcCalculator = (module.exports = function () {\n this._crc = -1;\n});\n\nCrcCalculator.prototype.write = function (data) {\n for (let i = 0; i < data.length; i++) {\n this._crc = crcTable[(this._crc ^ data[i]) & 0xff] ^ (this._crc >>> 8);\n }\n return true;\n};\n\nCrcCalculator.prototype.crc32 = function () {\n return this._crc ^ -1;\n};\n\nCrcCalculator.crc32 = function (buf) {\n let crc = -1;\n for (let i = 0; i < buf.length; i++) {\n crc = crcTable[(crc ^ buf[i]) & 0xff] ^ (crc >>> 8);\n }\n return crc ^ -1;\n};\n","\"use strict\";\n\nlet constants = require(\"./constants\");\nlet CrcCalculator = require(\"./crc\");\n\nlet Parser = (module.exports = function (options, dependencies) {\n this._options = options;\n options.checkCRC = options.checkCRC !== false;\n\n this._hasIHDR = false;\n this._hasIEND = false;\n this._emittedHeadersFinished = false;\n\n // input flags/metadata\n this._palette = [];\n this._colorType = 0;\n\n this._chunks = {};\n this._chunks[constants.TYPE_IHDR] = this._handleIHDR.bind(this);\n this._chunks[constants.TYPE_IEND] = this._handleIEND.bind(this);\n this._chunks[constants.TYPE_IDAT] = this._handleIDAT.bind(this);\n this._chunks[constants.TYPE_PLTE] = this._handlePLTE.bind(this);\n this._chunks[constants.TYPE_tRNS] = this._handleTRNS.bind(this);\n this._chunks[constants.TYPE_gAMA] = this._handleGAMA.bind(this);\n\n this.read = dependencies.read;\n this.error = dependencies.error;\n this.metadata = dependencies.metadata;\n this.gamma = dependencies.gamma;\n this.transColor = dependencies.transColor;\n this.palette = dependencies.palette;\n this.parsed = dependencies.parsed;\n this.inflateData = dependencies.inflateData;\n this.finished = dependencies.finished;\n this.simpleTransparency = dependencies.simpleTransparency;\n this.headersFinished = dependencies.headersFinished || function () {};\n});\n\nParser.prototype.start = function () {\n this.read(constants.PNG_SIGNATURE.length, this._parseSignature.bind(this));\n};\n\nParser.prototype._parseSignature = function (data) {\n let signature = constants.PNG_SIGNATURE;\n\n for (let i = 0; i < signature.length; i++) {\n if (data[i] !== signature[i]) {\n this.error(new Error(\"Invalid file signature\"));\n return;\n }\n }\n this.read(8, this._parseChunkBegin.bind(this));\n};\n\nParser.prototype._parseChunkBegin = function (data) {\n // chunk content length\n let length = data.readUInt32BE(0);\n\n // chunk type\n let type = data.readUInt32BE(4);\n let name = \"\";\n for (let i = 4; i < 8; i++) {\n name += String.fromCharCode(data[i]);\n }\n\n //console.log('chunk ', name, length);\n\n // chunk flags\n let ancillary = Boolean(data[4] & 0x20); // or critical\n // priv = Boolean(data[5] & 0x20), // or public\n // safeToCopy = Boolean(data[7] & 0x20); // or unsafe\n\n if (!this._hasIHDR && type !== constants.TYPE_IHDR) {\n this.error(new Error(\"Expected IHDR on beggining\"));\n return;\n }\n\n this._crc = new CrcCalculator();\n this._crc.write(Buffer.from(name));\n\n if (this._chunks[type]) {\n return this._chunks[type](length);\n }\n\n if (!ancillary) {\n this.error(new Error(\"Unsupported critical chunk type \" + name));\n return;\n }\n\n this.read(length + 4, this._skipChunk.bind(this));\n};\n\nParser.prototype._skipChunk = function (/*data*/) {\n this.read(8, this._parseChunkBegin.bind(this));\n};\n\nParser.prototype._handleChunkEnd = function () {\n this.read(4, this._parseChunkEnd.bind(this));\n};\n\nParser.prototype._parseChunkEnd = function (data) {\n let fileCrc = data.readInt32BE(0);\n let calcCrc = this._crc.crc32();\n\n // check CRC\n if (this._options.checkCRC && calcCrc !== fileCrc) {\n this.error(new Error(\"Crc error - \" + fileCrc + \" - \" + calcCrc));\n return;\n }\n\n if (!this._hasIEND) {\n this.read(8, this._parseChunkBegin.bind(this));\n }\n};\n\nParser.prototype._handleIHDR = function (length) {\n this.read(length, this._parseIHDR.bind(this));\n};\nParser.prototype._parseIHDR = function (data) {\n this._crc.write(data);\n\n let width = data.readUInt32BE(0);\n let height = data.readUInt32BE(4);\n let depth = data[8];\n let colorType = data[9]; // bits: 1 palette, 2 color, 4 alpha\n let compr = data[10];\n let filter = data[11];\n let interlace = data[12];\n\n // console.log(' width', width, 'height', height,\n // 'depth', depth, 'colorType', colorType,\n // 'compr', compr, 'filter', filter, 'interlace', interlace\n // );\n\n if (\n depth !== 8 &&\n depth !== 4 &&\n depth !== 2 &&\n depth !== 1 &&\n depth !== 16\n ) {\n this.error(new Error(\"Unsupported bit depth \" + depth));\n return;\n }\n if (!(colorType in constants.COLORTYPE_TO_BPP_MAP)) {\n this.error(new Error(\"Unsupported color type\"));\n return;\n }\n if (compr !== 0) {\n this.error(new Error(\"Unsupported compression method\"));\n return;\n }\n if (filter !== 0) {\n this.error(new Error(\"Unsupported filter method\"));\n return;\n }\n if (interlace !== 0 && interlace !== 1) {\n this.error(new Error(\"Unsupported interlace method\"));\n return;\n }\n\n this._colorType = colorType;\n\n let bpp = constants.COLORTYPE_TO_BPP_MAP[this._colorType];\n\n this._hasIHDR = true;\n\n this.metadata({\n width: width,\n height: height,\n depth: depth,\n interlace: Boolean(interlace),\n palette: Boolean(colorType & constants.COLORTYPE_PALETTE),\n color: Boolean(colorType & constants.COLORTYPE_COLOR),\n alpha: Boolean(colorType & constants.COLORTYPE_ALPHA),\n bpp: bpp,\n colorType: colorType,\n });\n\n this._handleChunkEnd();\n};\n\nParser.prototype._handlePLTE = function (length) {\n this.read(length, this._parsePLTE.bind(this));\n};\nParser.prototype._parsePLTE = function (data) {\n this._crc.write(data);\n\n let entries = Math.floor(data.length / 3);\n // console.log('Palette:', entries);\n\n for (let i = 0; i < entries; i++) {\n this._palette.push([data[i * 3], data[i * 3 + 1], data[i * 3 + 2], 0xff]);\n }\n\n this.palette(this._palette);\n\n this._handleChunkEnd();\n};\n\nParser.prototype._handleTRNS = function (length) {\n this.simpleTransparency();\n this.read(length, this._parseTRNS.bind(this));\n};\nParser.prototype._parseTRNS = function (data) {\n this._crc.write(data);\n\n // palette\n if (this._colorType === constants.COLORTYPE_PALETTE_COLOR) {\n if (this._palette.length === 0) {\n this.error(new Error(\"Transparency chunk must be after palette\"));\n return;\n }\n if (data.length > this._palette.length) {\n this.error(new Error(\"More transparent colors than palette size\"));\n return;\n }\n for (let i = 0; i < data.length; i++) {\n this._palette[i][3] = data[i];\n }\n this.palette(this._palette);\n }\n\n // for colorType 0 (grayscale) and 2 (rgb)\n // there might be one gray/color defined as transparent\n if (this._colorType === constants.COLORTYPE_GRAYSCALE) {\n // grey, 2 bytes\n this.transColor([data.readUInt16BE(0)]);\n }\n if (this._colorType === constants.COLORTYPE_COLOR) {\n this.transColor([\n data.readUInt16BE(0),\n data.readUInt16BE(2),\n data.readUInt16BE(4),\n ]);\n }\n\n this._handleChunkEnd();\n};\n\nParser.prototype._handleGAMA = function (length) {\n this.read(length, this._parseGAMA.bind(this));\n};\nParser.prototype._parseGAMA = function (data) {\n this._crc.write(data);\n this.gamma(data.readUInt32BE(0) / constants.GAMMA_DIVISION);\n\n this._handleChunkEnd();\n};\n\nParser.prototype._handleIDAT = function (length) {\n if (!this._emittedHeadersFinished) {\n this._emittedHeadersFinished = true;\n this.headersFinished();\n }\n this.read(-length, this._parseIDAT.bind(this, length));\n};\nParser.prototype._parseIDAT = function (length, data) {\n this._crc.write(data);\n\n if (\n this._colorType === constants.COLORTYPE_PALETTE_COLOR &&\n this._palette.length === 0\n ) {\n throw new Error(\"Expected palette not found\");\n }\n\n this.inflateData(data);\n let leftOverLength = length - data.length;\n\n if (leftOverLength > 0) {\n this._handleIDAT(leftOverLength);\n } else {\n this._handleChunkEnd();\n }\n};\n\nParser.prototype._handleIEND = function (length) {\n this.read(length, this._parseIEND.bind(this));\n};\nParser.prototype._parseIEND = function (data) {\n this._crc.write(data);\n\n this._hasIEND = true;\n this._handleChunkEnd();\n\n if (this.finished) {\n this.finished();\n }\n};\n","\"use strict\";\n\nlet interlaceUtils = require(\"./interlace\");\n\nlet pixelBppMapper = [\n // 0 - dummy entry\n function () {},\n\n // 1 - L\n // 0: 0, 1: 0, 2: 0, 3: 0xff\n function (pxData, data, pxPos, rawPos) {\n if (rawPos === data.length) {\n throw new Error(\"Ran out of data\");\n }\n\n let pixel = data[rawPos];\n pxData[pxPos] = pixel;\n pxData[pxPos + 1] = pixel;\n pxData[pxPos + 2] = pixel;\n pxData[pxPos + 3] = 0xff;\n },\n\n // 2 - LA\n // 0: 0, 1: 0, 2: 0, 3: 1\n function (pxData, data, pxPos, rawPos) {\n if (rawPos + 1 >= data.length) {\n throw new Error(\"Ran out of data\");\n }\n\n let pixel = data[rawPos];\n pxData[pxPos] = pixel;\n pxData[pxPos + 1] = pixel;\n pxData[pxPos + 2] = pixel;\n pxData[pxPos + 3] = data[rawPos + 1];\n },\n\n // 3 - RGB\n // 0: 0, 1: 1, 2: 2, 3: 0xff\n function (pxData, data, pxPos, rawPos) {\n if (rawPos + 2 >= data.length) {\n throw new Error(\"Ran out of data\");\n }\n\n pxData[pxPos] = data[rawPos];\n pxData[pxPos + 1] = data[rawPos + 1];\n pxData[pxPos + 2] = data[rawPos + 2];\n pxData[pxPos + 3] = 0xff;\n },\n\n // 4 - RGBA\n // 0: 0, 1: 1, 2: 2, 3: 3\n function (pxData, data, pxPos, rawPos) {\n if (rawPos + 3 >= data.length) {\n throw new Error(\"Ran out of data\");\n }\n\n pxData[pxPos] = data[rawPos];\n pxData[pxPos + 1] = data[rawPos + 1];\n pxData[pxPos + 2] = data[rawPos + 2];\n pxData[pxPos + 3] = data[rawPos + 3];\n },\n];\n\nlet pixelBppCustomMapper = [\n // 0 - dummy entry\n function () {},\n\n // 1 - L\n // 0: 0, 1: 0, 2: 0, 3: 0xff\n function (pxData, pixelData, pxPos, maxBit) {\n let pixel = pixelData[0];\n pxData[pxPos] = pixel;\n pxData[pxPos + 1] = pixel;\n pxData[pxPos + 2] = pixel;\n pxData[pxPos + 3] = maxBit;\n },\n\n // 2 - LA\n // 0: 0, 1: 0, 2: 0, 3: 1\n function (pxData, pixelData, pxPos) {\n let pixel = pixelData[0];\n pxData[pxPos] = pixel;\n pxData[pxPos + 1] = pixel;\n pxData[pxPos + 2] = pixel;\n pxData[pxPos + 3] = pixelData[1];\n },\n\n // 3 - RGB\n // 0: 0, 1: 1, 2: 2, 3: 0xff\n function (pxData, pixelData, pxPos, maxBit) {\n pxData[pxPos] = pixelData[0];\n pxData[pxPos + 1] = pixelData[1];\n pxData[pxPos + 2] = pixelData[2];\n pxData[pxPos + 3] = maxBit;\n },\n\n // 4 - RGBA\n // 0: 0, 1: 1, 2: 2, 3: 3\n function (pxData, pixelData, pxPos) {\n pxData[pxPos] = pixelData[0];\n pxData[pxPos + 1] = pixelData[1];\n pxData[pxPos + 2] = pixelData[2];\n pxData[pxPos + 3] = pixelData[3];\n },\n];\n\nfunction bitRetriever(data, depth) {\n let leftOver = [];\n let i = 0;\n\n function split() {\n if (i === data.length) {\n throw new Error(\"Ran out of data\");\n }\n let byte = data[i];\n i++;\n let byte8, byte7, byte6, byte5, byte4, byte3, byte2, byte1;\n switch (depth) {\n default:\n throw new Error(\"unrecognised depth\");\n case 16:\n byte2 = data[i];\n i++;\n leftOver.push((byte << 8) + byte2);\n break;\n case 4:\n byte2 = byte & 0x0f;\n byte1 = byte >> 4;\n leftOver.push(byte1, byte2);\n break;\n case 2:\n byte4 = byte & 3;\n byte3 = (byte >> 2) & 3;\n byte2 = (byte >> 4) & 3;\n byte1 = (byte >> 6) & 3;\n leftOver.push(byte1, byte2, byte3, byte4);\n break;\n case 1:\n byte8 = byte & 1;\n byte7 = (byte >> 1) & 1;\n byte6 = (byte >> 2) & 1;\n byte5 = (byte >> 3) & 1;\n byte4 = (byte >> 4) & 1;\n byte3 = (byte >> 5) & 1;\n byte2 = (byte >> 6) & 1;\n byte1 = (byte >> 7) & 1;\n leftOver.push(byte1, byte2, byte3, byte4, byte5, byte6, byte7, byte8);\n break;\n }\n }\n\n return {\n get: function (count) {\n while (leftOver.length < count) {\n split();\n }\n let returner = leftOver.slice(0, count);\n leftOver = leftOver.slice(count);\n return returner;\n },\n resetAfterLine: function () {\n leftOver.length = 0;\n },\n end: function () {\n if (i !== data.length) {\n throw new Error(\"extra data found\");\n }\n },\n };\n}\n\nfunction mapImage8Bit(image, pxData, getPxPos, bpp, data, rawPos) {\n // eslint-disable-line max-params\n let imageWidth = image.width;\n let imageHeight = image.height;\n let imagePass = image.index;\n for (let y = 0; y < imageHeight; y++) {\n for (let x = 0; x < imageWidth; x++) {\n let pxPos = getPxPos(x, y, imagePass);\n pixelBppMapper[bpp](pxData, data, pxPos, rawPos);\n rawPos += bpp; //eslint-disable-line no-param-reassign\n }\n }\n return rawPos;\n}\n\nfunction mapImageCustomBit(image, pxData, getPxPos, bpp, bits, maxBit) {\n // eslint-disable-line max-params\n let imageWidth = image.width;\n let imageHeight = image.height;\n let imagePass = image.index;\n for (let y = 0; y < imageHeight; y++) {\n for (let x = 0; x < imageWidth; x++) {\n let pixelData = bits.get(bpp);\n let pxPos = getPxPos(x, y, imagePass);\n pixelBppCustomMapper[bpp](pxData, pixelData, pxPos, maxBit);\n }\n bits.resetAfterLine();\n }\n}\n\nexports.dataToBitMap = function (data, bitmapInfo) {\n let width = bitmapInfo.width;\n let height = bitmapInfo.height;\n let depth = bitmapInfo.depth;\n let bpp = bitmapInfo.bpp;\n let interlace = bitmapInfo.interlace;\n let bits;\n\n if (depth !== 8) {\n bits = bitRetriever(data, depth);\n }\n let pxData;\n if (depth <= 8) {\n pxData = Buffer.alloc(width * height * 4);\n } else {\n pxData = new Uint16Array(width * height * 4);\n }\n let maxBit = Math.pow(2, depth) - 1;\n let rawPos = 0;\n let images;\n let getPxPos;\n\n if (interlace) {\n images = interlaceUtils.getImagePasses(width, height);\n getPxPos = interlaceUtils.getInterlaceIterator(width, height);\n } else {\n let nonInterlacedPxPos = 0;\n getPxPos = function () {\n let returner = nonInterlacedPxPos;\n nonInterlacedPxPos += 4;\n return returner;\n };\n images = [{ width: width, height: height }];\n }\n\n for (let imageIndex = 0; imageIndex < images.length; imageIndex++) {\n if (depth === 8) {\n rawPos = mapImage8Bit(\n images[imageIndex],\n pxData,\n getPxPos,\n bpp,\n data,\n rawPos\n );\n } else {\n mapImageCustomBit(\n images[imageIndex],\n pxData,\n getPxPos,\n bpp,\n bits,\n maxBit\n );\n }\n }\n if (depth === 8) {\n if (rawPos !== data.length) {\n throw new Error(\"extra data found\");\n }\n } else {\n bits.end();\n }\n\n return pxData;\n};\n","\"use strict\";\n\nfunction dePalette(indata, outdata, width, height, palette) {\n let pxPos = 0;\n // use values from palette\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n let color = palette[indata[pxPos]];\n\n if (!color) {\n throw new Error(\"index \" + indata[pxPos] + \" not in palette\");\n }\n\n for (let i = 0; i < 4; i++) {\n outdata[pxPos + i] = color[i];\n }\n pxPos += 4;\n }\n }\n}\n\nfunction replaceTransparentColor(indata, outdata, width, height, transColor) {\n let pxPos = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n let makeTrans = false;\n\n if (transColor.length === 1) {\n if (transColor[0] === indata[pxPos]) {\n makeTrans = true;\n }\n } else if (\n transColor[0] === indata[pxPos] &&\n transColor[1] === indata[pxPos + 1] &&\n transColor[2] === indata[pxPos + 2]\n ) {\n makeTrans = true;\n }\n if (makeTrans) {\n for (let i = 0; i < 4; i++) {\n outdata[pxPos + i] = 0;\n }\n }\n pxPos += 4;\n }\n }\n}\n\nfunction scaleDepth(indata, outdata, width, height, depth) {\n let maxOutSample = 255;\n let maxInSample = Math.pow(2, depth) - 1;\n let pxPos = 0;\n\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n for (let i = 0; i < 4; i++) {\n outdata[pxPos + i] = Math.floor(\n (indata[pxPos + i] * maxOutSample) / maxInSample + 0.5\n );\n }\n pxPos += 4;\n }\n }\n}\n\nmodule.exports = function (indata, imageData, skipRescale = false) {\n let depth = imageData.depth;\n let width = imageData.width;\n let height = imageData.height;\n let colorType = imageData.colorType;\n let transColor = imageData.transColor;\n let palette = imageData.palette;\n\n let outdata = indata; // only different for 16 bits\n\n if (colorType === 3) {\n // paletted\n dePalette(indata, outdata, width, height, palette);\n } else {\n if (transColor) {\n replaceTransparentColor(indata, outdata, width, height, transColor);\n }\n // if it needs scaling\n if (depth !== 8 && !skipRescale) {\n // if we need to change the buffer size\n if (depth === 16) {\n outdata = Buffer.alloc(width * height * 4);\n }\n scaleDepth(indata, outdata, width, height, depth);\n }\n }\n return outdata;\n};\n","\"use strict\";\n\nlet util = require(\"util\");\nlet zlib = require(\"zlib\");\nlet ChunkStream = require(\"./chunkstream\");\nlet FilterAsync = require(\"./filter-parse-async\");\nlet Parser = require(\"./parser\");\nlet bitmapper = require(\"./bitmapper\");\nlet formatNormaliser = require(\"./format-normaliser\");\n\nlet ParserAsync = (module.exports = function (options) {\n ChunkStream.call(this);\n\n this._parser = new Parser(options, {\n read: this.read.bind(this),\n error: this._handleError.bind(this),\n metadata: this._handleMetaData.bind(this),\n gamma: this.emit.bind(this, \"gamma\"),\n palette: this._handlePalette.bind(this),\n transColor: this._handleTransColor.bind(this),\n finished: this._finished.bind(this),\n inflateData: this._inflateData.bind(this),\n simpleTransparency: this._simpleTransparency.bind(this),\n headersFinished: this._headersFinished.bind(this),\n });\n this._options = options;\n this.writable = true;\n\n this._parser.start();\n});\nutil.inherits(ParserAsync, ChunkStream);\n\nParserAsync.prototype._handleError = function (err) {\n this.emit(\"error\", err);\n\n this.writable = false;\n\n this.destroy();\n\n if (this._inflate && this._inflate.destroy) {\n this._inflate.destroy();\n }\n\n if (this._filter) {\n this._filter.destroy();\n // For backward compatibility with Node 7 and below.\n // Suppress errors due to _inflate calling write() even after\n // it's destroy()'ed.\n this._filter.on(\"error\", function () {});\n }\n\n this.errord = true;\n};\n\nParserAsync.prototype._inflateData = function (data) {\n if (!this._inflate) {\n if (this._bitmapInfo.interlace) {\n this._inflate = zlib.createInflate();\n\n this._inflate.on(\"error\", this.emit.bind(this, \"error\"));\n this._filter.on(\"complete\", this._complete.bind(this));\n\n this._inflate.pipe(this._filter);\n } else {\n let rowSize =\n ((this._bitmapInfo.width *\n this._bitmapInfo.bpp *\n this._bitmapInfo.depth +\n 7) >>\n 3) +\n 1;\n let imageSize = rowSize * this._bitmapInfo.height;\n let chunkSize = Math.max(imageSize, zlib.Z_MIN_CHUNK);\n\n this._inflate = zlib.createInflate({ chunkSize: chunkSize });\n let leftToInflate = imageSize;\n\n let emitError = this.emit.bind(this, \"error\");\n this._inflate.on(\"error\", function (err) {\n if (!leftToInflate) {\n return;\n }\n\n emitError(err);\n });\n this._filter.on(\"complete\", this._complete.bind(this));\n\n let filterWrite = this._filter.write.bind(this._filter);\n this._inflate.on(\"data\", function (chunk) {\n if (!leftToInflate) {\n return;\n }\n\n if (chunk.length > leftToInflate) {\n chunk = chunk.slice(0, leftToInflate);\n }\n\n leftToInflate -= chunk.length;\n\n filterWrite(chunk);\n });\n\n this._inflate.on(\"end\", this._filter.end.bind(this._filter));\n }\n }\n this._inflate.write(data);\n};\n\nParserAsync.prototype._handleMetaData = function (metaData) {\n this._metaData = metaData;\n this._bitmapInfo = Object.create(metaData);\n\n this._filter = new FilterAsync(this._bitmapInfo);\n};\n\nParserAsync.prototype._handleTransColor = function (transColor) {\n this._bitmapInfo.transColor = transColor;\n};\n\nParserAsync.prototype._handlePalette = function (palette) {\n this._bitmapInfo.palette = palette;\n};\n\nParserAsync.prototype._simpleTransparency = function () {\n this._metaData.alpha = true;\n};\n\nParserAsync.prototype._headersFinished = function () {\n // Up until this point, we don't know if we have a tRNS chunk (alpha)\n // so we can't emit metadata any earlier\n this.emit(\"metadata\", this._metaData);\n};\n\nParserAsync.prototype._finished = function () {\n if (this.errord) {\n return;\n }\n\n if (!this._inflate) {\n this.emit(\"error\", \"No Inflate block\");\n } else {\n // no more data to inflate\n this._inflate.end();\n }\n};\n\nParserAsync.prototype._complete = function (filteredData) {\n if (this.errord) {\n return;\n }\n\n let normalisedBitmapData;\n\n try {\n let bitmapData = bitmapper.dataToBitMap(filteredData, this._bitmapInfo);\n\n normalisedBitmapData = formatNormaliser(\n bitmapData,\n this._bitmapInfo,\n this._options.skipRescale\n );\n bitmapData = null;\n } catch (ex) {\n this._handleError(ex);\n return;\n }\n\n this.emit(\"parsed\", normalisedBitmapData);\n};\n","\"use strict\";\n\nlet constants = require(\"./constants\");\n\nmodule.exports = function (dataIn, width, height, options) {\n let outHasAlpha =\n [constants.COLORTYPE_COLOR_ALPHA, constants.COLORTYPE_ALPHA].indexOf(\n options.colorType\n ) !== -1;\n if (options.colorType === options.inputColorType) {\n let bigEndian = (function () {\n let buffer = new ArrayBuffer(2);\n new DataView(buffer).setInt16(0, 256, true /* littleEndian */);\n // Int16Array uses the platform's endianness.\n return new Int16Array(buffer)[0] !== 256;\n })();\n // If no need to convert to grayscale and alpha is present/absent in both, take a fast route\n if (options.bitDepth === 8 || (options.bitDepth === 16 && bigEndian)) {\n return dataIn;\n }\n }\n\n // map to a UInt16 array if data is 16bit, fix endianness below\n let data = options.bitDepth !== 16 ? dataIn : new Uint16Array(dataIn.buffer);\n\n let maxValue = 255;\n let inBpp = constants.COLORTYPE_TO_BPP_MAP[options.inputColorType];\n if (inBpp === 4 && !options.inputHasAlpha) {\n inBpp = 3;\n }\n let outBpp = constants.COLORTYPE_TO_BPP_MAP[options.colorType];\n if (options.bitDepth === 16) {\n maxValue = 65535;\n outBpp *= 2;\n }\n let outData = Buffer.alloc(width * height * outBpp);\n\n let inIndex = 0;\n let outIndex = 0;\n\n let bgColor = options.bgColor || {};\n if (bgColor.red === undefined) {\n bgColor.red = maxValue;\n }\n if (bgColor.green === undefined) {\n bgColor.green = maxValue;\n }\n if (bgColor.blue === undefined) {\n bgColor.blue = maxValue;\n }\n\n function getRGBA() {\n let red;\n let green;\n let blue;\n let alpha = maxValue;\n switch (options.inputColorType) {\n case constants.COLORTYPE_COLOR_ALPHA:\n alpha = data[inIndex + 3];\n red = data[inIndex];\n green = data[inIndex + 1];\n blue = data[inIndex + 2];\n break;\n case constants.COLORTYPE_COLOR:\n red = data[inIndex];\n green = data[inIndex + 1];\n blue = data[inIndex + 2];\n break;\n case constants.COLORTYPE_ALPHA:\n alpha = data[inIndex + 1];\n red = data[inIndex];\n green = red;\n blue = red;\n break;\n case constants.COLORTYPE_GRAYSCALE:\n red = data[inIndex];\n green = red;\n blue = red;\n break;\n default:\n throw new Error(\n \"input color type:\" +\n options.inputColorType +\n \" is not supported at present\"\n );\n }\n\n if (options.inputHasAlpha) {\n if (!outHasAlpha) {\n alpha /= maxValue;\n red = Math.min(\n Math.max(Math.round((1 - alpha) * bgColor.red + alpha * red), 0),\n maxValue\n );\n green = Math.min(\n Math.max(Math.round((1 - alpha) * bgColor.green + alpha * green), 0),\n maxValue\n );\n blue = Math.min(\n Math.max(Math.round((1 - alpha) * bgColor.blue + alpha * blue), 0),\n maxValue\n );\n }\n }\n return { red: red, green: green, blue: blue, alpha: alpha };\n }\n\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n let rgba = getRGBA(data, inIndex);\n\n switch (options.colorType) {\n case constants.COLORTYPE_COLOR_ALPHA:\n case constants.COLORTYPE_COLOR:\n if (options.bitDepth === 8) {\n outData[outIndex] = rgba.red;\n outData[outIndex + 1] = rgba.green;\n outData[outIndex + 2] = rgba.blue;\n if (outHasAlpha) {\n outData[outIndex + 3] = rgba.alpha;\n }\n } else {\n outData.writeUInt16BE(rgba.red, outIndex);\n outData.writeUInt16BE(rgba.green, outIndex + 2);\n outData.writeUInt16BE(rgba.blue, outIndex + 4);\n if (outHasAlpha) {\n outData.writeUInt16BE(rgba.alpha, outIndex + 6);\n }\n }\n break;\n case constants.COLORTYPE_ALPHA:\n case constants.COLORTYPE_GRAYSCALE: {\n // Convert to grayscale and alpha\n let grayscale = (rgba.red + rgba.green + rgba.blue) / 3;\n if (options.bitDepth === 8) {\n outData[outIndex] = grayscale;\n if (outHasAlpha) {\n outData[outIndex + 1] = rgba.alpha;\n }\n } else {\n outData.writeUInt16BE(grayscale, outIndex);\n if (outHasAlpha) {\n outData.writeUInt16BE(rgba.alpha, outIndex + 2);\n }\n }\n break;\n }\n default:\n throw new Error(\"unrecognised color Type \" + options.colorType);\n }\n\n inIndex += inBpp;\n outIndex += outBpp;\n }\n }\n\n return outData;\n};\n","\"use strict\";\n\nlet paethPredictor = require(\"./paeth-predictor\");\n\nfunction filterNone(pxData, pxPos, byteWidth, rawData, rawPos) {\n for (let x = 0; x < byteWidth; x++) {\n rawData[rawPos + x] = pxData[pxPos + x];\n }\n}\n\nfunction filterSumNone(pxData, pxPos, byteWidth) {\n let sum = 0;\n let length = pxPos + byteWidth;\n\n for (let i = pxPos; i < length; i++) {\n sum += Math.abs(pxData[i]);\n }\n return sum;\n}\n\nfunction filterSub(pxData, pxPos, byteWidth, rawData, rawPos, bpp) {\n for (let x = 0; x < byteWidth; x++) {\n let left = x >= bpp ? pxData[pxPos + x - bpp] : 0;\n let val = pxData[pxPos + x] - left;\n\n rawData[rawPos + x] = val;\n }\n}\n\nfunction filterSumSub(pxData, pxPos, byteWidth, bpp) {\n let sum = 0;\n for (let x = 0; x < byteWidth; x++) {\n let left = x >= bpp ? pxData[pxPos + x - bpp] : 0;\n let val = pxData[pxPos + x] - left;\n\n sum += Math.abs(val);\n }\n\n return sum;\n}\n\nfunction filterUp(pxData, pxPos, byteWidth, rawData, rawPos) {\n for (let x = 0; x < byteWidth; x++) {\n let up = pxPos > 0 ? pxData[pxPos + x - byteWidth] : 0;\n let val = pxData[pxPos + x] - up;\n\n rawData[rawPos + x] = val;\n }\n}\n\nfunction filterSumUp(pxData, pxPos, byteWidth) {\n let sum = 0;\n let length = pxPos + byteWidth;\n for (let x = pxPos; x < length; x++) {\n let up = pxPos > 0 ? pxData[x - byteWidth] : 0;\n let val = pxData[x] - up;\n\n sum += Math.abs(val);\n }\n\n return sum;\n}\n\nfunction filterAvg(pxData, pxPos, byteWidth, rawData, rawPos, bpp) {\n for (let x = 0; x < byteWidth; x++) {\n let left = x >= bpp ? pxData[pxPos + x - bpp] : 0;\n let up = pxPos > 0 ? pxData[pxPos + x - byteWidth] : 0;\n let val = pxData[pxPos + x] - ((left + up) >> 1);\n\n rawData[rawPos + x] = val;\n }\n}\n\nfunction filterSumAvg(pxData, pxPos, byteWidth, bpp) {\n let sum = 0;\n for (let x = 0; x < byteWidth; x++) {\n let left = x >= bpp ? pxData[pxPos + x - bpp] : 0;\n let up = pxPos > 0 ? pxData[pxPos + x - byteWidth] : 0;\n let val = pxData[pxPos + x] - ((left + up) >> 1);\n\n sum += Math.abs(val);\n }\n\n return sum;\n}\n\nfunction filterPaeth(pxData, pxPos, byteWidth, rawData, rawPos, bpp) {\n for (let x = 0; x < byteWidth; x++) {\n let left = x >= bpp ? pxData[pxPos + x - bpp] : 0;\n let up = pxPos > 0 ? pxData[pxPos + x - byteWidth] : 0;\n let upleft =\n pxPos > 0 && x >= bpp ? pxData[pxPos + x - (byteWidth + bpp)] : 0;\n let val = pxData[pxPos + x] - paethPredictor(left, up, upleft);\n\n rawData[rawPos + x] = val;\n }\n}\n\nfunction filterSumPaeth(pxData, pxPos, byteWidth, bpp) {\n let sum = 0;\n for (let x = 0; x < byteWidth; x++) {\n let left = x >= bpp ? pxData[pxPos + x - bpp] : 0;\n let up = pxPos > 0 ? pxData[pxPos + x - byteWidth] : 0;\n let upleft =\n pxPos > 0 && x >= bpp ? pxData[pxPos + x - (byteWidth + bpp)] : 0;\n let val = pxData[pxPos + x] - paethPredictor(left, up, upleft);\n\n sum += Math.abs(val);\n }\n\n return sum;\n}\n\nlet filters = {\n 0: filterNone,\n 1: filterSub,\n 2: filterUp,\n 3: filterAvg,\n 4: filterPaeth,\n};\n\nlet filterSums = {\n 0: filterSumNone,\n 1: filterSumSub,\n 2: filterSumUp,\n 3: filterSumAvg,\n 4: filterSumPaeth,\n};\n\nmodule.exports = function (pxData, width, height, options, bpp) {\n let filterTypes;\n if (!(\"filterType\" in options) || options.filterType === -1) {\n filterTypes = [0, 1, 2, 3, 4];\n } else if (typeof options.filterType === \"number\") {\n filterTypes = [options.filterType];\n } else {\n throw new Error(\"unrecognised filter types\");\n }\n\n if (options.bitDepth === 16) {\n bpp *= 2;\n }\n let byteWidth = width * bpp;\n let rawPos = 0;\n let pxPos = 0;\n let rawData = Buffer.alloc((byteWidth + 1) * height);\n\n let sel = filterTypes[0];\n\n for (let y = 0; y < height; y++) {\n if (filterTypes.length > 1) {\n // find best filter for this line (with lowest sum of values)\n let min = Infinity;\n\n for (let i = 0; i < filterTypes.length; i++) {\n let sum = filterSums[filterTypes[i]](pxData, pxPos, byteWidth, bpp);\n if (sum < min) {\n sel = filterTypes[i];\n min = sum;\n }\n }\n }\n\n rawData[rawPos] = sel;\n rawPos++;\n filters[sel](pxData, pxPos, byteWidth, rawData, rawPos, bpp);\n rawPos += byteWidth;\n pxPos += byteWidth;\n }\n return rawData;\n};\n","\"use strict\";\n\nlet constants = require(\"./constants\");\nlet CrcStream = require(\"./crc\");\nlet bitPacker = require(\"./bitpacker\");\nlet filter = require(\"./filter-pack\");\nlet zlib = require(\"zlib\");\n\nlet Packer = (module.exports = function (options) {\n this._options = options;\n\n options.deflateChunkSize = options.deflateChunkSize || 32 * 1024;\n options.deflateLevel =\n options.deflateLevel != null ? options.deflateLevel : 9;\n options.deflateStrategy =\n options.deflateStrategy != null ? options.deflateStrategy : 3;\n options.inputHasAlpha =\n options.inputHasAlpha != null ? options.inputHasAlpha : true;\n options.deflateFactory = options.deflateFactory || zlib.createDeflate;\n options.bitDepth = options.bitDepth || 8;\n // This is outputColorType\n options.colorType =\n typeof options.colorType === \"number\"\n ? options.colorType\n : constants.COLORTYPE_COLOR_ALPHA;\n options.inputColorType =\n typeof options.inputColorType === \"number\"\n ? options.inputColorType\n : constants.COLORTYPE_COLOR_ALPHA;\n\n if (\n [\n constants.COLORTYPE_GRAYSCALE,\n constants.COLORTYPE_COLOR,\n constants.COLORTYPE_COLOR_ALPHA,\n constants.COLORTYPE_ALPHA,\n ].indexOf(options.colorType) === -1\n ) {\n throw new Error(\n \"option color type:\" + options.colorType + \" is not supported at present\"\n );\n }\n if (\n [\n constants.COLORTYPE_GRAYSCALE,\n constants.COLORTYPE_COLOR,\n constants.COLORTYPE_COLOR_ALPHA,\n constants.COLORTYPE_ALPHA,\n ].indexOf(options.inputColorType) === -1\n ) {\n throw new Error(\n \"option input color type:\" +\n options.inputColorType +\n \" is not supported at present\"\n );\n }\n if (options.bitDepth !== 8 && options.bitDepth !== 16) {\n throw new Error(\n \"option bit depth:\" + options.bitDepth + \" is not supported at present\"\n );\n }\n});\n\nPacker.prototype.getDeflateOptions = function () {\n return {\n chunkSize: this._options.deflateChunkSize,\n level: this._options.deflateLevel,\n strategy: this._options.deflateStrategy,\n };\n};\n\nPacker.prototype.createDeflate = function () {\n return this._options.deflateFactory(this.getDeflateOptions());\n};\n\nPacker.prototype.filterData = function (data, width, height) {\n // convert to correct format for filtering (e.g. right bpp and bit depth)\n let packedData = bitPacker(data, width, height, this._options);\n\n // filter pixel data\n let bpp = constants.COLORTYPE_TO_BPP_MAP[this._options.colorType];\n let filteredData = filter(packedData, width, height, this._options, bpp);\n return filteredData;\n};\n\nPacker.prototype._packChunk = function (type, data) {\n let len = data ? data.length : 0;\n let buf = Buffer.alloc(len + 12);\n\n buf.writeUInt32BE(len, 0);\n buf.writeUInt32BE(type, 4);\n\n if (data) {\n data.copy(buf, 8);\n }\n\n buf.writeInt32BE(\n CrcStream.crc32(buf.slice(4, buf.length - 4)),\n buf.length - 4\n );\n return buf;\n};\n\nPacker.prototype.packGAMA = function (gamma) {\n let buf = Buffer.alloc(4);\n buf.writeUInt32BE(Math.floor(gamma * constants.GAMMA_DIVISION), 0);\n return this._packChunk(constants.TYPE_gAMA, buf);\n};\n\nPacker.prototype.packIHDR = function (width, height) {\n let buf = Buffer.alloc(13);\n buf.writeUInt32BE(width, 0);\n buf.writeUInt32BE(height, 4);\n buf[8] = this._options.bitDepth; // Bit depth\n buf[9] = this._options.colorType; // colorType\n buf[10] = 0; // compression\n buf[11] = 0; // filter\n buf[12] = 0; // interlace\n\n return this._packChunk(constants.TYPE_IHDR, buf);\n};\n\nPacker.prototype.packIDAT = function (data) {\n return this._packChunk(constants.TYPE_IDAT, data);\n};\n\nPacker.prototype.packIEND = function () {\n return this._packChunk(constants.TYPE_IEND, null);\n};\n","\"use strict\";\n\nlet util = require(\"util\");\nlet Stream = require(\"stream\");\nlet constants = require(\"./constants\");\nlet Packer = require(\"./packer\");\n\nlet PackerAsync = (module.exports = function (opt) {\n Stream.call(this);\n\n let options = opt || {};\n\n this._packer = new Packer(options);\n this._deflate = this._packer.createDeflate();\n\n this.readable = true;\n});\nutil.inherits(PackerAsync, Stream);\n\nPackerAsync.prototype.pack = function (data, width, height, gamma) {\n // Signature\n this.emit(\"data\", Buffer.from(constants.PNG_SIGNATURE));\n this.emit(\"data\", this._packer.packIHDR(width, height));\n\n if (gamma) {\n this.emit(\"data\", this._packer.packGAMA(gamma));\n }\n\n let filteredData = this._packer.filterData(data, width, height);\n\n // compress it\n this._deflate.on(\"error\", this.emit.bind(this, \"error\"));\n\n this._deflate.on(\n \"data\",\n function (compressedData) {\n this.emit(\"data\", this._packer.packIDAT(compressedData));\n }.bind(this)\n );\n\n this._deflate.on(\n \"end\",\n function () {\n this.emit(\"data\", this._packer.packIEND());\n this.emit(\"end\");\n }.bind(this)\n );\n\n this._deflate.end(filteredData);\n};\n","\"use strict\";\n\nlet assert = require(\"assert\").ok;\nlet zlib = require(\"zlib\");\nlet util = require(\"util\");\n\nlet kMaxLength = require(\"buffer\").kMaxLength;\n\nfunction Inflate(opts) {\n if (!(this instanceof Inflate)) {\n return new Inflate(opts);\n }\n\n if (opts && opts.chunkSize < zlib.Z_MIN_CHUNK) {\n opts.chunkSize = zlib.Z_MIN_CHUNK;\n }\n\n zlib.Inflate.call(this, opts);\n\n // Node 8 --> 9 compatibility check\n this._offset = this._offset === undefined ? this._outOffset : this._offset;\n this._buffer = this._buffer || this._outBuffer;\n\n if (opts && opts.maxLength != null) {\n this._maxLength = opts.maxLength;\n }\n}\n\nfunction createInflate(opts) {\n return new Inflate(opts);\n}\n\nfunction _close(engine, callback) {\n if (callback) {\n process.nextTick(callback);\n }\n\n // Caller may invoke .close after a zlib error (which will null _handle).\n if (!engine._handle) {\n return;\n }\n\n engine._handle.close();\n engine._handle = null;\n}\n\nInflate.prototype._processChunk = function (chunk, flushFlag, asyncCb) {\n if (typeof asyncCb === \"function\") {\n return zlib.Inflate._processChunk.call(this, chunk, flushFlag, asyncCb);\n }\n\n let self = this;\n\n let availInBefore = chunk && chunk.length;\n let availOutBefore = this._chunkSize - this._offset;\n let leftToInflate = this._maxLength;\n let inOff = 0;\n\n let buffers = [];\n let nread = 0;\n\n let error;\n this.on(\"error\", function (err) {\n error = err;\n });\n\n function handleChunk(availInAfter, availOutAfter) {\n if (self._hadError) {\n return;\n }\n\n let have = availOutBefore - availOutAfter;\n assert(have >= 0, \"have should not go down\");\n\n if (have > 0) {\n let out = self._buffer.slice(self._offset, self._offset + have);\n self._offset += have;\n\n if (out.length > leftToInflate) {\n out = out.slice(0, leftToInflate);\n }\n\n buffers.push(out);\n nread += out.length;\n leftToInflate -= out.length;\n\n if (leftToInflate === 0) {\n return false;\n }\n }\n\n if (availOutAfter === 0 || self._offset >= self._chunkSize) {\n availOutBefore = self._chunkSize;\n self._offset = 0;\n self._buffer = Buffer.allocUnsafe(self._chunkSize);\n }\n\n if (availOutAfter === 0) {\n inOff += availInBefore - availInAfter;\n availInBefore = availInAfter;\n\n return true;\n }\n\n return false;\n }\n\n assert(this._handle, \"zlib binding closed\");\n let res;\n do {\n res = this._handle.writeSync(\n flushFlag,\n chunk, // in\n inOff, // in_off\n availInBefore, // in_len\n this._buffer, // out\n this._offset, //out_off\n availOutBefore\n ); // out_len\n // Node 8 --> 9 compatibility check\n res = res || this._writeState;\n } while (!this._hadError && handleChunk(res[0], res[1]));\n\n if (this._hadError) {\n throw error;\n }\n\n if (nread >= kMaxLength) {\n _close(this);\n throw new RangeError(\n \"Cannot create final Buffer. It would be larger than 0x\" +\n kMaxLength.toString(16) +\n \" bytes\"\n );\n }\n\n let buf = Buffer.concat(buffers, nread);\n _close(this);\n\n return buf;\n};\n\nutil.inherits(Inflate, zlib.Inflate);\n\nfunction zlibBufferSync(engine, buffer) {\n if (typeof buffer === \"string\") {\n buffer = Buffer.from(buffer);\n }\n if (!(buffer instanceof Buffer)) {\n throw new TypeError(\"Not a string or buffer\");\n }\n\n let flushFlag = engine._finishFlushFlag;\n if (flushFlag == null) {\n flushFlag = zlib.Z_FINISH;\n }\n\n return engine._processChunk(buffer, flushFlag);\n}\n\nfunction inflateSync(buffer, opts) {\n return zlibBufferSync(new Inflate(opts), buffer);\n}\n\nmodule.exports = exports = inflateSync;\nexports.Inflate = Inflate;\nexports.createInflate = createInflate;\nexports.inflateSync = inflateSync;\n","\"use strict\";\n\nlet SyncReader = (module.exports = function (buffer) {\n this._buffer = buffer;\n this._reads = [];\n});\n\nSyncReader.prototype.read = function (length, callback) {\n this._reads.push({\n length: Math.abs(length), // if length < 0 then at most this length\n allowLess: length < 0,\n func: callback,\n });\n};\n\nSyncReader.prototype.process = function () {\n // as long as there is any data and read requests\n while (this._reads.length > 0 && this._buffer.length) {\n let read = this._reads[0];\n\n if (\n this._buffer.length &&\n (this._buffer.length >= read.length || read.allowLess)\n ) {\n // ok there is any data so that we can satisfy this request\n this._reads.shift(); // == read\n\n let buf = this._buffer;\n\n this._buffer = buf.slice(read.length);\n\n read.func.call(this, buf.slice(0, read.length));\n } else {\n break;\n }\n }\n\n if (this._reads.length > 0) {\n throw new Error(\"There are some read requests waitng on finished stream\");\n }\n\n if (this._buffer.length > 0) {\n throw new Error(\"unrecognised content at end of stream\");\n }\n};\n","\"use strict\";\n\nlet SyncReader = require(\"./sync-reader\");\nlet Filter = require(\"./filter-parse\");\n\nexports.process = function (inBuffer, bitmapInfo) {\n let outBuffers = [];\n let reader = new SyncReader(inBuffer);\n let filter = new Filter(bitmapInfo, {\n read: reader.read.bind(reader),\n write: function (bufferPart) {\n outBuffers.push(bufferPart);\n },\n complete: function () {},\n });\n\n filter.start();\n reader.process();\n\n return Buffer.concat(outBuffers);\n};\n","\"use strict\";\n\nlet hasSyncZlib = true;\nlet zlib = require(\"zlib\");\nlet inflateSync = require(\"./sync-inflate\");\nif (!zlib.deflateSync) {\n hasSyncZlib = false;\n}\nlet SyncReader = require(\"./sync-reader\");\nlet FilterSync = require(\"./filter-parse-sync\");\nlet Parser = require(\"./parser\");\nlet bitmapper = require(\"./bitmapper\");\nlet formatNormaliser = require(\"./format-normaliser\");\n\nmodule.exports = function (buffer, options) {\n if (!hasSyncZlib) {\n throw new Error(\n \"To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0\"\n );\n }\n\n let err;\n function handleError(_err_) {\n err = _err_;\n }\n\n let metaData;\n function handleMetaData(_metaData_) {\n metaData = _metaData_;\n }\n\n function handleTransColor(transColor) {\n metaData.transColor = transColor;\n }\n\n function handlePalette(palette) {\n metaData.palette = palette;\n }\n\n function handleSimpleTransparency() {\n metaData.alpha = true;\n }\n\n let gamma;\n function handleGamma(_gamma_) {\n gamma = _gamma_;\n }\n\n let inflateDataList = [];\n function handleInflateData(inflatedData) {\n inflateDataList.push(inflatedData);\n }\n\n let reader = new SyncReader(buffer);\n\n let parser = new Parser(options, {\n read: reader.read.bind(reader),\n error: handleError,\n metadata: handleMetaData,\n gamma: handleGamma,\n palette: handlePalette,\n transColor: handleTransColor,\n inflateData: handleInflateData,\n simpleTransparency: handleSimpleTransparency,\n });\n\n parser.start();\n reader.process();\n\n if (err) {\n throw err;\n }\n\n //join together the inflate datas\n let inflateData = Buffer.concat(inflateDataList);\n inflateDataList.length = 0;\n\n let inflatedData;\n if (metaData.interlace) {\n inflatedData = zlib.inflateSync(inflateData);\n } else {\n let rowSize =\n ((metaData.width * metaData.bpp * metaData.depth + 7) >> 3) + 1;\n let imageSize = rowSize * metaData.height;\n inflatedData = inflateSync(inflateData, {\n chunkSize: imageSize,\n maxLength: imageSize,\n });\n }\n inflateData = null;\n\n if (!inflatedData || !inflatedData.length) {\n throw new Error(\"bad png - invalid inflate data response\");\n }\n\n let unfilteredData = FilterSync.process(inflatedData, metaData);\n inflateData = null;\n\n let bitmapData = bitmapper.dataToBitMap(unfilteredData, metaData);\n unfilteredData = null;\n\n let normalisedBitmapData = formatNormaliser(\n bitmapData,\n metaData,\n options.skipRescale\n );\n\n metaData.data = normalisedBitmapData;\n metaData.gamma = gamma || 0;\n\n return metaData;\n};\n","\"use strict\";\n\nlet hasSyncZlib = true;\nlet zlib = require(\"zlib\");\nif (!zlib.deflateSync) {\n hasSyncZlib = false;\n}\nlet constants = require(\"./constants\");\nlet Packer = require(\"./packer\");\n\nmodule.exports = function (metaData, opt) {\n if (!hasSyncZlib) {\n throw new Error(\n \"To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0\"\n );\n }\n\n let options = opt || {};\n\n let packer = new Packer(options);\n\n let chunks = [];\n\n // Signature\n chunks.push(Buffer.from(constants.PNG_SIGNATURE));\n\n // Header\n chunks.push(packer.packIHDR(metaData.width, metaData.height));\n\n if (metaData.gamma) {\n chunks.push(packer.packGAMA(metaData.gamma));\n }\n\n let filteredData = packer.filterData(\n metaData.data,\n metaData.width,\n metaData.height\n );\n\n // compress it\n let compressedData = zlib.deflateSync(\n filteredData,\n packer.getDeflateOptions()\n );\n filteredData = null;\n\n if (!compressedData || !compressedData.length) {\n throw new Error(\"bad png - invalid compressed data response\");\n }\n chunks.push(packer.packIDAT(compressedData));\n\n // End\n chunks.push(packer.packIEND());\n\n return Buffer.concat(chunks);\n};\n","\"use strict\";\n\nlet parse = require(\"./parser-sync\");\nlet pack = require(\"./packer-sync\");\n\nexports.read = function (buffer, options) {\n return parse(buffer, options || {});\n};\n\nexports.write = function (png, options) {\n return pack(png, options);\n};\n","\"use strict\";\n\nlet util = require(\"util\");\nlet Stream = require(\"stream\");\nlet Parser = require(\"./parser-async\");\nlet Packer = require(\"./packer-async\");\nlet PNGSync = require(\"./png-sync\");\n\nlet PNG = (exports.PNG = function (options) {\n Stream.call(this);\n\n options = options || {}; // eslint-disable-line no-param-reassign\n\n // coerce pixel dimensions to integers (also coerces undefined -> 0):\n this.width = options.width | 0;\n this.height = options.height | 0;\n\n this.data =\n this.width > 0 && this.height > 0\n ? Buffer.alloc(4 * this.width * this.height)\n : null;\n\n if (options.fill && this.data) {\n this.data.fill(0);\n }\n\n this.gamma = 0;\n this.readable = this.writable = true;\n\n this._parser = new Parser(options);\n\n this._parser.on(\"error\", this.emit.bind(this, \"error\"));\n this._parser.on(\"close\", this._handleClose.bind(this));\n this._parser.on(\"metadata\", this._metadata.bind(this));\n this._parser.on(\"gamma\", this._gamma.bind(this));\n this._parser.on(\n \"parsed\",\n function (data) {\n this.data = data;\n this.emit(\"parsed\", data);\n }.bind(this)\n );\n\n this._packer = new Packer(options);\n this._packer.on(\"data\", this.emit.bind(this, \"data\"));\n this._packer.on(\"end\", this.emit.bind(this, \"end\"));\n this._parser.on(\"close\", this._handleClose.bind(this));\n this._packer.on(\"error\", this.emit.bind(this, \"error\"));\n});\nutil.inherits(PNG, Stream);\n\nPNG.sync = PNGSync;\n\nPNG.prototype.pack = function () {\n if (!this.data || !this.data.length) {\n this.emit(\"error\", \"No data provided\");\n return this;\n }\n\n process.nextTick(\n function () {\n this._packer.pack(this.data, this.width, this.height, this.gamma);\n }.bind(this)\n );\n\n return this;\n};\n\nPNG.prototype.parse = function (data, callback) {\n if (callback) {\n let onParsed, onError;\n\n onParsed = function (parsedData) {\n this.removeListener(\"error\", onError);\n\n this.data = parsedData;\n callback(null, this);\n }.bind(this);\n\n onError = function (err) {\n this.removeListener(\"parsed\", onParsed);\n\n callback(err, null);\n }.bind(this);\n\n this.once(\"parsed\", onParsed);\n this.once(\"error\", onError);\n }\n\n this.end(data);\n return this;\n};\n\nPNG.prototype.write = function (data) {\n this._parser.write(data);\n return true;\n};\n\nPNG.prototype.end = function (data) {\n this._parser.end(data);\n};\n\nPNG.prototype._metadata = function (metadata) {\n this.width = metadata.width;\n this.height = metadata.height;\n\n this.emit(\"metadata\", metadata);\n};\n\nPNG.prototype._gamma = function (gamma) {\n this.gamma = gamma;\n};\n\nPNG.prototype._handleClose = function () {\n if (!this._parser.writable && !this._packer.readable) {\n this.emit(\"close\");\n }\n};\n\nPNG.bitblt = function (src, dst, srcX, srcY, width, height, deltaX, deltaY) {\n // eslint-disable-line max-params\n // coerce pixel dimensions to integers (also coerces undefined -> 0):\n /* eslint-disable no-param-reassign */\n srcX |= 0;\n srcY |= 0;\n width |= 0;\n height |= 0;\n deltaX |= 0;\n deltaY |= 0;\n /* eslint-enable no-param-reassign */\n\n if (\n srcX > src.width ||\n srcY > src.height ||\n srcX + width > src.width ||\n srcY + height > src.height\n ) {\n throw new Error(\"bitblt reading outside image\");\n }\n\n if (\n deltaX > dst.width ||\n deltaY > dst.height ||\n deltaX + width > dst.width ||\n deltaY + height > dst.height\n ) {\n throw new Error(\"bitblt writing outside image\");\n }\n\n for (let y = 0; y < height; y++) {\n src.data.copy(\n dst.data,\n ((deltaY + y) * dst.width + deltaX) << 2,\n ((srcY + y) * src.width + srcX) << 2,\n ((srcY + y) * src.width + srcX + width) << 2\n );\n }\n};\n\nPNG.prototype.bitblt = function (\n dst,\n srcX,\n srcY,\n width,\n height,\n deltaX,\n deltaY\n) {\n // eslint-disable-line max-params\n\n PNG.bitblt(this, dst, srcX, srcY, width, height, deltaX, deltaY);\n return this;\n};\n\nPNG.adjustGamma = function (src) {\n if (src.gamma) {\n for (let y = 0; y < src.height; y++) {\n for (let x = 0; x < src.width; x++) {\n let idx = (src.width * y + x) << 2;\n\n for (let i = 0; i < 3; i++) {\n let sample = src.data[idx + i] / 255;\n sample = Math.pow(sample, 1 / 2.2 / src.gamma);\n src.data[idx + i] = Math.round(sample * 255);\n }\n }\n }\n src.gamma = 0;\n }\n};\n\nPNG.prototype.adjustGamma = function () {\n PNG.adjustGamma(this);\n};\n"],"names":[],"mappings":"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","ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]}
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},28794,e=>{"use strict";var t=e.i(7479),r=e.i(3797),a=e.i(66154),n=e.i(36096),s=e.i(54296),o=e.i(23249),i=e.i(33185),l=e.i(84521),d=e.i(67707),u=e.i(86157),p=e.i(87608),c=e.i(48432),h=e.i(77430),x=e.i(45577),R=e.i(92366),v=e.i(97691),f=e.i(93695);e.i(24496);var g=e.i(91349),E=e.i(22734),m=e.i(76494),w=e.i(46786),C=e.i(14747);async function y(e){try{let t=e.nextUrl.searchParams.get("pattern")||"",r=process.env.SCREENSHOT_DIR||(0,C.join)((0,w.tmpdir)(),"dev3000-mcp-deps","public","screenshots"),a=(0,E.readdirSync)(r).filter(e=>e.endsWith(".png")).filter(e=>!t||e.includes(t));return m.NextResponse.json({files:a})}catch(e){return console.error("Error listing screenshots:",e),m.NextResponse.json({files:[]},{status:500})}}e.s(["GET",()=>y],14262);var A=e.i(14262);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/screenshots/list/route",pathname:"/api/screenshots/list",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/mcp-server/app/api/screenshots/list/route.ts",nextConfigOutput:"",userland:A}),{workAsyncStorage:N,workUnitAsyncStorage:T,serverHooks:P}=b;function S(){return(0,a.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:T})}async function q(e,t,a){b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/screenshots/list/route";E=E.replace(/\/index$/,"")||"/";let m=await b.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:C,nextConfig:y,parsedUrl:A,isDraftMode:N,prerenderManifest:T,routerServerContext:P,isOnDemandRevalidate:S,revalidateOnlyGenerated:q,resolvedPathname:O,clientReferenceManifest:k,serverActionsManifest:_}=m,j=(0,l.normalizeAppPath)(E),H=!!(T.dynamicRoutes[j]||T.routes[O]),U=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,A,!1):t.end("This page could not be found"),null);if(H&&!N){let e=!!T.routes[O],t=T.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await U();throw new f.NoFallbackError}}let I=null;!H||b.isDev||N||(I="/index"===(I=O)?"/":I);let M=!0===b.isDev||!H,D=H&&!M;_&&k&&(0,o.setReferenceManifestsSingleton)({page:E,clientReferenceManifest:k,serverActionsManifest:_,serverModuleMap:(0,i.createServerModuleMap)({serverActionsManifest:_})});let $=e.method||"GET",F=(0,s.getTracer)(),K=F.getActiveScopeSpan(),B={params:C,prerenderManifest:T,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:M,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a)=>b.onRequestError(e,t,a,P)},sharedContext:{buildId:w}},L=new d.NodeNextRequest(e),G=new d.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let o=async e=>b.handle(V,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${E}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&S&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=B.renderOpts.fetchMetrics;let l=B.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=B.renderOpts.collectedTags;if(!H)return await (0,h.sendResponse)(L,G,s,B.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,x.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[v.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:S})},P),t}},u=await b.handleResponse({req:e,nextConfig:y,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:q,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:i});if(!H)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",S?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,x.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&H||p.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,R.getCacheControlHeader)(u.cacheControl)),await (0,h.sendResponse)(L,G,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};K?await l(K):await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${E}`,kind:s.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l))}catch(t){if(t instanceof f.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:S})}),H)throw t;return await (0,h.sendResponse)(L,G,new Response(null,{status:500})),null}}e.s(["handler",()=>q,"patchFetch",()=>S,"routeModule",()=>b,"serverHooks",()=>P,"workAsyncStorage",()=>N,"workUnitAsyncStorage",()=>T],28794)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__f2de2bac._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/dist/esm/build/templates/app-route.js","../../../../mcp-server/app/api/screenshots/list/route.ts"],"sourcesContent":["import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setReferenceManifestsSingleton } from \"next/dist/esm/server/app-render/encryption-utils\";\nimport { createServerModuleMap } from \"next/dist/esm/server/app-render/action-utils\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/screenshots/list/route\",\n pathname: \"/api/screenshots/list\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/mcp-server/app/api/screenshots/list/route.ts\",\n nextConfigOutput,\n userland\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/screenshots/list/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.experimental.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setReferenceManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n serverModuleMap: createServerModuleMap({\n serverActionsManifest\n })\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext)=>routeModule.onRequestError(req, error, errorContext, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const isMinimalMode = Boolean(process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode'));\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n });\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n","import { readdirSync } from \"fs\"\nimport { type NextRequest, NextResponse } from \"next/server\"\nimport { tmpdir } from \"os\"\nimport { join } from \"path\"\n\nexport async function GET(request: NextRequest) {\n try {\n const searchParams = request.nextUrl.searchParams\n const pattern = searchParams.get(\"pattern\") || \"\"\n\n const screenshotDir = process.env.SCREENSHOT_DIR || join(tmpdir(), \"dev3000-mcp-deps\", \"public\", \"screenshots\")\n\n const files = readdirSync(screenshotDir)\n .filter((f) => f.endsWith(\".png\"))\n .filter((f) => (pattern ? f.includes(pattern) : true))\n\n return NextResponse.json({ files })\n } catch (error) {\n console.error(\"Error listing screenshots:\", error)\n return NextResponse.json({ files: [] }, { status: 500 })\n }\n}\n"],"names":[],"mappings":"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","ignoreList":[0]}
@@ -0,0 +1,11 @@
1
+ module.exports=[22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},55033,e=>{"use strict";var t=e.i(7479),r=e.i(3797),a=e.i(66154),n=e.i(36096),o=e.i(54296),s=e.i(23249),i=e.i(33185),l=e.i(84521),d=e.i(67707),u=e.i(86157),c=e.i(87608),p=e.i(48432),h=e.i(77430),g=e.i(45577),R=e.i(92366),v=e.i(97691),x=e.i(93695);e.i(24496);var f=e.i(91349),m=e.i(22734);async function w(e){let{searchParams:t}=new URL(e.url),r=t.get("logPath")||process.env.LOG_FILE_PATH||"./ai-dev-tools/consolidated.log";if(!(0,m.existsSync)(r))return new Response("Log file not found",{status:404});let a=new TextEncoder,n=0;return new Response(new ReadableStream({start(t){try{let e=(0,m.readFileSync)(r,"utf-8"),o=e.split("\n").filter(e=>e.trim());n=e.length,t.enqueue(a.encode(`data: ${JSON.stringify({lines:o})}
2
+
3
+ `))}catch(e){t.enqueue(a.encode(`data: ${JSON.stringify({error:"Failed to read log"})}
4
+
5
+ `))}let o=(0,m.watchFile)(r,{interval:1e3},()=>{try{let e=(0,m.readFileSync)(r,"utf-8");if(e.length>n){let r=e.slice(n).split("\n").filter(e=>e.trim());r.length>0&&t.enqueue(a.encode(`data: ${JSON.stringify({newLines:r})}
6
+
7
+ `)),n=e.length}}catch(e){t.enqueue(a.encode(`data: ${JSON.stringify({error:"Failed to read log updates"})}
8
+
9
+ `))}});e.signal.addEventListener("abort",()=>{o.unref(),t.close()})}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}e.s(["GET",()=>w],35443);var E=e.i(35443);let y=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/logs/stream/route",pathname:"/api/logs/stream",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/mcp-server/app/api/logs/stream/route.ts",nextConfigOutput:"",userland:E}),{workAsyncStorage:C,workUnitAsyncStorage:A,serverHooks:b}=y;function S(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:A})}async function T(e,t,a){y.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/logs/stream/route";m=m.replace(/\/index$/,"")||"/";let w=await y.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,params:C,nextConfig:A,parsedUrl:b,isDraftMode:S,prerenderManifest:T,routerServerContext:N,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,resolvedPathname:_,clientReferenceManifest:q,serverActionsManifest:k}=w,H=(0,l.normalizeAppPath)(m),U=!!(T.dynamicRoutes[H]||T.routes[_]),I=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,b,!1):t.end("This page could not be found"),null);if(U&&!S){let e=!!T.routes[_],t=T.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await I();throw new x.NoFallbackError}}let M=null;!U||y.isDev||S||(M="/index"===(M=_)?"/":M);let j=!0===y.isDev||!U,F=U&&!j;k&&q&&(0,s.setReferenceManifestsSingleton)({page:m,clientReferenceManifest:q,serverActionsManifest:k,serverModuleMap:(0,i.createServerModuleMap)({serverActionsManifest:k})});let D=e.method||"GET",$=(0,o.getTracer)(),L=$.getActiveScopeSpan(),K={params:C,prerenderManifest:T,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a)=>y.onRequestError(e,t,a,N)},sharedContext:{buildId:E}},B=new d.NodeNextRequest(e),G=new d.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let s=async e=>y.handle(J,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${D} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${m}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&O&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=K.renderOpts.collectedTags;if(!U)return await (0,h.sendResponse)(B,G,o,K.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(o.headers);d&&(t[v.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:O})},N),t}},u=await y.handleResponse({req:e,nextConfig:A,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:i});if(!U)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,g.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&U||c.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,R.getCacheControlHeader)(u.cacheControl)),await (0,h.sendResponse)(B,G,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};L?await l(L):await $.withPropagatedContext(e.headers,()=>$.trace(c.BaseServerSpan.handleRequest,{spanName:`${D} ${m}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:O})}),U)throw t;return await (0,h.sendResponse)(B,G,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>S,"routeModule",()=>y,"serverHooks",()=>b,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>A],55033)}];
10
+
11
+ //# sourceMappingURL=%5Broot-of-the-server%5D__f449fffa._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../mcp-server/app/api/logs/stream/route.ts","../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/dist/esm/build/templates/app-route.js"],"sourcesContent":["import { existsSync, readFileSync, watchFile } from \"fs\"\nimport type { NextRequest } from \"next/server\"\n\nexport async function GET(request: NextRequest) {\n const { searchParams } = new URL(request.url)\n const logPath = searchParams.get(\"logPath\") || process.env.LOG_FILE_PATH || \"./ai-dev-tools/consolidated.log\"\n\n if (!existsSync(logPath)) {\n return new Response(\"Log file not found\", { status: 404 })\n }\n\n const encoder = new TextEncoder()\n let lastSize = 0\n\n const stream = new ReadableStream({\n start(controller) {\n // Send initial content\n try {\n const content = readFileSync(logPath, \"utf-8\")\n const lines = content.split(\"\\n\").filter((line) => line.trim())\n lastSize = content.length\n\n // Send initial lines\n controller.enqueue(encoder.encode(`data: ${JSON.stringify({ lines })}\\n\\n`))\n } catch (_error) {\n controller.enqueue(encoder.encode(`data: ${JSON.stringify({ error: \"Failed to read log\" })}\\n\\n`))\n }\n\n // Watch for file changes\n const watcher = watchFile(logPath, { interval: 1000 }, () => {\n try {\n const content = readFileSync(logPath, \"utf-8\")\n if (content.length > lastSize) {\n const newContent = content.slice(lastSize)\n const newLines = newContent.split(\"\\n\").filter((line) => line.trim())\n if (newLines.length > 0) {\n controller.enqueue(encoder.encode(`data: ${JSON.stringify({ newLines })}\\n\\n`))\n }\n lastSize = content.length\n }\n } catch (_error) {\n controller.enqueue(encoder.encode(`data: ${JSON.stringify({ error: \"Failed to read log updates\" })}\\n\\n`))\n }\n })\n\n // Cleanup on close\n request.signal.addEventListener(\"abort\", () => {\n watcher.unref()\n controller.close()\n })\n }\n })\n\n return new Response(stream, {\n headers: {\n \"Content-Type\": \"text/event-stream\",\n \"Cache-Control\": \"no-cache\",\n Connection: \"keep-alive\"\n }\n })\n}\n","import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setReferenceManifestsSingleton } from \"next/dist/esm/server/app-render/encryption-utils\";\nimport { createServerModuleMap } from \"next/dist/esm/server/app-render/action-utils\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/logs/stream/route\",\n pathname: \"/api/logs/stream\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/mcp-server/app/api/logs/stream/route.ts\",\n nextConfigOutput,\n userland\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/logs/stream/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.experimental.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setReferenceManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n serverModuleMap: createServerModuleMap({\n serverActionsManifest\n })\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext)=>routeModule.onRequestError(req, error, errorContext, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const isMinimalMode = Boolean(process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode'));\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n });\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n"],"names":[],"mappings":"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","ignoreList":[1]}