@mastra/server 1.60.0-alpha.8 → 1.60.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/CHANGELOG.md +140 -0
  2. package/dist/{a2a-Eeib3vfP.cjs → a2a-BtXFFv-0.cjs} +4 -4
  3. package/dist/{a2a-Eeib3vfP.cjs.map → a2a-BtXFFv-0.cjs.map} +1 -1
  4. package/dist/{a2a-B5m54dOP.js → a2a-DZhtQeFL.js} +3 -3
  5. package/dist/{a2a-B5m54dOP.js.map → a2a-DZhtQeFL.js.map} +1 -1
  6. package/dist/{agent-versions-xeysPGel.cjs → agent-versions-MYjO6Wl1.cjs} +2 -2
  7. package/dist/{agent-versions-xeysPGel.cjs.map → agent-versions-MYjO6Wl1.cjs.map} +1 -1
  8. package/dist/{agent-versions-CWEnD62A.js → agent-versions-mFXaw5ma.js} +2 -2
  9. package/dist/{agent-versions-CWEnD62A.js.map → agent-versions-mFXaw5ma.js.map} +1 -1
  10. package/dist/{api-schema-manifest-BKTXRheC.js → api-schema-manifest-Bx_zU5qw.js} +2 -2
  11. package/dist/{api-schema-manifest-BKTXRheC.js.map → api-schema-manifest-Bx_zU5qw.js.map} +1 -1
  12. package/dist/{api-schema-manifest-BbNdh5Ck.cjs → api-schema-manifest-DPgfugJT.cjs} +4 -3
  13. package/dist/{api-schema-manifest-BbNdh5Ck.cjs.map → api-schema-manifest-DPgfugJT.cjs.map} +1 -1
  14. package/dist/{background-tasks-C5G2jJax.cjs → background-tasks-8M9W_27g.cjs} +2 -2
  15. package/dist/{background-tasks-C5G2jJax.cjs.map → background-tasks-8M9W_27g.cjs.map} +1 -1
  16. package/dist/{builder-registry-CyaUg_iP.cjs → builder-registry-Dcd_ApmT.cjs} +3 -3
  17. package/dist/{builder-registry-CyaUg_iP.cjs.map → builder-registry-Dcd_ApmT.cjs.map} +1 -1
  18. package/dist/{builder-registry-CqLsr39q.js → builder-registry-DnEa4qnF.js} +2 -2
  19. package/dist/{builder-registry-CqLsr39q.js.map → builder-registry-DnEa4qnF.js.map} +1 -1
  20. package/dist/{channels-BnFQESMf.js → channels-BO3Zd38V.js} +2 -2
  21. package/dist/{channels-BnFQESMf.js.map → channels-BO3Zd38V.js.map} +1 -1
  22. package/dist/{channels-Dzy6VM3w.cjs → channels-D9WRnKzU.cjs} +3 -3
  23. package/dist/{channels-Dzy6VM3w.cjs.map → channels-D9WRnKzU.cjs.map} +1 -1
  24. package/dist/{constants-CutMu4A_.js → constants-0jFCWoex.js} +13 -2
  25. package/dist/constants-0jFCWoex.js.map +1 -0
  26. package/dist/{constants-CXPpy-Ef.cjs → constants-4IJp_uzj.cjs} +18 -1
  27. package/dist/constants-4IJp_uzj.cjs.map +1 -0
  28. package/dist/{conversations-CcFLCCeF.cjs → conversations-PF0eKhIu.cjs} +3 -3
  29. package/dist/{conversations-CcFLCCeF.cjs.map → conversations-PF0eKhIu.cjs.map} +1 -1
  30. package/dist/{dist-CAVC0nWG.cjs → dist-2zVeGGHi.cjs} +3 -2
  31. package/dist/{dist-CAVC0nWG.cjs.map → dist-2zVeGGHi.cjs.map} +1 -1
  32. package/dist/{dist-D7GkGue6.cjs → dist-8-Z5v77M.cjs} +3 -2
  33. package/dist/{dist-D7GkGue6.cjs.map → dist-8-Z5v77M.cjs.map} +1 -1
  34. package/dist/{dist-SKhVwZMV.cjs → dist-Be7Caz3Z.cjs} +3 -2
  35. package/dist/{dist-SKhVwZMV.cjs.map → dist-Be7Caz3Z.cjs.map} +1 -1
  36. package/dist/{dist-18h28zlO.cjs → dist-BfVTO0pC.cjs} +3 -2
  37. package/dist/{dist-18h28zlO.cjs.map → dist-BfVTO0pC.cjs.map} +1 -1
  38. package/dist/{dist-BD0I5lxM.js → dist-CHJcZQdS.js} +2 -2
  39. package/dist/{dist-BD0I5lxM.js.map → dist-CHJcZQdS.js.map} +1 -1
  40. package/dist/{dist-BpRGQqjE.cjs → dist-CJKQBH69.cjs} +2 -2
  41. package/dist/{dist-BpRGQqjE.cjs.map → dist-CJKQBH69.cjs.map} +1 -1
  42. package/dist/{dist-sUhxlnJz.js → dist-CRgxcDTg.js} +2 -2
  43. package/dist/{dist-sUhxlnJz.js.map → dist-CRgxcDTg.js.map} +1 -1
  44. package/dist/{dist-JdnTASYe.js → dist-CscF1cF8.js} +2 -2
  45. package/dist/{dist-JdnTASYe.js.map → dist-CscF1cF8.js.map} +1 -1
  46. package/dist/{dist-CpxQhZED.js → dist-Cw-T1gX6.js} +2818 -309
  47. package/dist/dist-Cw-T1gX6.js.map +1 -0
  48. package/dist/{dist-DBP9kw_8.cjs → dist-D4NzuG3G.cjs} +3 -2
  49. package/dist/{dist-DBP9kw_8.cjs.map → dist-D4NzuG3G.cjs.map} +1 -1
  50. package/dist/{dist-CpaK1qK1.cjs → dist-DERatX43.cjs} +2819 -310
  51. package/dist/dist-DERatX43.cjs.map +1 -0
  52. package/dist/{dist-mcwHCl2a.js → dist-F_Ql1co6.js} +2 -2
  53. package/dist/{dist-mcwHCl2a.js.map → dist-F_Ql1co6.js.map} +1 -1
  54. package/dist/{dist-C-9xUY65.js → dist-Jn3uXsoB.js} +2 -2
  55. package/dist/{dist-C-9xUY65.js.map → dist-Jn3uXsoB.js.map} +1 -1
  56. package/dist/{dist-DyBO3IVt.js → dist-bAFqx06T.js} +2 -2
  57. package/dist/{dist-DyBO3IVt.js.map → dist-bAFqx06T.js.map} +1 -1
  58. package/dist/docs/SKILL.md +1 -1
  59. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  60. package/dist/{dynamic-workflows-C-6vmau5.cjs → dynamic-workflows-BZ5ru36x.cjs} +3 -3
  61. package/dist/{dynamic-workflows-C-6vmau5.cjs.map → dynamic-workflows-BZ5ru36x.cjs.map} +1 -1
  62. package/dist/{dynamic-workflows-B0TE8mjA.js → dynamic-workflows-C6U0Rdoc.js} +2 -2
  63. package/dist/{dynamic-workflows-B0TE8mjA.js.map → dynamic-workflows-C6U0Rdoc.js.map} +1 -1
  64. package/dist/{editor-builder-1L3OIY4K.cjs → editor-builder-BmRQift0.cjs} +2 -2
  65. package/dist/{editor-builder-1L3OIY4K.cjs.map → editor-builder-BmRQift0.cjs.map} +1 -1
  66. package/dist/{helpers-C54OMiDG.cjs → helpers-BWxRRShz.cjs} +2 -2
  67. package/dist/{helpers-C54OMiDG.cjs.map → helpers-BWxRRShz.cjs.map} +1 -1
  68. package/dist/{helpers-Da9nPOFL.js → helpers-DBAYsA50.js} +2 -2
  69. package/dist/{helpers-Da9nPOFL.js.map → helpers-DBAYsA50.js.map} +1 -1
  70. package/dist/index.cjs +1 -0
  71. package/dist/index.cjs.map +1 -1
  72. package/dist/{observability-new-endpoints-BC-dasRY.cjs → observability-new-endpoints-gRCFhnRr.cjs} +2 -2
  73. package/dist/{observability-new-endpoints-BC-dasRY.cjs.map → observability-new-endpoints-gRCFhnRr.cjs.map} +1 -1
  74. package/dist/{probe-image-size-C2F59z8Z.cjs → probe-image-size-CDCRrXNo.cjs} +140 -33
  75. package/dist/probe-image-size-CDCRrXNo.cjs.map +1 -0
  76. package/dist/{probe-image-size-mXCWYNrz.js → probe-image-size-Tf8sNZhU.js} +137 -33
  77. package/dist/probe-image-size-Tf8sNZhU.js.map +1 -0
  78. package/dist/{responses-BI25doe1.cjs → responses-CKNdSRkS.cjs} +2 -2
  79. package/dist/{responses-BI25doe1.cjs.map → responses-CKNdSRkS.cjs.map} +1 -1
  80. package/dist/{rolldown-runtime-CVvi-lCc.cjs → rolldown-runtime-Bd6kNlEP.cjs} +21 -0
  81. package/dist/{rolldown-runtime-DuvcJU0W.js → rolldown-runtime-maW3aOIk.js} +10 -1
  82. package/dist/{route-builder-BAAedfru.cjs → route-builder-CWsok5ci.cjs} +2 -2
  83. package/dist/{route-builder-BAAedfru.cjs.map → route-builder-CWsok5ci.cjs.map} +1 -1
  84. package/dist/{routes-iUe0w9eL.js → routes-Bh2p-WqG.js} +5 -5
  85. package/dist/{routes-iUe0w9eL.js.map → routes-Bh2p-WqG.js.map} +1 -1
  86. package/dist/{routes-mK_LlDMo.cjs → routes-CdbboDwv.cjs} +10 -10
  87. package/dist/{routes-mK_LlDMo.cjs.map → routes-CdbboDwv.cjs.map} +1 -1
  88. package/dist/{schedules-DOK225ZZ.cjs → schedules-7YUg_TRM.cjs} +2 -2
  89. package/dist/{schedules-DOK225ZZ.cjs.map → schedules-7YUg_TRM.cjs.map} +1 -1
  90. package/dist/{schema-Bv9OdW1f-CHHI-NTr.cjs → schema-Bv9OdW1f-CxTiW8RD.cjs} +2 -2
  91. package/dist/{schema-Bv9OdW1f-CHHI-NTr.cjs.map → schema-Bv9OdW1f-CxTiW8RD.cjs.map} +1 -1
  92. package/dist/schema-CNKnRmv1.cjs +1 -0
  93. package/dist/{scorer-versions-CdVjOtQO.js → scorer-versions-D0_KP67E.js} +2 -2
  94. package/dist/{scorer-versions-CdVjOtQO.js.map → scorer-versions-D0_KP67E.js.map} +1 -1
  95. package/dist/{scorer-versions-CYXtxMTU.cjs → scorer-versions-mL--H4LL.cjs} +2 -2
  96. package/dist/{scorer-versions-CYXtxMTU.cjs.map → scorer-versions-mL--H4LL.cjs.map} +1 -1
  97. package/dist/server/a2a/store.cjs +1 -0
  98. package/dist/server/a2a/store.cjs.map +1 -1
  99. package/dist/server/auth/index.cjs +3 -2
  100. package/dist/server/auth/index.js +2 -2
  101. package/dist/server/browser-stream/index.cjs +1 -0
  102. package/dist/server/browser-stream/index.cjs.map +1 -1
  103. package/dist/server/constants.d.ts +11 -0
  104. package/dist/server/constants.d.ts.map +1 -1
  105. package/dist/server/handlers/a2a.cjs +2 -1
  106. package/dist/server/handlers/a2a.js +1 -1
  107. package/dist/server/handlers/agent-builder.cjs +4 -4
  108. package/dist/server/handlers/agent-builder.js +3 -3
  109. package/dist/server/handlers/agent-controller.cjs +53 -36
  110. package/dist/server/handlers/agent-controller.cjs.map +1 -1
  111. package/dist/server/handlers/agent-controller.d.ts +22 -2
  112. package/dist/server/handlers/agent-controller.d.ts.map +1 -1
  113. package/dist/server/handlers/agent-controller.js +51 -35
  114. package/dist/server/handlers/agent-controller.js.map +1 -1
  115. package/dist/server/handlers/agent-versions.cjs +4 -3
  116. package/dist/server/handlers/agent-versions.cjs.map +1 -1
  117. package/dist/server/handlers/agent-versions.js +2 -2
  118. package/dist/server/handlers/agents.cjs +8 -8
  119. package/dist/server/handlers/agents.d.ts +8 -0
  120. package/dist/server/handlers/agents.d.ts.map +1 -1
  121. package/dist/server/handlers/agents.js +5 -5
  122. package/dist/server/handlers/auth.cjs +16 -7
  123. package/dist/server/handlers/auth.cjs.map +1 -1
  124. package/dist/server/handlers/auth.d.ts +10 -4
  125. package/dist/server/handlers/auth.d.ts.map +1 -1
  126. package/dist/server/handlers/auth.js +14 -6
  127. package/dist/server/handlers/auth.js.map +1 -1
  128. package/dist/server/handlers/author-enrichment.cjs +1 -0
  129. package/dist/server/handlers/author-enrichment.cjs.map +1 -1
  130. package/dist/server/handlers/authorship.cjs +2 -1
  131. package/dist/server/handlers/authorship.cjs.map +1 -1
  132. package/dist/server/handlers/authorship.js +1 -1
  133. package/dist/server/handlers/background-tasks.cjs +2 -1
  134. package/dist/server/handlers/builder-registry.cjs +2 -1
  135. package/dist/server/handlers/builder-registry.js +1 -1
  136. package/dist/server/handlers/channels.cjs +2 -1
  137. package/dist/server/handlers/channels.js +1 -1
  138. package/dist/server/handlers/conversations.cjs +4 -4
  139. package/dist/server/handlers/conversations.js +2 -2
  140. package/dist/server/handlers/datasets.cjs +3 -2
  141. package/dist/server/handlers/datasets.cjs.map +1 -1
  142. package/dist/server/handlers/datasets.d.ts +6 -6
  143. package/dist/server/handlers/datasets.js +1 -1
  144. package/dist/server/handlers/dynamic-workflows.cjs +2 -1
  145. package/dist/server/handlers/dynamic-workflows.js +1 -1
  146. package/dist/server/handlers/editor-builder.cjs +2 -1
  147. package/dist/server/handlers/error.cjs +1 -0
  148. package/dist/server/handlers/error.cjs.map +1 -1
  149. package/dist/server/handlers/favorites-enrichment.cjs +2 -1
  150. package/dist/server/handlers/favorites-enrichment.cjs.map +1 -1
  151. package/dist/server/handlers/gateway-memory-client.cjs +1 -0
  152. package/dist/server/handlers/gateway-memory-client.cjs.map +1 -1
  153. package/dist/server/handlers/logs.cjs +3 -3
  154. package/dist/server/handlers/logs.js +2 -2
  155. package/dist/server/handlers/mcp-client-versions.cjs +3 -2
  156. package/dist/server/handlers/mcp-client-versions.cjs.map +1 -1
  157. package/dist/server/handlers/mcp-client-versions.js +1 -1
  158. package/dist/server/handlers/mcp.cjs +2 -2
  159. package/dist/server/handlers/mcp.js +1 -1
  160. package/dist/server/handlers/memory.cjs +3 -3
  161. package/dist/server/handlers/memory.js +2 -2
  162. package/dist/server/handlers/observability-list-query-schemas.cjs +1 -0
  163. package/dist/server/handlers/observability-list-query-schemas.cjs.map +1 -1
  164. package/dist/server/handlers/observability-new-endpoints.cjs +2 -1
  165. package/dist/server/handlers/observability-shared.cjs +2 -1
  166. package/dist/server/handlers/observability-shared.cjs.map +1 -1
  167. package/dist/server/handlers/observability-storage-schemas.cjs +1 -1
  168. package/dist/server/handlers/observability.cjs +8 -5
  169. package/dist/server/handlers/observability.cjs.map +1 -1
  170. package/dist/server/handlers/observability.d.ts.map +1 -1
  171. package/dist/server/handlers/observability.js +7 -4
  172. package/dist/server/handlers/observability.js.map +1 -1
  173. package/dist/server/handlers/plans.cjs +3 -3
  174. package/dist/server/handlers/plans.js +2 -2
  175. package/dist/server/handlers/processor-providers.cjs +2 -1
  176. package/dist/server/handlers/processor-providers.cjs.map +1 -1
  177. package/dist/server/handlers/processors.cjs +2 -1
  178. package/dist/server/handlers/processors.cjs.map +1 -1
  179. package/dist/server/handlers/prompt-block-versions.cjs +3 -2
  180. package/dist/server/handlers/prompt-block-versions.cjs.map +1 -1
  181. package/dist/server/handlers/prompt-block-versions.js +1 -1
  182. package/dist/server/handlers/responses.adapter.cjs +1 -0
  183. package/dist/server/handlers/responses.adapter.cjs.map +1 -1
  184. package/dist/server/handlers/responses.cjs +4 -4
  185. package/dist/server/handlers/responses.js +2 -2
  186. package/dist/server/handlers/responses.storage.cjs +2 -1
  187. package/dist/server/handlers/responses.storage.cjs.map +1 -1
  188. package/dist/server/handlers/responses.storage.js +1 -1
  189. package/dist/server/handlers/schedules-workflows-shim.cjs +1 -1
  190. package/dist/server/handlers/schedules.cjs +2 -1
  191. package/dist/server/handlers/scorer-versions.cjs +4 -3
  192. package/dist/server/handlers/scorer-versions.cjs.map +1 -1
  193. package/dist/server/handlers/scorer-versions.js +2 -2
  194. package/dist/server/handlers/scores.cjs +2 -2
  195. package/dist/server/handlers/scores.js +1 -1
  196. package/dist/server/handlers/skills-sh-shared.cjs +1 -0
  197. package/dist/server/handlers/skills-sh-shared.cjs.map +1 -1
  198. package/dist/server/handlers/stored-agent-favorites.cjs +5 -4
  199. package/dist/server/handlers/stored-agent-favorites.cjs.map +1 -1
  200. package/dist/server/handlers/stored-agent-favorites.js +2 -2
  201. package/dist/server/handlers/stored-agents.cjs +7 -5
  202. package/dist/server/handlers/stored-agents.cjs.map +1 -1
  203. package/dist/server/handlers/stored-agents.d.ts +32 -0
  204. package/dist/server/handlers/stored-agents.d.ts.map +1 -1
  205. package/dist/server/handlers/stored-agents.js +4 -3
  206. package/dist/server/handlers/stored-agents.js.map +1 -1
  207. package/dist/server/handlers/stored-mcp-clients.cjs +3 -2
  208. package/dist/server/handlers/stored-mcp-clients.cjs.map +1 -1
  209. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  210. package/dist/server/handlers/stored-prompt-blocks.cjs +3 -2
  211. package/dist/server/handlers/stored-prompt-blocks.cjs.map +1 -1
  212. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  213. package/dist/server/handlers/stored-scorers.cjs +4 -3
  214. package/dist/server/handlers/stored-scorers.cjs.map +1 -1
  215. package/dist/server/handlers/stored-scorers.js +2 -2
  216. package/dist/server/handlers/stored-skill-favorites.cjs +4 -3
  217. package/dist/server/handlers/stored-skill-favorites.cjs.map +1 -1
  218. package/dist/server/handlers/stored-skill-favorites.js +1 -1
  219. package/dist/server/handlers/stored-skills.cjs +4 -3
  220. package/dist/server/handlers/stored-skills.cjs.map +1 -1
  221. package/dist/server/handlers/stored-skills.js +1 -1
  222. package/dist/server/handlers/stored-workspaces.cjs +3 -2
  223. package/dist/server/handlers/stored-workspaces.cjs.map +1 -1
  224. package/dist/server/handlers/stored-workspaces.js +1 -1
  225. package/dist/server/handlers/system.cjs +3 -2
  226. package/dist/server/handlers/system.cjs.map +1 -1
  227. package/dist/server/handlers/system.js +1 -1
  228. package/dist/server/handlers/test-utils.cjs +1 -0
  229. package/dist/server/handlers/test-utils.cjs.map +1 -1
  230. package/dist/server/handlers/tool-providers.cjs +3 -2
  231. package/dist/server/handlers/tool-providers.cjs.map +1 -1
  232. package/dist/server/handlers/tool-providers.js +1 -1
  233. package/dist/server/handlers/tool-schema-overrides.cjs +1 -0
  234. package/dist/server/handlers/tool-schema-overrides.cjs.map +1 -1
  235. package/dist/server/handlers/tools.cjs +6 -6
  236. package/dist/server/handlers/tools.js +3 -3
  237. package/dist/server/handlers/utils.cjs +2 -1
  238. package/dist/server/handlers/utils.js +1 -1
  239. package/dist/server/handlers/validate-agent-instructions.cjs +2 -1
  240. package/dist/server/handlers/validate-agent-instructions.cjs.map +1 -1
  241. package/dist/server/handlers/validate-agent-instructions.js +1 -1
  242. package/dist/server/handlers/validate-avatar.cjs +1 -0
  243. package/dist/server/handlers/validate-avatar.cjs.map +1 -1
  244. package/dist/server/handlers/vector.cjs +2 -2
  245. package/dist/server/handlers/vector.js +1 -1
  246. package/dist/server/handlers/version-helpers.cjs +1 -0
  247. package/dist/server/handlers/version-helpers.cjs.map +1 -1
  248. package/dist/server/handlers/voice.cjs +1 -1
  249. package/dist/server/handlers/voice.js +1 -1
  250. package/dist/server/handlers/workflows.cjs +4 -4
  251. package/dist/server/handlers/workflows.js +3 -3
  252. package/dist/server/handlers/workspace.cjs +2 -2
  253. package/dist/server/handlers/workspace.js +1 -1
  254. package/dist/server/handlers.cjs +3 -2
  255. package/dist/server/handlers.js +2 -2
  256. package/dist/server/schemas/datasets.d.ts +3 -3
  257. package/dist/server/schemas/index.cjs +7 -6
  258. package/dist/server/schemas/index.js +4 -4
  259. package/dist/server/schemas/stored-agents.d.ts +40 -7
  260. package/dist/server/schemas/stored-agents.d.ts.map +1 -1
  261. package/dist/server/server-adapter/index.cjs +6 -5
  262. package/dist/server/server-adapter/index.cjs.map +1 -1
  263. package/dist/server/server-adapter/index.js +4 -4
  264. package/dist/server/server-adapter/routes/datasets.d.ts +6 -6
  265. package/dist/{stored-agents-CPxfYRH9.cjs → stored-agents-D6JEb3zN.cjs} +15 -3
  266. package/dist/stored-agents-D6JEb3zN.cjs.map +1 -0
  267. package/dist/{stored-agents-BRBZM-Xl.js → stored-agents-DMW5wrF7.js} +15 -3
  268. package/dist/stored-agents-DMW5wrF7.js.map +1 -0
  269. package/dist/{stored-scorers-B__LF0Cy.js → stored-scorers-BA4suzgn.js} +2 -2
  270. package/dist/{stored-scorers-B__LF0Cy.js.map → stored-scorers-BA4suzgn.js.map} +1 -1
  271. package/dist/{stored-scorers-Cml7jPJv.cjs → stored-scorers-D8IwVM0S.cjs} +2 -2
  272. package/dist/{stored-scorers-Cml7jPJv.cjs.map → stored-scorers-D8IwVM0S.cjs.map} +1 -1
  273. package/dist/{sync-djJ8Lmds.js → sync-BG15Yae1.js} +22 -22
  274. package/dist/{sync-djJ8Lmds.js.map → sync-BG15Yae1.js.map} +1 -1
  275. package/dist/{sync-BHatXKfg.cjs → sync-C4LbbSKR.cjs} +22 -22
  276. package/dist/{sync-BHatXKfg.cjs.map → sync-C4LbbSKR.cjs.map} +1 -1
  277. package/dist/{utils-CljhO7OY.js → utils-B2vd77Fi.js} +2 -2
  278. package/dist/{utils-CljhO7OY.js.map → utils-B2vd77Fi.js.map} +1 -1
  279. package/dist/{utils-BkPZAGxS.cjs → utils-CmYnjLcY.cjs} +4 -4
  280. package/dist/{utils-BkPZAGxS.cjs.map → utils-CmYnjLcY.cjs.map} +1 -1
  281. package/dist/{utils-CXbhpYYv.cjs → utils-DJMUhfvY.cjs} +3 -3
  282. package/dist/{utils-CXbhpYYv.cjs.map → utils-DJMUhfvY.cjs.map} +1 -1
  283. package/dist/{utils-qMLbyf2U.js → utils-Hz8Hc2cd.js} +2 -2
  284. package/dist/{utils-qMLbyf2U.js.map → utils-Hz8Hc2cd.js.map} +1 -1
  285. package/package.json +8 -8
  286. package/dist/constants-CXPpy-Ef.cjs.map +0 -1
  287. package/dist/constants-CutMu4A_.js.map +0 -1
  288. package/dist/dist-CpaK1qK1.cjs.map +0 -1
  289. package/dist/dist-CpxQhZED.js.map +0 -1
  290. package/dist/probe-image-size-C2F59z8Z.cjs.map +0 -1
  291. package/dist/probe-image-size-mXCWYNrz.js.map +0 -1
  292. package/dist/schema-DkBbires.cjs +0 -1
  293. package/dist/stored-agents-BRBZM-Xl.js.map +0 -1
  294. package/dist/stored-agents-CPxfYRH9.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sync-djJ8Lmds.js","names":[],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ms/2.0.0/a65cc302695e9dde36bdbab59e67a07f313b77a4e7b89957a7bf17f930a58070/node_modules/ms/index.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/2.6.9/a0bc530475b72fd78792b0d9ccdc7efe90f67f200072e755bfec415a9ada02ef/node_modules/debug/src/debug.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/2.6.9/a0bc530475b72fd78792b0d9ccdc7efe90f67f200072e755bfec415a9ada02ef/node_modules/debug/src/browser.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/2.6.9/a0bc530475b72fd78792b0d9ccdc7efe90f67f200072e755bfec415a9ada02ef/node_modules/debug/src/node.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/2.6.9/a0bc530475b72fd78792b0d9ccdc7efe90f67f200072e755bfec415a9ada02ef/node_modules/debug/src/index.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/stream-parser/0.3.1/a6d45478f59e8dc0800438d0b3b9ec2db024d1b317d6f81acec51f864078d5ad/node_modules/stream-parser/index.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/lib/common.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/lib/miaf_utils.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/lib/exif_utils.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/lib/parse_sync/avif.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/lib/parse_sync/bmp.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/lib/parse_sync/gif.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/lib/parse_sync/ico.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/lib/parse_sync/jpeg.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/lib/parse_sync/png.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/lib/parse_sync/psd.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/lib/parse_sync/svg.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/lib/parse_sync/tiff.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/lib/parse_sync/webp.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/lib/parsers_sync.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/709fce7441af0bd4eca9e0986826eb4285dfd57d75e823eb9ecd5dec0565501f/node_modules/probe-image-size/sync.js"],"sourcesContent":["/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Previous log timestamp.\n */\n\nvar prevTime;\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n return debug;\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (var i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n 'lightseagreen',\n 'forestgreen',\n 'goldenrod',\n 'dodgerblue',\n 'darkorchid',\n 'crimson'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n","/**\n * Module dependencies.\n */\n\nvar tty = require('tty');\nvar util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(function (key) {\n return /^debug_/i.test(key);\n}).reduce(function (obj, key) {\n // camel-case\n var prop = key\n .substring(6)\n .toLowerCase()\n .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() });\n\n // coerce string value into JS value\n var val = process.env[key];\n if (/^(yes|on|true|enabled)$/i.test(val)) val = true;\n else if (/^(no|off|false|disabled)$/i.test(val)) val = false;\n else if (val === 'null') val = null;\n else val = Number(val);\n\n obj[prop] = val;\n return obj;\n}, {});\n\n/**\n * The file descriptor to write the `debug()` calls to.\n * Set the `DEBUG_FD` env variable to override with another value. i.e.:\n *\n * $ DEBUG_FD=3 node script.js 3>debug.log\n */\n\nvar fd = parseInt(process.env.DEBUG_FD, 10) || 2;\n\nif (1 !== fd && 2 !== fd) {\n util.deprecate(function(){}, 'except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)')()\n}\n\nvar stream = 1 === fd ? process.stdout :\n 2 === fd ? process.stderr :\n createWritableStdioStream(fd);\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n return 'colors' in exports.inspectOpts\n ? Boolean(exports.inspectOpts.colors)\n : tty.isatty(fd);\n}\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nexports.formatters.o = function(v) {\n this.inspectOpts.colors = this.useColors;\n return util.inspect(v, this.inspectOpts)\n .split('\\n').map(function(str) {\n return str.trim()\n }).join(' ');\n};\n\n/**\n * Map %o to `util.inspect()`, allowing multiple lines if needed.\n */\n\nexports.formatters.O = function(v) {\n this.inspectOpts.colors = this.useColors;\n return util.inspect(v, this.inspectOpts);\n};\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var name = this.namespace;\n var useColors = this.useColors;\n\n if (useColors) {\n var c = this.color;\n var prefix = ' \\u001b[3' + c + ';1m' + name + ' ' + '\\u001b[0m';\n\n args[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n args.push('\\u001b[3' + c + 'm+' + exports.humanize(this.diff) + '\\u001b[0m');\n } else {\n args[0] = new Date().toUTCString()\n + ' ' + name + ' ' + args[0];\n }\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to `stream`.\n */\n\nfunction log() {\n return stream.write(util.format.apply(util, arguments) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n if (null == namespaces) {\n // If you set a process.env field to null or undefined, it gets cast to the\n // string 'null' or 'undefined'. Just delete instead.\n delete process.env.DEBUG;\n } else {\n process.env.DEBUG = namespaces;\n }\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n return process.env.DEBUG;\n}\n\n/**\n * Copied from `node/src/node.js`.\n *\n * XXX: It's lame that node doesn't expose this API out-of-the-box. It also\n * relies on the undocumented `tty_wrap.guessHandleType()` which is also lame.\n */\n\nfunction createWritableStdioStream (fd) {\n var stream;\n var tty_wrap = process.binding('tty_wrap');\n\n // Note stream._type is used for test-module-load-list.js\n\n switch (tty_wrap.guessHandleType(fd)) {\n case 'TTY':\n stream = new tty.WriteStream(fd);\n stream._type = 'tty';\n\n // Hack to have stream not keep the event loop alive.\n // See https://github.com/joyent/node/issues/1726\n if (stream._handle && stream._handle.unref) {\n stream._handle.unref();\n }\n break;\n\n case 'FILE':\n var fs = require('fs');\n stream = new fs.SyncWriteStream(fd, { autoClose: false });\n stream._type = 'fs';\n break;\n\n case 'PIPE':\n case 'TCP':\n var net = require('net');\n stream = new net.Socket({\n fd: fd,\n readable: false,\n writable: true\n });\n\n // FIXME Should probably have an option in net.Socket to create a\n // stream from an existing fd which is writable only. But for now\n // we'll just add this hack and set the `readable` member to false.\n // Test: ./node test/fixtures/echo.js < /etc/passwd\n stream.readable = false;\n stream.read = null;\n stream._type = 'pipe';\n\n // FIXME Hack to have stream not keep the event loop alive.\n // See https://github.com/joyent/node/issues/1726\n if (stream._handle && stream._handle.unref) {\n stream._handle.unref();\n }\n break;\n\n default:\n // Probably an error on in uv_guess_handle()\n throw new Error('Implement me. Unknown stream file type!');\n }\n\n // For supporting legacy API we put the FD here.\n stream.fd = fd;\n\n stream._isStdio = true;\n\n return stream;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init (debug) {\n debug.inspectOpts = {};\n\n var keys = Object.keys(exports.inspectOpts);\n for (var i = 0; i < keys.length; i++) {\n debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n }\n}\n\n/**\n * Enable namespaces listed in `process.env.DEBUG` initially.\n */\n\nexports.enable(load());\n","/**\n * Detect Electron renderer process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process !== 'undefined' && process.type === 'renderer') {\n module.exports = require('./browser.js');\n} else {\n module.exports = require('./node.js');\n}\n","\n/**\n * Module dependencies.\n */\n\nvar assert = require('assert');\nvar debug = require('debug')('stream-parser');\n\n/**\n * Module exports.\n */\n\nmodule.exports = Parser;\n\n/**\n * Parser states.\n */\n\nvar INIT = -1;\nvar BUFFERING = 0;\nvar SKIPPING = 1;\nvar PASSTHROUGH = 2;\n\n/**\n * The `Parser` stream mixin works with either `Writable` or `Transform` stream\n * instances/subclasses. Provides a convenient generic \"parsing\" API:\n *\n * _bytes(n, cb) - buffers \"n\" bytes and then calls \"cb\" with the \"chunk\"\n * _skipBytes(n, cb) - skips \"n\" bytes and then calls \"cb\" when done\n *\n * If you extend a `Transform` stream, then the `_passthrough()` function is also\n * added:\n *\n * _passthrough(n, cb) - passes through \"n\" bytes untouched and then calls \"cb\"\n *\n * @param {Stream} stream Transform or Writable stream instance to extend\n * @api public\n */\n\nfunction Parser (stream) {\n var isTransform = stream && 'function' == typeof stream._transform;\n var isWritable = stream && 'function' == typeof stream._write;\n\n if (!isTransform && !isWritable) throw new Error('must pass a Writable or Transform stream in');\n debug('extending Parser into stream');\n\n // Transform streams and Writable streams get `_bytes()` and `_skipBytes()`\n stream._bytes = _bytes;\n stream._skipBytes = _skipBytes;\n\n // only Transform streams get the `_passthrough()` function\n if (isTransform) stream._passthrough = _passthrough;\n\n // take control of the streams2 callback functions for this stream\n if (isTransform) {\n stream._transform = transform;\n } else {\n stream._write = write;\n }\n}\n\nfunction init (stream) {\n debug('initializing parser stream');\n\n // number of bytes left to parser for the next \"chunk\"\n stream._parserBytesLeft = 0;\n\n // array of Buffer instances that make up the next \"chunk\"\n stream._parserBuffers = [];\n\n // number of bytes parsed so far for the next \"chunk\"\n stream._parserBuffered = 0;\n\n // flag that keeps track of if what the parser should do with bytes received\n stream._parserState = INIT;\n\n // the callback for the next \"chunk\"\n stream._parserCallback = null;\n\n // XXX: backwards compat with the old Transform API... remove at some point..\n if ('function' == typeof stream.push) {\n stream._parserOutput = stream.push.bind(stream);\n }\n\n stream._parserInit = true;\n}\n\n/**\n * Buffers `n` bytes and then invokes `fn` once that amount has been collected.\n *\n * @param {Number} n the number of bytes to buffer\n * @param {Function} fn callback function to invoke when `n` bytes are buffered\n * @api public\n */\n\nfunction _bytes (n, fn) {\n assert(!this._parserCallback, 'there is already a \"callback\" set!');\n assert(isFinite(n) && n > 0, 'can only buffer a finite number of bytes > 0, got \"' + n + '\"');\n if (!this._parserInit) init(this);\n debug('buffering %o bytes', n);\n this._parserBytesLeft = n;\n this._parserCallback = fn;\n this._parserState = BUFFERING;\n}\n\n/**\n * Skips over the next `n` bytes, then invokes `fn` once that amount has\n * been discarded.\n *\n * @param {Number} n the number of bytes to discard\n * @param {Function} fn callback function to invoke when `n` bytes have been skipped\n * @api public\n */\n\nfunction _skipBytes (n, fn) {\n assert(!this._parserCallback, 'there is already a \"callback\" set!');\n assert(n > 0, 'can only skip > 0 bytes, got \"' + n + '\"');\n if (!this._parserInit) init(this);\n debug('skipping %o bytes', n);\n this._parserBytesLeft = n;\n this._parserCallback = fn;\n this._parserState = SKIPPING;\n}\n\n/**\n * Passes through `n` bytes to the readable side of this stream untouched,\n * then invokes `fn` once that amount has been passed through.\n *\n * @param {Number} n the number of bytes to pass through\n * @param {Function} fn callback function to invoke when `n` bytes have passed through\n * @api public\n */\n\nfunction _passthrough (n, fn) {\n assert(!this._parserCallback, 'There is already a \"callback\" set!');\n assert(n > 0, 'can only pass through > 0 bytes, got \"' + n + '\"');\n if (!this._parserInit) init(this);\n debug('passing through %o bytes', n);\n this._parserBytesLeft = n;\n this._parserCallback = fn;\n this._parserState = PASSTHROUGH;\n}\n\n/**\n * The `_write()` callback function implementation.\n *\n * @api private\n */\n\nfunction write (chunk, encoding, fn) {\n if (!this._parserInit) init(this);\n debug('write(%o bytes)', chunk.length);\n\n // XXX: old Writable stream API compat... remove at some point...\n if ('function' == typeof encoding) fn = encoding;\n\n data(this, chunk, null, fn);\n}\n\n/**\n * The `_transform()` callback function implementation.\n *\n * @api private\n */\n\n\nfunction transform (chunk, output, fn) {\n if (!this._parserInit) init(this);\n debug('transform(%o bytes)', chunk.length);\n\n // XXX: old Transform stream API compat... remove at some point...\n if ('function' != typeof output) {\n output = this._parserOutput;\n }\n\n data(this, chunk, output, fn);\n}\n\n/**\n * The internal buffering/passthrough logic...\n *\n * This `_data` function get's \"trampolined\" to prevent stack overflows for tight\n * loops. This technique requires us to return a \"thunk\" function for any\n * synchronous action. Async stuff breaks the trampoline, but that's ok since it's\n * working with a new stack at that point anyway.\n *\n * @api private\n */\n\nfunction _data (stream, chunk, output, fn) {\n if (stream._parserBytesLeft <= 0) {\n return fn(new Error('got data but not currently parsing anything'));\n }\n\n if (chunk.length <= stream._parserBytesLeft) {\n // small buffer fits within the \"_parserBytesLeft\" window\n return function () {\n return process(stream, chunk, output, fn);\n };\n } else {\n // large buffer needs to be sliced on \"_parserBytesLeft\" and processed\n return function () {\n var b = chunk.slice(0, stream._parserBytesLeft);\n return process(stream, b, output, function (err) {\n if (err) return fn(err);\n if (chunk.length > b.length) {\n return function () {\n return _data(stream, chunk.slice(b.length), output, fn);\n };\n }\n });\n };\n }\n}\n\n/**\n * The internal `process` function gets called by the `data` function when\n * something \"interesting\" happens. This function takes care of buffering the\n * bytes when buffering, passing through the bytes when doing that, and invoking\n * the user callback when the number of bytes has been reached.\n *\n * @api private\n */\n\nfunction process (stream, chunk, output, fn) {\n stream._parserBytesLeft -= chunk.length;\n debug('%o bytes left for stream piece', stream._parserBytesLeft);\n\n if (stream._parserState === BUFFERING) {\n // buffer\n stream._parserBuffers.push(chunk);\n stream._parserBuffered += chunk.length;\n } else if (stream._parserState === PASSTHROUGH) {\n // passthrough\n output(chunk);\n }\n // don't need to do anything for the SKIPPING case\n\n if (0 === stream._parserBytesLeft) {\n // done with stream \"piece\", invoke the callback\n var cb = stream._parserCallback;\n if (cb && stream._parserState === BUFFERING && stream._parserBuffers.length > 1) {\n chunk = Buffer.concat(stream._parserBuffers, stream._parserBuffered);\n }\n if (stream._parserState !== BUFFERING) {\n chunk = null;\n }\n stream._parserCallback = null;\n stream._parserBuffered = 0;\n stream._parserState = INIT;\n stream._parserBuffers.splice(0); // empty\n\n if (cb) {\n var args = [];\n if (chunk) {\n // buffered\n args.push(chunk);\n } else {\n // passthrough\n }\n if (output) {\n // on a Transform stream, has \"output\" function\n args.push(output);\n }\n var async = cb.length > args.length;\n if (async) {\n args.push(trampoline(fn));\n }\n // invoke cb\n var rtn = cb.apply(stream, args);\n if (!async || fn === rtn) return fn;\n }\n } else {\n // need more bytes\n return fn;\n }\n}\n\nvar data = trampoline(_data);\n\n/**\n * Generic thunk-based \"trampoline\" helper function.\n *\n * @param {Function} input function\n * @return {Function} \"trampolined\" function\n * @api private\n */\n\nfunction trampoline (fn) {\n return function () {\n var result = fn.apply(this, arguments);\n\n while ('function' == typeof result) {\n result = result();\n }\n\n return result;\n };\n}\n","'use strict';\n\n\nvar Transform = require('stream').Transform;\nvar streamParser = require('stream-parser');\n\n\nfunction ParserStream() {\n Transform.call(this, { readableObjectMode: true });\n}\n\n// Inherit from Transform\nParserStream.prototype = Object.create(Transform.prototype);\nParserStream.prototype.constructor = ParserStream;\n\nstreamParser(ParserStream.prototype);\n\n\nexports.ParserStream = ParserStream;\n\n\nexports.sliceEq = function (src, start, dest) {\n for (var i = start, j = 0; j < dest.length;) {\n if (src[i++] !== dest[j++]) return false;\n }\n return true;\n};\n\nexports.str2arr = function (str, format) {\n var arr = [], i = 0;\n\n if (format && format === 'hex') {\n while (i < str.length) {\n arr.push(parseInt(str.slice(i, i + 2), 16));\n i += 2;\n }\n } else {\n for (; i < str.length; i++) {\n /* eslint-disable no-bitwise */\n arr.push(str.charCodeAt(i) & 0xFF);\n }\n }\n\n return arr;\n};\n\nexports.readUInt16LE = function (data, offset) {\n return data[offset] | (data[offset + 1] << 8);\n};\n\nexports.readUInt16BE = function (data, offset) {\n return data[offset + 1] | (data[offset] << 8);\n};\n\nexports.readUInt32LE = function (data, offset) {\n return data[offset] |\n (data[offset + 1] << 8) |\n (data[offset + 2] << 16) |\n (data[offset + 3] * 0x1000000);\n};\n\nexports.readUInt32BE = function (data, offset) {\n return data[offset + 3] |\n (data[offset + 2] << 8) |\n (data[offset + 1] << 16) |\n (data[offset] * 0x1000000);\n};\n\n\nfunction ProbeError(message, code, statusCode) {\n Error.call(this);\n\n // Include stack trace in error object\n if (Error.captureStackTrace) {\n // Chrome and NodeJS\n Error.captureStackTrace(this, this.constructor);\n } else {\n // FF, IE 10+ and Safari 6+. Fallback for others\n this.stack = (new Error()).stack || '';\n }\n\n this.name = this.constructor.name;\n\n this.message = message;\n if (code) this.code = code;\n if (statusCode) this.statusCode = statusCode;\n}\n\n// Inherit from Error\nProbeError.prototype = Object.create(Error.prototype);\nProbeError.prototype.constructor = ProbeError;\n\n\nexports.ProbeError = ProbeError;\n","// Utils used to parse miaf-based files (avif/heic/heif)\n//\n// ISO media file spec:\n// https://web.archive.org/web/20180219054429/http://l.web.umkc.edu/lizhu/teaching/2016sp.video-communication/ref/mp4.pdf\n//\n// ISO image file format spec:\n// https://standards.iso.org/ittf/PubliclyAvailableStandards/c066067_ISO_IEC_23008-12_2017.zip\n//\n\n'use strict';\n\n/* eslint-disable consistent-return */\n/* eslint-disable no-bitwise */\n\nvar readUInt16BE = require('./common').readUInt16BE;\nvar readUInt32BE = require('./common').readUInt32BE;\n\n/*\n * interface Box {\n * size: uint32; // if size == 0, box lasts until EOF\n * boxtype: char[4];\n * largesize?: uint64; // only if size == 1\n * usertype?: char[16]; // only if boxtype == 'uuid'\n * }\n */\nfunction unbox(data, offset) {\n if (data.length < 4 + offset) return null;\n\n var size = readUInt32BE(data, offset);\n\n // size includes first 4 bytes (length)\n if (data.length < size + offset || size < 8) return null;\n\n // if size === 1, real size is following uint64 (only for big boxes, not needed)\n // if size === 0, real size is until the end of the file (only for big boxes, not needed)\n\n return {\n boxtype: String.fromCharCode.apply(null, data.slice(offset + 4, offset + 8)),\n data: data.slice(offset + 8, offset + size),\n end: offset + size\n };\n}\n\n\nmodule.exports.unbox = unbox;\n\n\n// parses `meta` -> `iprp` -> `ipco` box, returns:\n// {\n// sizes: [ { width, height } ],\n// transforms: [ { type, value } ]\n// }\nfunction scan_ipco(data, sandbox) {\n var offset = 0;\n\n for (;;) {\n var box = unbox(data, offset);\n if (!box) break;\n\n switch (box.boxtype) {\n case 'ispe':\n sandbox.sizes.push({\n width: readUInt32BE(box.data, 4),\n height: readUInt32BE(box.data, 8)\n });\n break;\n\n case 'irot':\n sandbox.transforms.push({\n type: 'irot',\n value: box.data[0] & 3\n });\n break;\n\n case 'imir':\n sandbox.transforms.push({\n type: 'imir',\n value: box.data[0] & 1\n });\n break;\n }\n\n offset = box.end;\n }\n}\n\n\nfunction readUIntBE(data, offset, size) {\n var result = 0;\n\n for (var i = 0; i < size; i++) {\n result = result * 256 + (data[offset + i] || 0);\n }\n\n return result;\n}\n\n\n// parses `meta` -> `iloc` box\nfunction scan_iloc(data, sandbox) {\n var offset_size = (data[4] >> 4) & 0xF;\n var length_size = data[4] & 0xF;\n var base_offset_size = (data[5] >> 4) & 0xF;\n var item_count = readUInt16BE(data, 6);\n var offset = 8;\n\n for (var i = 0; i < item_count; i++) {\n var item_ID = readUInt16BE(data, offset);\n offset += 2;\n\n var data_reference_index = readUInt16BE(data, offset);\n offset += 2;\n\n var base_offset = readUIntBE(data, offset, base_offset_size);\n offset += base_offset_size;\n\n var extent_count = readUInt16BE(data, offset);\n offset += 2;\n\n if (data_reference_index === 0 && extent_count === 1) {\n var first_extent_offset = readUIntBE(data, offset, offset_size);\n var first_extent_length = readUIntBE(data, offset + offset_size, length_size);\n sandbox.item_loc[item_ID] = { length: first_extent_length, offset: first_extent_offset + base_offset };\n }\n\n offset += extent_count * (offset_size + length_size);\n }\n}\n\n\n// parses `meta` -> `iinf` box\nfunction scan_iinf(data, sandbox) {\n var item_count = readUInt16BE(data, 4);\n var offset = 6;\n\n for (var i = 0; i < item_count; i++) {\n var box = unbox(data, offset);\n if (!box) break;\n if (box.boxtype === 'infe') {\n var item_id = readUInt16BE(box.data, 4);\n var item_name = '';\n\n for (var pos = 8; pos < box.data.length && box.data[pos]; pos++) {\n item_name += String.fromCharCode(box.data[pos]);\n }\n\n sandbox.item_inf[item_name] = item_id;\n }\n offset = box.end;\n }\n}\n\n\n// parses `meta` -> `iprp` box\nfunction scan_iprp(data, sandbox) {\n var offset = 0;\n\n for (;;) {\n var box = unbox(data, offset);\n if (!box) break;\n if (box.boxtype === 'ipco') scan_ipco(box.data, sandbox);\n offset = box.end;\n }\n}\n\n\n// parses `meta` box\nfunction scan_meta(data, sandbox) {\n var offset = 4; // version + flags\n\n for (;;) {\n var box = unbox(data, offset);\n if (!box) break;\n if (box.boxtype === 'iprp') scan_iprp(box.data, sandbox);\n if (box.boxtype === 'iloc') scan_iloc(box.data, sandbox);\n if (box.boxtype === 'iinf') scan_iinf(box.data, sandbox);\n offset = box.end;\n }\n}\n\n\n// get image with largest single dimension as base\nfunction getMaxSize(sizes) {\n var maxWidthSize = sizes.reduce(function (a, b) {\n return a.width > b.width || (a.width === b.width && a.height > b.height) ? a : b;\n });\n\n var maxHeightSize = sizes.reduce(function (a, b) {\n return a.height > b.height || (a.height === b.height && a.width > b.width) ? a : b;\n });\n\n var maxSize;\n\n if (maxWidthSize.width > maxHeightSize.height ||\n (maxWidthSize.width === maxHeightSize.height && maxWidthSize.height > maxHeightSize.width)) {\n maxSize = maxWidthSize;\n } else {\n maxSize = maxHeightSize;\n }\n\n return maxSize;\n}\n\n\nmodule.exports.readSizeFromMeta = function (data) {\n var sandbox = {\n sizes: [],\n transforms: [],\n item_inf: {},\n item_loc: {}\n };\n\n scan_meta(data, sandbox);\n\n if (!sandbox.sizes.length) return;\n\n var maxSize = getMaxSize(sandbox.sizes);\n\n var orientation = 1;\n\n // convert imir/irot to exif orientation\n sandbox.transforms.forEach(function (transform) {\n var rotate_ccw = { 1: 6, 2: 5, 3: 8, 4: 7, 5: 4, 6: 3, 7: 2, 8: 1 };\n var mirror_vert = { 1: 4, 2: 3, 3: 2, 4: 1, 5: 6, 6: 5, 7: 8, 8: 7 };\n\n if (transform.type === 'imir') {\n if (transform.value === 0) {\n // vertical flip\n orientation = mirror_vert[orientation];\n } else {\n // horizontal flip = vertical flip + 180 deg rotation\n orientation = mirror_vert[orientation];\n orientation = rotate_ccw[orientation];\n orientation = rotate_ccw[orientation];\n }\n }\n\n if (transform.type === 'irot') {\n // counter-clockwise rotation 90 deg 0-3 times\n for (var i = 0; i < transform.value; i++) {\n orientation = rotate_ccw[orientation];\n }\n }\n });\n\n var exif_location = null;\n\n if (sandbox.item_inf.Exif) {\n exif_location = sandbox.item_loc[sandbox.item_inf.Exif];\n }\n\n return {\n width: maxSize.width,\n height: maxSize.height,\n orientation: sandbox.transforms.length ? orientation : null,\n variants: sandbox.sizes,\n exif_location: exif_location\n };\n};\n\n\nmodule.exports.getMimeType = function (data) {\n var brand = String.fromCharCode.apply(null, data.slice(0, 4));\n var compat = {};\n\n compat[brand] = true;\n\n for (var i = 8; i < data.length; i += 4) {\n compat[String.fromCharCode.apply(null, data.slice(i, i + 4))] = true;\n }\n\n // heic and avif are superset of miaf, so they should all list mif1 as compatible\n if (!compat.mif1 && !compat.msf1 && !compat.miaf) return;\n\n if (brand === 'avif' || brand === 'avis' || brand === 'avio') {\n // `.avifs` and `image/avif-sequence` are removed from spec, all files have single type\n return { type: 'avif', mime: 'image/avif' };\n }\n\n // https://nokiatech.github.io/heif/technical.html\n if (brand === 'heic' || brand === 'heix') {\n return { type: 'heic', mime: 'image/heic' };\n }\n\n if (brand === 'hevc' || brand === 'hevx') {\n return { type: 'heic', mime: 'image/heic-sequence' };\n }\n\n if (compat.avif || compat.avis) {\n return { type: 'avif', mime: 'image/avif' };\n }\n\n if (compat.heic || compat.heix || compat.hevc || compat.hevx || compat.heis) {\n if (compat.msf1) {\n return { type: 'heif', mime: 'image/heif-sequence' };\n }\n return { type: 'heif', mime: 'image/heif' };\n }\n\n return { type: 'avif', mime: 'image/avif' };\n};\n","\n/* eslint-disable no-bitwise */\n/* eslint-disable consistent-return */\n\n'use strict';\n\n//////////////////////////////////////////////////////////////////////////\n// Helpers\n//\nfunction error(message, code) {\n var err = new Error(message);\n err.code = code;\n return err;\n}\n\n\nfunction utf8_decode(str) {\n try {\n return decodeURIComponent(escape(str));\n } catch (_) {\n return str;\n }\n}\n\n\n//////////////////////////////////////////////////////////////////////////\n// Exif parser\n//\n// Input:\n// - jpeg_bin: Uint8Array - jpeg file\n// - exif_start: Number - start of TIFF header (after Exif\\0\\0)\n// - exif_end: Number - end of Exif segment\n// - on_entry: Number - callback\n//\nfunction ExifParser(jpeg_bin, exif_start, exif_end) {\n // Uint8Array, exif without signature (which isn't included in offsets)\n this.input = jpeg_bin.subarray(exif_start, exif_end);\n\n // offset correction for `on_entry` callback\n this.start = exif_start;\n\n // Check TIFF header (includes byte alignment and first IFD offset)\n var sig = String.fromCharCode.apply(null, this.input.subarray(0, 4));\n\n if (sig !== 'II\\x2A\\0' && sig !== 'MM\\0\\x2A') {\n throw error('invalid TIFF signature', 'EBADDATA');\n }\n\n // true if motorola (big endian) byte alignment, false if intel\n this.big_endian = sig[0] === 'M';\n}\n\n\nExifParser.prototype.each = function (on_entry) {\n // allow premature exit\n this.aborted = false;\n\n var offset = this.read_uint32(4);\n\n this.ifds_to_read = [ {\n id: 0,\n offset: offset\n } ];\n\n while (this.ifds_to_read.length > 0 && !this.aborted) {\n var i = this.ifds_to_read.shift();\n if (!i.offset) continue;\n this.scan_ifd(i.id, i.offset, on_entry);\n }\n};\n\n\nExifParser.prototype.read_uint16 = function (offset) {\n var d = this.input;\n if (offset + 2 > d.length) throw error('unexpected EOF', 'EBADDATA');\n\n return this.big_endian ?\n d[offset] * 0x100 + d[offset + 1] :\n d[offset] + d[offset + 1] * 0x100;\n};\n\n\nExifParser.prototype.read_uint32 = function (offset) {\n var d = this.input;\n if (offset + 4 > d.length) throw error('unexpected EOF', 'EBADDATA');\n\n return this.big_endian ?\n d[offset] * 0x1000000 + d[offset + 1] * 0x10000 + d[offset + 2] * 0x100 + d[offset + 3] :\n d[offset] + d[offset + 1] * 0x100 + d[offset + 2] * 0x10000 + d[offset + 3] * 0x1000000;\n};\n\n\nExifParser.prototype.is_subifd_link = function (ifd, tag) {\n return (ifd === 0 && tag === 0x8769) || // SubIFD\n (ifd === 0 && tag === 0x8825) || // GPS Info\n (ifd === 0x8769 && tag === 0xA005); // Interop IFD\n};\n\n\n// Returns byte length of a single component of a given format\n//\nExifParser.prototype.exif_format_length = function (format) {\n switch (format) {\n case 1: // byte\n case 2: // ascii\n case 6: // sbyte\n case 7: // undefined\n return 1;\n\n case 3: // short\n case 8: // sshort\n return 2;\n\n case 4: // long\n case 9: // slong\n case 11: // float\n return 4;\n\n case 5: // rational\n case 10: // srational\n case 12: // double\n return 8;\n\n default:\n // unknown type\n return 0;\n }\n};\n\n\n// Reads Exif data\n//\nExifParser.prototype.exif_format_read = function (format, offset) {\n var v;\n\n switch (format) {\n case 1: // byte\n case 2: // ascii\n v = this.input[offset];\n return v;\n\n case 6: // sbyte\n v = this.input[offset];\n return v | (v & 0x80) * 0x1fffffe;\n\n case 3: // short\n v = this.read_uint16(offset);\n return v;\n\n case 8: // sshort\n v = this.read_uint16(offset);\n return v | (v & 0x8000) * 0x1fffe;\n\n case 4: // long\n v = this.read_uint32(offset);\n return v;\n\n case 9: // slong\n v = this.read_uint32(offset);\n return v | 0;\n\n case 5: // rational\n case 10: // srational\n case 11: // float\n case 12: // double\n return null; // not implemented\n\n case 7: // undefined\n return null; // blob\n\n default:\n // unknown type\n return null;\n }\n};\n\n\nExifParser.prototype.scan_ifd = function (ifd_no, offset, on_entry) {\n var entry_count = this.read_uint16(offset);\n\n offset += 2;\n\n for (var i = 0; i < entry_count; i++) {\n var tag = this.read_uint16(offset);\n var format = this.read_uint16(offset + 2);\n var count = this.read_uint32(offset + 4);\n\n var comp_length = this.exif_format_length(format);\n var data_length = count * comp_length;\n var data_offset = data_length <= 4 ? offset + 8 : this.read_uint32(offset + 8);\n var is_subifd_link = false;\n\n if (data_offset + data_length > this.input.length) {\n throw error('unexpected EOF', 'EBADDATA');\n }\n\n var value = [];\n var comp_offset = data_offset;\n\n for (var j = 0; j < count; j++, comp_offset += comp_length) {\n var item = this.exif_format_read(format, comp_offset);\n if (item === null) {\n value = null;\n break;\n }\n value.push(item);\n }\n\n if (Array.isArray(value) && format === 2) {\n value = utf8_decode(String.fromCharCode.apply(null, value));\n if (value && value[value.length - 1] === '\\0') value = value.slice(0, -1);\n }\n\n if (this.is_subifd_link(ifd_no, tag)) {\n if (Array.isArray(value) && Number.isInteger(value[0]) && value[0] > 0) {\n this.ifds_to_read.push({\n id: tag,\n offset: value[0]\n });\n is_subifd_link = true;\n }\n }\n\n var entry = {\n is_big_endian: this.big_endian,\n ifd: ifd_no,\n tag: tag,\n format: format,\n count: count,\n entry_offset: offset + this.start,\n data_length: data_length,\n data_offset: data_offset + this.start,\n value: value,\n is_subifd_link: is_subifd_link\n };\n\n if (on_entry(entry) === false) {\n this.aborted = true;\n return;\n }\n\n offset += 12;\n }\n\n if (ifd_no === 0) {\n this.ifds_to_read.push({\n id: 1,\n offset: this.read_uint32(offset)\n });\n }\n};\n\n\nmodule.exports.ExifParser = ExifParser;\n\n// returns orientation stored in Exif (1-8), 0 if none was found, -1 if error\nmodule.exports.get_orientation = function (data) {\n var orientation = 0;\n try {\n new ExifParser(data, 0, data.length).each(function (entry) {\n if (entry.ifd === 0 && entry.tag === 0x112 && Array.isArray(entry.value)) {\n orientation = entry.value[0];\n return false;\n }\n });\n return orientation;\n } catch (err) {\n return -1;\n }\n};\n","// Utils used to parse miaf-based files (avif/heic/heif)\n//\n// - image collections are not supported (only last size is reported)\n// - images with metadata encoded after image data are not supported\n// - images without any `ispe` box are not supported\n//\n\n/* eslint-disable consistent-return */\n\n'use strict';\n\n\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar readUInt32BE = require('../common').readUInt32BE;\nvar miaf = require('../miaf_utils');\nvar exif = require('../exif_utils');\n\nvar SIG_FTYP = str2arr('ftyp');\n\n\nmodule.exports = function (data) {\n // ISO media file (avif format) starts with ftyp box:\n // 0000 0020 6674 7970 6176 6966\n // (length) f t y p a v i f\n //\n if (!sliceEq(data, 4, SIG_FTYP)) return;\n\n var firstBox = miaf.unbox(data, 0);\n if (!firstBox) return;\n\n var fileType = miaf.getMimeType(firstBox.data);\n if (!fileType) return;\n\n var meta, offset = firstBox.end;\n\n for (;;) {\n var box = miaf.unbox(data, offset);\n if (!box) break;\n offset = box.end;\n\n // mdat block SHOULD be last (but not strictly required),\n // so it's unlikely that metadata is after it\n if (box.boxtype === 'mdat') return;\n if (box.boxtype === 'meta') {\n meta = box.data;\n break;\n }\n }\n\n if (!meta) return;\n\n var imgSize = miaf.readSizeFromMeta(meta);\n\n if (!imgSize) return;\n\n var result = {\n width: imgSize.width,\n height: imgSize.height,\n type: fileType.type,\n mime: fileType.mime,\n wUnits: 'px',\n hUnits: 'px'\n };\n\n if (imgSize.variants.length > 1) {\n result.variants = imgSize.variants;\n }\n\n if (imgSize.orientation) {\n result.orientation = imgSize.orientation;\n }\n\n if (imgSize.exif_location &&\n imgSize.exif_location.offset + imgSize.exif_location.length <= data.length) {\n\n var sig_offset = readUInt32BE(data, imgSize.exif_location.offset);\n var exif_data = data.slice(\n imgSize.exif_location.offset + sig_offset + 4,\n imgSize.exif_location.offset + imgSize.exif_location.length);\n\n var orientation = exif.get_orientation(exif_data);\n\n if (orientation > 0) result.orientation = orientation;\n }\n\n return result;\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar readUInt16LE = require('../common').readUInt16LE;\n\nvar SIG_BM = str2arr('BM');\n\n\nmodule.exports = function (data) {\n if (data.length < 26) return;\n\n if (!sliceEq(data, 0, SIG_BM)) return;\n\n return {\n width: readUInt16LE(data, 18),\n height: readUInt16LE(data, 22),\n type: 'bmp',\n mime: 'image/bmp',\n wUnits: 'px',\n hUnits: 'px'\n };\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar readUInt16LE = require('../common').readUInt16LE;\n\n\nvar SIG_GIF87a = str2arr('GIF87a');\nvar SIG_GIF89a = str2arr('GIF89a');\n\n\nmodule.exports = function (data) {\n if (data.length < 10) return;\n\n if (!sliceEq(data, 0, SIG_GIF87a) && !sliceEq(data, 0, SIG_GIF89a)) return;\n\n return {\n width: readUInt16LE(data, 6),\n height: readUInt16LE(data, 8),\n type: 'gif',\n mime: 'image/gif',\n wUnits: 'px',\n hUnits: 'px'\n };\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nvar readUInt16LE = require('../common').readUInt16LE;\n\nvar HEADER = 0;\nvar TYPE_ICO = 1;\nvar INDEX_SIZE = 16;\n\n// Format specification:\n// https://en.wikipedia.org/wiki/ICO_(file_format)#Icon_resource_structure\nmodule.exports = function (data) {\n var header = readUInt16LE(data, 0);\n var type = readUInt16LE(data, 2);\n var numImages = readUInt16LE(data, 4);\n\n if (header !== HEADER || type !== TYPE_ICO || !numImages) {\n return;\n }\n\n var variants = [];\n var maxSize = { width: 0, height: 0 };\n\n for (var i = 0; i < numImages; i++) {\n var width = data[6 + INDEX_SIZE * i] || 256;\n var height = data[6 + INDEX_SIZE * i + 1] || 256;\n var size = { width: width, height: height };\n variants.push(size);\n\n if (width > maxSize.width || height > maxSize.height) {\n maxSize = size;\n }\n }\n\n return {\n width: maxSize.width,\n height: maxSize.height,\n variants: variants,\n type: 'ico',\n mime: 'image/x-icon',\n wUnits: 'px',\n hUnits: 'px'\n };\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nvar readUInt16BE = require('../common').readUInt16BE;\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar exif = require('../exif_utils');\n\n\nvar SIG_EXIF = str2arr('Exif\\0\\0');\n\n\nmodule.exports = function (data) {\n if (data.length < 2) return;\n\n // first marker of the file MUST be 0xFFD8,\n // following by either 0xFFE0, 0xFFE2 or 0xFFE3\n if (data[0] !== 0xFF || data[1] !== 0xD8 || data[2] !== 0xFF) return;\n\n var offset = 2;\n\n for (;;) {\n // skip until we see 0xFF, see https://github.com/nodeca/probe-image-size/issues/68\n for (;;) {\n if (data.length - offset < 2) return;\n if (data[offset++] === 0xFF) break;\n }\n\n var code = data[offset++];\n var length;\n\n // skip padding bytes\n while (code === 0xFF) code = data[offset++];\n\n // standalone markers, according to JPEG 1992,\n // http://www.w3.org/Graphics/JPEG/itu-t81.pdf, see Table B.1\n if ((0xD0 <= code && code <= 0xD9) || code === 0x01) {\n length = 0;\n } else if (0xC0 <= code && code <= 0xFE) {\n // the rest of the unreserved markers\n if (data.length - offset < 2) return;\n\n length = readUInt16BE(data, offset) - 2;\n offset += 2;\n } else {\n // unknown markers\n return;\n }\n\n if (code === 0xD9 /* EOI */ || code === 0xDA /* SOS */) {\n // end of the datastream\n return;\n }\n\n var orientation;\n\n // try to get orientation from Exif segment\n if (code === 0xE1 && length >= 10 && sliceEq(data, offset, SIG_EXIF)) {\n orientation = exif.get_orientation(data.slice(offset + 6, offset + length));\n }\n\n if (length >= 5 &&\n (0xC0 <= code && code <= 0xCF) &&\n code !== 0xC4 && code !== 0xC8 && code !== 0xCC) {\n\n if (data.length - offset < length) return;\n\n var result = {\n width: readUInt16BE(data, offset + 3),\n height: readUInt16BE(data, offset + 1),\n type: 'jpg',\n mime: 'image/jpeg',\n wUnits: 'px',\n hUnits: 'px'\n };\n\n if (orientation > 0) {\n result.orientation = orientation;\n }\n\n return result;\n }\n\n offset += length;\n }\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar readUInt32BE = require('../common').readUInt32BE;\n\n\nvar SIG_PNG = str2arr('\\x89PNG\\r\\n\\x1a\\n');\nvar SIG_IHDR = str2arr('IHDR');\n\n\nmodule.exports = function (data) {\n if (data.length < 24) return;\n\n // check PNG signature\n if (!sliceEq(data, 0, SIG_PNG)) return;\n\n // check that first chunk is IHDR\n if (!sliceEq(data, 12, SIG_IHDR)) return;\n\n return {\n width: readUInt32BE(data, 16),\n height: readUInt32BE(data, 20),\n type: 'png',\n mime: 'image/png',\n wUnits: 'px',\n hUnits: 'px'\n };\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar readUInt32BE = require('../common').readUInt32BE;\n\n\nvar SIG_8BPS = str2arr('8BPS\\x00\\x01');\n\n\nmodule.exports = function (data) {\n if (data.length < 6 + 16) return;\n\n // signature + version\n if (!sliceEq(data, 0, SIG_8BPS)) return;\n\n return {\n width: readUInt32BE(data, 6 + 12),\n height: readUInt32BE(data, 6 + 8),\n type: 'psd',\n mime: 'image/vnd.adobe.photoshop',\n wUnits: 'px',\n hUnits: 'px'\n };\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nfunction isWhiteSpace(chr) {\n return chr === 0x20 || chr === 0x09 || chr === 0x0D || chr === 0x0A;\n}\n\n// Filter NaN, Infinity, < 0\nfunction isFinitePositive(val) {\n return typeof val === 'number' && isFinite(val) && val > 0;\n}\n\nfunction canBeSvg(buf) {\n var i = 0, max = buf.length;\n\n // byte order mark, https://github.com/nodeca/probe-image-size/issues/57\n if (buf[0] === 0xEF && buf[1] === 0xBB && buf[2] === 0xBF) i = 3;\n\n while (i < max && isWhiteSpace(buf[i])) i++;\n\n if (i === max) return false;\n return buf[i] === 0x3c; /* < */\n}\n\n\n// skip `<?` (comments), `<!` (directives, cdata, doctype),\n// looking for `<svg>` or `<NAMESPACE:svg>`\nvar SVG_HEADER_RE = /<[-_.:a-zA-Z0-9][^>]*>/;\n\n// test if the top level element is svg + optional namespace,\n// used to skip svg embedded in html\nvar SVG_TAG_RE = /^<([-_.:a-zA-Z0-9]+:)?svg\\s/;\n\nvar SVG_WIDTH_RE = /[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/;\nvar SVG_HEIGHT_RE = /\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/;\nvar SVG_VIEWBOX_RE = /\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/;\nvar SVG_UNITS_RE = /in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;\n\nfunction svgAttrs(str) {\n var width = str.match(SVG_WIDTH_RE);\n var height = str.match(SVG_HEIGHT_RE);\n var viewbox = str.match(SVG_VIEWBOX_RE);\n\n return {\n width: width && (width[1] || width[2]),\n height: height && (height[1] || height[2]),\n viewbox: viewbox && (viewbox[1] || viewbox[2])\n };\n}\n\n\nfunction units(str) {\n if (!SVG_UNITS_RE.test(str)) return 'px';\n\n return str.match(SVG_UNITS_RE)[0];\n}\n\n\nmodule.exports = function (data) {\n if (!canBeSvg(data)) return;\n\n var str = '';\n\n for (var i = 0; i < data.length; i++) {\n // 1. We can't rely on buffer features\n // 2. Don't care about UTF16 because ascii is enougth for our goals\n str += String.fromCharCode(data[i]);\n }\n\n // get top level element\n var svgTag = (str.match(SVG_HEADER_RE) || [ '' ])[0];\n\n // test if top level element is <svg>\n if (!SVG_TAG_RE.test(svgTag)) return;\n\n var attrs = svgAttrs(svgTag);\n var width = parseFloat(attrs.width);\n var height = parseFloat(attrs.height);\n\n // Extract from direct values\n\n if (attrs.width && attrs.height) {\n if (!isFinitePositive(width) || !isFinitePositive(height)) return;\n\n return {\n width: width,\n height: height,\n type: 'svg',\n mime: 'image/svg+xml',\n wUnits: units(attrs.width),\n hUnits: units(attrs.height)\n };\n }\n\n // Extract from viewbox\n\n var parts = (attrs.viewbox || '').split(' ');\n var viewbox = {\n width: parts[2],\n height: parts[3]\n };\n var vbWidth = parseFloat(viewbox.width);\n var vbHeight = parseFloat(viewbox.height);\n\n if (!isFinitePositive(vbWidth) || !isFinitePositive(vbHeight)) return;\n if (units(viewbox.width) !== units(viewbox.height)) return;\n\n var ratio = vbWidth / vbHeight;\n\n if (attrs.width) {\n if (!isFinitePositive(width)) return;\n\n return {\n width: width,\n height: width / ratio,\n type: 'svg',\n mime: 'image/svg+xml',\n wUnits: units(attrs.width),\n hUnits: units(attrs.width)\n };\n }\n\n if (attrs.height) {\n if (!isFinitePositive(height)) return;\n\n return {\n width: height * ratio,\n height: height,\n type: 'svg',\n mime: 'image/svg+xml',\n wUnits: units(attrs.height),\n hUnits: units(attrs.height)\n };\n }\n\n return {\n width: vbWidth,\n height: vbHeight,\n type: 'svg',\n mime: 'image/svg+xml',\n wUnits: units(viewbox.width),\n hUnits: units(viewbox.height)\n };\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar readUInt16LE = require('../common').readUInt16LE;\nvar readUInt16BE = require('../common').readUInt16BE;\nvar readUInt32LE = require('../common').readUInt32LE;\nvar readUInt32BE = require('../common').readUInt32BE;\n\n\nvar SIG_1 = str2arr('II\\x2A\\0');\nvar SIG_2 = str2arr('MM\\0\\x2A');\n\n\nfunction readUInt16(buffer, offset, is_big_endian) {\n return is_big_endian ? readUInt16BE(buffer, offset) : readUInt16LE(buffer, offset);\n}\n\nfunction readUInt32(buffer, offset, is_big_endian) {\n return is_big_endian ? readUInt32BE(buffer, offset) : readUInt32LE(buffer, offset);\n}\n\nfunction readIFDValue(data, data_offset, is_big_endian) {\n var type = readUInt16(data, data_offset + 2, is_big_endian);\n var values = readUInt32(data, data_offset + 4, is_big_endian);\n\n if (values !== 1 || (type !== 3 && type !== 4)) return null;\n\n if (type === 3) {\n return readUInt16(data, data_offset + 8, is_big_endian);\n }\n\n return readUInt32(data, data_offset + 8, is_big_endian);\n}\n\nmodule.exports = function (data) {\n if (data.length < 8) return;\n\n // check TIFF signature\n if (!sliceEq(data, 0, SIG_1) && !sliceEq(data, 0, SIG_2)) return;\n\n var is_big_endian = (data[0] === 77 /* 'MM' */);\n var count = readUInt32(data, 4, is_big_endian) - 8;\n\n if (count < 0) return;\n\n // skip until IFD\n var offset = count + 8;\n\n if (data.length - offset < 2) return;\n\n // read number of IFD entries\n var ifd_size = readUInt16(data, offset + 0, is_big_endian) * 12;\n\n if (ifd_size <= 0) return;\n\n offset += 2;\n\n // read all IFD entries\n if (data.length - offset < ifd_size) return;\n\n var i, width, height, tag;\n\n for (i = 0; i < ifd_size; i += 12) {\n tag = readUInt16(data, offset + i, is_big_endian);\n\n if (tag === 256) {\n width = readIFDValue(data, offset + i, is_big_endian);\n } else if (tag === 257) {\n height = readIFDValue(data, offset + i, is_big_endian);\n }\n }\n\n if (width && height) {\n return {\n width: width,\n height: height,\n type: 'tiff',\n mime: 'image/tiff',\n wUnits: 'px',\n hUnits: 'px'\n };\n }\n};\n","'use strict';\n\n/* eslint-disable no-bitwise */\n/* eslint-disable consistent-return */\n\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar readUInt16LE = require('../common').readUInt16LE;\nvar readUInt32LE = require('../common').readUInt32LE;\nvar exif = require('../exif_utils');\n\n\nvar SIG_RIFF = str2arr('RIFF');\nvar SIG_WEBP = str2arr('WEBP');\n\n\nfunction parseVP8(data, offset) {\n if (data[offset + 3] !== 0x9D || data[offset + 4] !== 0x01 || data[offset + 5] !== 0x2A) {\n // bad code block signature\n return;\n }\n\n return {\n width: readUInt16LE(data, offset + 6) & 0x3FFF,\n height: readUInt16LE(data, offset + 8) & 0x3FFF,\n type: 'webp',\n mime: 'image/webp',\n wUnits: 'px',\n hUnits: 'px'\n };\n}\n\n\nfunction parseVP8L(data, offset) {\n if (data[offset] !== 0x2F) return;\n\n var bits = readUInt32LE(data, offset + 1);\n\n return {\n width: (bits & 0x3FFF) + 1,\n height: ((bits >> 14) & 0x3FFF) + 1,\n type: 'webp',\n mime: 'image/webp',\n wUnits: 'px',\n hUnits: 'px'\n };\n}\n\n\nfunction parseVP8X(data, offset) {\n return {\n // TODO: replace with `data.readUIntLE(8, 3) + 1`\n // when 0.10 support is dropped\n width: ((data[offset + 6] << 16) | (data[offset + 5] << 8) | data[offset + 4]) + 1,\n height: ((data[offset + 9] << offset) | (data[offset + 8] << 8) | data[offset + 7]) + 1,\n type: 'webp',\n mime: 'image/webp',\n wUnits: 'px',\n hUnits: 'px'\n };\n}\n\n\nmodule.exports = function (data) {\n if (data.length < 16) return;\n\n // check /^RIFF....WEBPVP8([ LX])$/ signature\n if (!sliceEq(data, 0, SIG_RIFF) && !sliceEq(data, 8, SIG_WEBP)) return;\n\n var offset = 12;\n var result = null;\n var exif_orientation = 0;\n var fileLength = readUInt32LE(data, 4) + 8;\n\n if (fileLength > data.length) return;\n\n while (offset + 8 < fileLength) {\n if (data[offset] === 0) {\n // after each chunk of odd size there should be 0 byte of padding, skip those\n offset++;\n continue;\n }\n\n var header = String.fromCharCode.apply(null, data.slice(offset, offset + 4));\n var length = readUInt32LE(data, offset + 4);\n\n if (header === 'VP8 ' && length >= 10) {\n result = result || parseVP8(data, offset + 8);\n } else if (header === 'VP8L' && length >= 9) {\n result = result || parseVP8L(data, offset + 8);\n } else if (header === 'VP8X' && length >= 10) {\n result = result || parseVP8X(data, offset + 8);\n } else if (header === 'EXIF') {\n exif_orientation = exif.get_orientation(data.slice(offset + 8, offset + 8 + length));\n\n // exif is the last chunk we care about, stop after it\n offset = Infinity;\n }\n\n offset += 8 + length;\n }\n\n if (!result) return;\n\n if (exif_orientation > 0) {\n result.orientation = exif_orientation;\n }\n\n return result;\n};\n","'use strict';\n\n\nmodule.exports = {\n avif: require('./parse_sync/avif'),\n bmp: require('./parse_sync/bmp'),\n gif: require('./parse_sync/gif'),\n ico: require('./parse_sync/ico'),\n jpeg: require('./parse_sync/jpeg'),\n png: require('./parse_sync/png'),\n psd: require('./parse_sync/psd'),\n svg: require('./parse_sync/svg'),\n tiff: require('./parse_sync/tiff'),\n webp: require('./parse_sync/webp')\n};\n","'use strict';\n\n\nvar parsers = require('./lib/parsers_sync');\n\n\nfunction probeBuffer(buffer) {\n var parser_names = Object.keys(parsers);\n\n for (var i = 0; i < parser_names.length; i++) {\n var result = parsers[parser_names[i]](buffer);\n\n if (result) return result;\n }\n\n return null;\n}\n\n\n///////////////////////////////////////////////////////////////////////\n// Exports\n//\n\nmodule.exports = function get_image_size(src) {\n return probeBuffer(src);\n};\n\nmodule.exports.parsers = parsers;\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"mappings":"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"}
1
+ {"version":3,"file":"sync-BG15Yae1.js","names":[],"sources":["../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ms/2.0.0/a65cc302695e9dde36bdbab59e67a07f313b77a4e7b89957a7bf17f930a58070/node_modules/ms/index.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/2.6.9/801652e4785c84886fe45a314148ed1497034cb567c175a44cafefed7bfe99be/node_modules/debug/src/debug.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/2.6.9/801652e4785c84886fe45a314148ed1497034cb567c175a44cafefed7bfe99be/node_modules/debug/src/browser.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/2.6.9/801652e4785c84886fe45a314148ed1497034cb567c175a44cafefed7bfe99be/node_modules/debug/src/node.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/debug/2.6.9/801652e4785c84886fe45a314148ed1497034cb567c175a44cafefed7bfe99be/node_modules/debug/src/index.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/stream-parser/0.3.1/05001837beb9bed7e5025720d2f11fc3082c627fc85fbc1354f5c8b6191938d4/node_modules/stream-parser/index.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/lib/common.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/lib/miaf_utils.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/lib/exif_utils.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/lib/parse_sync/avif.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/lib/parse_sync/bmp.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/lib/parse_sync/gif.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/lib/parse_sync/ico.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/lib/parse_sync/jpeg.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/lib/parse_sync/png.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/lib/parse_sync/psd.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/lib/parse_sync/svg.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/lib/parse_sync/tiff.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/lib/parse_sync/webp.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/lib/parsers_sync.js","../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/probe-image-size/7.2.3/aeb07a56a01bf9f972d0c2af99fe9b1fce0a1586b6699563de82cf960f396830/node_modules/probe-image-size/sync.js"],"sourcesContent":["/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Previous log timestamp.\n */\n\nvar prevTime;\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n return debug;\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (var i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n 'lightseagreen',\n 'forestgreen',\n 'goldenrod',\n 'dodgerblue',\n 'darkorchid',\n 'crimson'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n","/**\n * Module dependencies.\n */\n\nvar tty = require('tty');\nvar util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(function (key) {\n return /^debug_/i.test(key);\n}).reduce(function (obj, key) {\n // camel-case\n var prop = key\n .substring(6)\n .toLowerCase()\n .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() });\n\n // coerce string value into JS value\n var val = process.env[key];\n if (/^(yes|on|true|enabled)$/i.test(val)) val = true;\n else if (/^(no|off|false|disabled)$/i.test(val)) val = false;\n else if (val === 'null') val = null;\n else val = Number(val);\n\n obj[prop] = val;\n return obj;\n}, {});\n\n/**\n * The file descriptor to write the `debug()` calls to.\n * Set the `DEBUG_FD` env variable to override with another value. i.e.:\n *\n * $ DEBUG_FD=3 node script.js 3>debug.log\n */\n\nvar fd = parseInt(process.env.DEBUG_FD, 10) || 2;\n\nif (1 !== fd && 2 !== fd) {\n util.deprecate(function(){}, 'except for stderr(2) and stdout(1), any other usage of DEBUG_FD is deprecated. Override debug.log if you want to use a different log function (https://git.io/debug_fd)')()\n}\n\nvar stream = 1 === fd ? process.stdout :\n 2 === fd ? process.stderr :\n createWritableStdioStream(fd);\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n return 'colors' in exports.inspectOpts\n ? Boolean(exports.inspectOpts.colors)\n : tty.isatty(fd);\n}\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nexports.formatters.o = function(v) {\n this.inspectOpts.colors = this.useColors;\n return util.inspect(v, this.inspectOpts)\n .split('\\n').map(function(str) {\n return str.trim()\n }).join(' ');\n};\n\n/**\n * Map %o to `util.inspect()`, allowing multiple lines if needed.\n */\n\nexports.formatters.O = function(v) {\n this.inspectOpts.colors = this.useColors;\n return util.inspect(v, this.inspectOpts);\n};\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var name = this.namespace;\n var useColors = this.useColors;\n\n if (useColors) {\n var c = this.color;\n var prefix = ' \\u001b[3' + c + ';1m' + name + ' ' + '\\u001b[0m';\n\n args[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n args.push('\\u001b[3' + c + 'm+' + exports.humanize(this.diff) + '\\u001b[0m');\n } else {\n args[0] = new Date().toUTCString()\n + ' ' + name + ' ' + args[0];\n }\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to `stream`.\n */\n\nfunction log() {\n return stream.write(util.format.apply(util, arguments) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n if (null == namespaces) {\n // If you set a process.env field to null or undefined, it gets cast to the\n // string 'null' or 'undefined'. Just delete instead.\n delete process.env.DEBUG;\n } else {\n process.env.DEBUG = namespaces;\n }\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n return process.env.DEBUG;\n}\n\n/**\n * Copied from `node/src/node.js`.\n *\n * XXX: It's lame that node doesn't expose this API out-of-the-box. It also\n * relies on the undocumented `tty_wrap.guessHandleType()` which is also lame.\n */\n\nfunction createWritableStdioStream (fd) {\n var stream;\n var tty_wrap = process.binding('tty_wrap');\n\n // Note stream._type is used for test-module-load-list.js\n\n switch (tty_wrap.guessHandleType(fd)) {\n case 'TTY':\n stream = new tty.WriteStream(fd);\n stream._type = 'tty';\n\n // Hack to have stream not keep the event loop alive.\n // See https://github.com/joyent/node/issues/1726\n if (stream._handle && stream._handle.unref) {\n stream._handle.unref();\n }\n break;\n\n case 'FILE':\n var fs = require('fs');\n stream = new fs.SyncWriteStream(fd, { autoClose: false });\n stream._type = 'fs';\n break;\n\n case 'PIPE':\n case 'TCP':\n var net = require('net');\n stream = new net.Socket({\n fd: fd,\n readable: false,\n writable: true\n });\n\n // FIXME Should probably have an option in net.Socket to create a\n // stream from an existing fd which is writable only. But for now\n // we'll just add this hack and set the `readable` member to false.\n // Test: ./node test/fixtures/echo.js < /etc/passwd\n stream.readable = false;\n stream.read = null;\n stream._type = 'pipe';\n\n // FIXME Hack to have stream not keep the event loop alive.\n // See https://github.com/joyent/node/issues/1726\n if (stream._handle && stream._handle.unref) {\n stream._handle.unref();\n }\n break;\n\n default:\n // Probably an error on in uv_guess_handle()\n throw new Error('Implement me. Unknown stream file type!');\n }\n\n // For supporting legacy API we put the FD here.\n stream.fd = fd;\n\n stream._isStdio = true;\n\n return stream;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init (debug) {\n debug.inspectOpts = {};\n\n var keys = Object.keys(exports.inspectOpts);\n for (var i = 0; i < keys.length; i++) {\n debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n }\n}\n\n/**\n * Enable namespaces listed in `process.env.DEBUG` initially.\n */\n\nexports.enable(load());\n","/**\n * Detect Electron renderer process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process !== 'undefined' && process.type === 'renderer') {\n module.exports = require('./browser.js');\n} else {\n module.exports = require('./node.js');\n}\n","\n/**\n * Module dependencies.\n */\n\nvar assert = require('assert');\nvar debug = require('debug')('stream-parser');\n\n/**\n * Module exports.\n */\n\nmodule.exports = Parser;\n\n/**\n * Parser states.\n */\n\nvar INIT = -1;\nvar BUFFERING = 0;\nvar SKIPPING = 1;\nvar PASSTHROUGH = 2;\n\n/**\n * The `Parser` stream mixin works with either `Writable` or `Transform` stream\n * instances/subclasses. Provides a convenient generic \"parsing\" API:\n *\n * _bytes(n, cb) - buffers \"n\" bytes and then calls \"cb\" with the \"chunk\"\n * _skipBytes(n, cb) - skips \"n\" bytes and then calls \"cb\" when done\n *\n * If you extend a `Transform` stream, then the `_passthrough()` function is also\n * added:\n *\n * _passthrough(n, cb) - passes through \"n\" bytes untouched and then calls \"cb\"\n *\n * @param {Stream} stream Transform or Writable stream instance to extend\n * @api public\n */\n\nfunction Parser (stream) {\n var isTransform = stream && 'function' == typeof stream._transform;\n var isWritable = stream && 'function' == typeof stream._write;\n\n if (!isTransform && !isWritable) throw new Error('must pass a Writable or Transform stream in');\n debug('extending Parser into stream');\n\n // Transform streams and Writable streams get `_bytes()` and `_skipBytes()`\n stream._bytes = _bytes;\n stream._skipBytes = _skipBytes;\n\n // only Transform streams get the `_passthrough()` function\n if (isTransform) stream._passthrough = _passthrough;\n\n // take control of the streams2 callback functions for this stream\n if (isTransform) {\n stream._transform = transform;\n } else {\n stream._write = write;\n }\n}\n\nfunction init (stream) {\n debug('initializing parser stream');\n\n // number of bytes left to parser for the next \"chunk\"\n stream._parserBytesLeft = 0;\n\n // array of Buffer instances that make up the next \"chunk\"\n stream._parserBuffers = [];\n\n // number of bytes parsed so far for the next \"chunk\"\n stream._parserBuffered = 0;\n\n // flag that keeps track of if what the parser should do with bytes received\n stream._parserState = INIT;\n\n // the callback for the next \"chunk\"\n stream._parserCallback = null;\n\n // XXX: backwards compat with the old Transform API... remove at some point..\n if ('function' == typeof stream.push) {\n stream._parserOutput = stream.push.bind(stream);\n }\n\n stream._parserInit = true;\n}\n\n/**\n * Buffers `n` bytes and then invokes `fn` once that amount has been collected.\n *\n * @param {Number} n the number of bytes to buffer\n * @param {Function} fn callback function to invoke when `n` bytes are buffered\n * @api public\n */\n\nfunction _bytes (n, fn) {\n assert(!this._parserCallback, 'there is already a \"callback\" set!');\n assert(isFinite(n) && n > 0, 'can only buffer a finite number of bytes > 0, got \"' + n + '\"');\n if (!this._parserInit) init(this);\n debug('buffering %o bytes', n);\n this._parserBytesLeft = n;\n this._parserCallback = fn;\n this._parserState = BUFFERING;\n}\n\n/**\n * Skips over the next `n` bytes, then invokes `fn` once that amount has\n * been discarded.\n *\n * @param {Number} n the number of bytes to discard\n * @param {Function} fn callback function to invoke when `n` bytes have been skipped\n * @api public\n */\n\nfunction _skipBytes (n, fn) {\n assert(!this._parserCallback, 'there is already a \"callback\" set!');\n assert(n > 0, 'can only skip > 0 bytes, got \"' + n + '\"');\n if (!this._parserInit) init(this);\n debug('skipping %o bytes', n);\n this._parserBytesLeft = n;\n this._parserCallback = fn;\n this._parserState = SKIPPING;\n}\n\n/**\n * Passes through `n` bytes to the readable side of this stream untouched,\n * then invokes `fn` once that amount has been passed through.\n *\n * @param {Number} n the number of bytes to pass through\n * @param {Function} fn callback function to invoke when `n` bytes have passed through\n * @api public\n */\n\nfunction _passthrough (n, fn) {\n assert(!this._parserCallback, 'There is already a \"callback\" set!');\n assert(n > 0, 'can only pass through > 0 bytes, got \"' + n + '\"');\n if (!this._parserInit) init(this);\n debug('passing through %o bytes', n);\n this._parserBytesLeft = n;\n this._parserCallback = fn;\n this._parserState = PASSTHROUGH;\n}\n\n/**\n * The `_write()` callback function implementation.\n *\n * @api private\n */\n\nfunction write (chunk, encoding, fn) {\n if (!this._parserInit) init(this);\n debug('write(%o bytes)', chunk.length);\n\n // XXX: old Writable stream API compat... remove at some point...\n if ('function' == typeof encoding) fn = encoding;\n\n data(this, chunk, null, fn);\n}\n\n/**\n * The `_transform()` callback function implementation.\n *\n * @api private\n */\n\n\nfunction transform (chunk, output, fn) {\n if (!this._parserInit) init(this);\n debug('transform(%o bytes)', chunk.length);\n\n // XXX: old Transform stream API compat... remove at some point...\n if ('function' != typeof output) {\n output = this._parserOutput;\n }\n\n data(this, chunk, output, fn);\n}\n\n/**\n * The internal buffering/passthrough logic...\n *\n * This `_data` function get's \"trampolined\" to prevent stack overflows for tight\n * loops. This technique requires us to return a \"thunk\" function for any\n * synchronous action. Async stuff breaks the trampoline, but that's ok since it's\n * working with a new stack at that point anyway.\n *\n * @api private\n */\n\nfunction _data (stream, chunk, output, fn) {\n if (stream._parserBytesLeft <= 0) {\n return fn(new Error('got data but not currently parsing anything'));\n }\n\n if (chunk.length <= stream._parserBytesLeft) {\n // small buffer fits within the \"_parserBytesLeft\" window\n return function () {\n return process(stream, chunk, output, fn);\n };\n } else {\n // large buffer needs to be sliced on \"_parserBytesLeft\" and processed\n return function () {\n var b = chunk.slice(0, stream._parserBytesLeft);\n return process(stream, b, output, function (err) {\n if (err) return fn(err);\n if (chunk.length > b.length) {\n return function () {\n return _data(stream, chunk.slice(b.length), output, fn);\n };\n }\n });\n };\n }\n}\n\n/**\n * The internal `process` function gets called by the `data` function when\n * something \"interesting\" happens. This function takes care of buffering the\n * bytes when buffering, passing through the bytes when doing that, and invoking\n * the user callback when the number of bytes has been reached.\n *\n * @api private\n */\n\nfunction process (stream, chunk, output, fn) {\n stream._parserBytesLeft -= chunk.length;\n debug('%o bytes left for stream piece', stream._parserBytesLeft);\n\n if (stream._parserState === BUFFERING) {\n // buffer\n stream._parserBuffers.push(chunk);\n stream._parserBuffered += chunk.length;\n } else if (stream._parserState === PASSTHROUGH) {\n // passthrough\n output(chunk);\n }\n // don't need to do anything for the SKIPPING case\n\n if (0 === stream._parserBytesLeft) {\n // done with stream \"piece\", invoke the callback\n var cb = stream._parserCallback;\n if (cb && stream._parserState === BUFFERING && stream._parserBuffers.length > 1) {\n chunk = Buffer.concat(stream._parserBuffers, stream._parserBuffered);\n }\n if (stream._parserState !== BUFFERING) {\n chunk = null;\n }\n stream._parserCallback = null;\n stream._parserBuffered = 0;\n stream._parserState = INIT;\n stream._parserBuffers.splice(0); // empty\n\n if (cb) {\n var args = [];\n if (chunk) {\n // buffered\n args.push(chunk);\n } else {\n // passthrough\n }\n if (output) {\n // on a Transform stream, has \"output\" function\n args.push(output);\n }\n var async = cb.length > args.length;\n if (async) {\n args.push(trampoline(fn));\n }\n // invoke cb\n var rtn = cb.apply(stream, args);\n if (!async || fn === rtn) return fn;\n }\n } else {\n // need more bytes\n return fn;\n }\n}\n\nvar data = trampoline(_data);\n\n/**\n * Generic thunk-based \"trampoline\" helper function.\n *\n * @param {Function} input function\n * @return {Function} \"trampolined\" function\n * @api private\n */\n\nfunction trampoline (fn) {\n return function () {\n var result = fn.apply(this, arguments);\n\n while ('function' == typeof result) {\n result = result();\n }\n\n return result;\n };\n}\n","'use strict';\n\n\nvar Transform = require('stream').Transform;\nvar streamParser = require('stream-parser');\n\n\nfunction ParserStream() {\n Transform.call(this, { readableObjectMode: true });\n}\n\n// Inherit from Transform\nParserStream.prototype = Object.create(Transform.prototype);\nParserStream.prototype.constructor = ParserStream;\n\nstreamParser(ParserStream.prototype);\n\n\nexports.ParserStream = ParserStream;\n\n\nexports.sliceEq = function (src, start, dest) {\n for (var i = start, j = 0; j < dest.length;) {\n if (src[i++] !== dest[j++]) return false;\n }\n return true;\n};\n\nexports.str2arr = function (str, format) {\n var arr = [], i = 0;\n\n if (format && format === 'hex') {\n while (i < str.length) {\n arr.push(parseInt(str.slice(i, i + 2), 16));\n i += 2;\n }\n } else {\n for (; i < str.length; i++) {\n /* eslint-disable no-bitwise */\n arr.push(str.charCodeAt(i) & 0xFF);\n }\n }\n\n return arr;\n};\n\nexports.readUInt16LE = function (data, offset) {\n return data[offset] | (data[offset + 1] << 8);\n};\n\nexports.readUInt16BE = function (data, offset) {\n return data[offset + 1] | (data[offset] << 8);\n};\n\nexports.readUInt32LE = function (data, offset) {\n return data[offset] |\n (data[offset + 1] << 8) |\n (data[offset + 2] << 16) |\n (data[offset + 3] * 0x1000000);\n};\n\nexports.readUInt32BE = function (data, offset) {\n return data[offset + 3] |\n (data[offset + 2] << 8) |\n (data[offset + 1] << 16) |\n (data[offset] * 0x1000000);\n};\n\n\nfunction ProbeError(message, code, statusCode) {\n Error.call(this);\n\n // Include stack trace in error object\n if (Error.captureStackTrace) {\n // Chrome and NodeJS\n Error.captureStackTrace(this, this.constructor);\n } else {\n // FF, IE 10+ and Safari 6+. Fallback for others\n this.stack = (new Error()).stack || '';\n }\n\n this.name = this.constructor.name;\n\n this.message = message;\n if (code) this.code = code;\n if (statusCode) this.statusCode = statusCode;\n}\n\n// Inherit from Error\nProbeError.prototype = Object.create(Error.prototype);\nProbeError.prototype.constructor = ProbeError;\n\n\nexports.ProbeError = ProbeError;\n","// Utils used to parse miaf-based files (avif/heic/heif)\n//\n// ISO media file spec:\n// https://web.archive.org/web/20180219054429/http://l.web.umkc.edu/lizhu/teaching/2016sp.video-communication/ref/mp4.pdf\n//\n// ISO image file format spec:\n// https://standards.iso.org/ittf/PubliclyAvailableStandards/c066067_ISO_IEC_23008-12_2017.zip\n//\n\n'use strict';\n\n/* eslint-disable consistent-return */\n/* eslint-disable no-bitwise */\n\nvar readUInt16BE = require('./common').readUInt16BE;\nvar readUInt32BE = require('./common').readUInt32BE;\n\n/*\n * interface Box {\n * size: uint32; // if size == 0, box lasts until EOF\n * boxtype: char[4];\n * largesize?: uint64; // only if size == 1\n * usertype?: char[16]; // only if boxtype == 'uuid'\n * }\n */\nfunction unbox(data, offset) {\n if (data.length < 4 + offset) return null;\n\n var size = readUInt32BE(data, offset);\n\n // size includes first 4 bytes (length)\n if (data.length < size + offset || size < 8) return null;\n\n // if size === 1, real size is following uint64 (only for big boxes, not needed)\n // if size === 0, real size is until the end of the file (only for big boxes, not needed)\n\n return {\n boxtype: String.fromCharCode.apply(null, data.slice(offset + 4, offset + 8)),\n data: data.slice(offset + 8, offset + size),\n end: offset + size\n };\n}\n\n\nmodule.exports.unbox = unbox;\n\n\n// parses `meta` -> `iprp` -> `ipco` box, returns:\n// {\n// sizes: [ { width, height } ],\n// transforms: [ { type, value } ]\n// }\nfunction scan_ipco(data, sandbox) {\n var offset = 0;\n\n for (;;) {\n var box = unbox(data, offset);\n if (!box) break;\n\n switch (box.boxtype) {\n case 'ispe':\n sandbox.sizes.push({\n width: readUInt32BE(box.data, 4),\n height: readUInt32BE(box.data, 8)\n });\n break;\n\n case 'irot':\n sandbox.transforms.push({\n type: 'irot',\n value: box.data[0] & 3\n });\n break;\n\n case 'imir':\n sandbox.transforms.push({\n type: 'imir',\n value: box.data[0] & 1\n });\n break;\n }\n\n offset = box.end;\n }\n}\n\n\nfunction readUIntBE(data, offset, size) {\n var result = 0;\n\n for (var i = 0; i < size; i++) {\n result = result * 256 + (data[offset + i] || 0);\n }\n\n return result;\n}\n\n\n// parses `meta` -> `iloc` box\nfunction scan_iloc(data, sandbox) {\n var offset_size = (data[4] >> 4) & 0xF;\n var length_size = data[4] & 0xF;\n var base_offset_size = (data[5] >> 4) & 0xF;\n var item_count = readUInt16BE(data, 6);\n var offset = 8;\n\n for (var i = 0; i < item_count; i++) {\n var item_ID = readUInt16BE(data, offset);\n offset += 2;\n\n var data_reference_index = readUInt16BE(data, offset);\n offset += 2;\n\n var base_offset = readUIntBE(data, offset, base_offset_size);\n offset += base_offset_size;\n\n var extent_count = readUInt16BE(data, offset);\n offset += 2;\n\n if (data_reference_index === 0 && extent_count === 1) {\n var first_extent_offset = readUIntBE(data, offset, offset_size);\n var first_extent_length = readUIntBE(data, offset + offset_size, length_size);\n sandbox.item_loc[item_ID] = { length: first_extent_length, offset: first_extent_offset + base_offset };\n }\n\n offset += extent_count * (offset_size + length_size);\n }\n}\n\n\n// parses `meta` -> `iinf` box\nfunction scan_iinf(data, sandbox) {\n var item_count = readUInt16BE(data, 4);\n var offset = 6;\n\n for (var i = 0; i < item_count; i++) {\n var box = unbox(data, offset);\n if (!box) break;\n if (box.boxtype === 'infe') {\n var item_id = readUInt16BE(box.data, 4);\n var item_name = '';\n\n for (var pos = 8; pos < box.data.length && box.data[pos]; pos++) {\n item_name += String.fromCharCode(box.data[pos]);\n }\n\n sandbox.item_inf[item_name] = item_id;\n }\n offset = box.end;\n }\n}\n\n\n// parses `meta` -> `iprp` box\nfunction scan_iprp(data, sandbox) {\n var offset = 0;\n\n for (;;) {\n var box = unbox(data, offset);\n if (!box) break;\n if (box.boxtype === 'ipco') scan_ipco(box.data, sandbox);\n offset = box.end;\n }\n}\n\n\n// parses `meta` box\nfunction scan_meta(data, sandbox) {\n var offset = 4; // version + flags\n\n for (;;) {\n var box = unbox(data, offset);\n if (!box) break;\n if (box.boxtype === 'iprp') scan_iprp(box.data, sandbox);\n if (box.boxtype === 'iloc') scan_iloc(box.data, sandbox);\n if (box.boxtype === 'iinf') scan_iinf(box.data, sandbox);\n offset = box.end;\n }\n}\n\n\n// get image with largest single dimension as base\nfunction getMaxSize(sizes) {\n var maxWidthSize = sizes.reduce(function (a, b) {\n return a.width > b.width || (a.width === b.width && a.height > b.height) ? a : b;\n });\n\n var maxHeightSize = sizes.reduce(function (a, b) {\n return a.height > b.height || (a.height === b.height && a.width > b.width) ? a : b;\n });\n\n var maxSize;\n\n if (maxWidthSize.width > maxHeightSize.height ||\n (maxWidthSize.width === maxHeightSize.height && maxWidthSize.height > maxHeightSize.width)) {\n maxSize = maxWidthSize;\n } else {\n maxSize = maxHeightSize;\n }\n\n return maxSize;\n}\n\n\nmodule.exports.readSizeFromMeta = function (data) {\n var sandbox = {\n sizes: [],\n transforms: [],\n item_inf: {},\n item_loc: {}\n };\n\n scan_meta(data, sandbox);\n\n if (!sandbox.sizes.length) return;\n\n var maxSize = getMaxSize(sandbox.sizes);\n\n var orientation = 1;\n\n // convert imir/irot to exif orientation\n sandbox.transforms.forEach(function (transform) {\n var rotate_ccw = { 1: 6, 2: 5, 3: 8, 4: 7, 5: 4, 6: 3, 7: 2, 8: 1 };\n var mirror_vert = { 1: 4, 2: 3, 3: 2, 4: 1, 5: 6, 6: 5, 7: 8, 8: 7 };\n\n if (transform.type === 'imir') {\n if (transform.value === 0) {\n // vertical flip\n orientation = mirror_vert[orientation];\n } else {\n // horizontal flip = vertical flip + 180 deg rotation\n orientation = mirror_vert[orientation];\n orientation = rotate_ccw[orientation];\n orientation = rotate_ccw[orientation];\n }\n }\n\n if (transform.type === 'irot') {\n // counter-clockwise rotation 90 deg 0-3 times\n for (var i = 0; i < transform.value; i++) {\n orientation = rotate_ccw[orientation];\n }\n }\n });\n\n var exif_location = null;\n\n if (sandbox.item_inf.Exif) {\n exif_location = sandbox.item_loc[sandbox.item_inf.Exif];\n }\n\n return {\n width: maxSize.width,\n height: maxSize.height,\n orientation: sandbox.transforms.length ? orientation : null,\n variants: sandbox.sizes,\n exif_location: exif_location\n };\n};\n\n\nmodule.exports.getMimeType = function (data) {\n var brand = String.fromCharCode.apply(null, data.slice(0, 4));\n var compat = {};\n\n compat[brand] = true;\n\n for (var i = 8; i < data.length; i += 4) {\n compat[String.fromCharCode.apply(null, data.slice(i, i + 4))] = true;\n }\n\n // heic and avif are superset of miaf, so they should all list mif1 as compatible\n if (!compat.mif1 && !compat.msf1 && !compat.miaf) return;\n\n if (brand === 'avif' || brand === 'avis' || brand === 'avio') {\n // `.avifs` and `image/avif-sequence` are removed from spec, all files have single type\n return { type: 'avif', mime: 'image/avif' };\n }\n\n // https://nokiatech.github.io/heif/technical.html\n if (brand === 'heic' || brand === 'heix') {\n return { type: 'heic', mime: 'image/heic' };\n }\n\n if (brand === 'hevc' || brand === 'hevx') {\n return { type: 'heic', mime: 'image/heic-sequence' };\n }\n\n if (compat.avif || compat.avis) {\n return { type: 'avif', mime: 'image/avif' };\n }\n\n if (compat.heic || compat.heix || compat.hevc || compat.hevx || compat.heis) {\n if (compat.msf1) {\n return { type: 'heif', mime: 'image/heif-sequence' };\n }\n return { type: 'heif', mime: 'image/heif' };\n }\n\n return { type: 'avif', mime: 'image/avif' };\n};\n","\n/* eslint-disable no-bitwise */\n/* eslint-disable consistent-return */\n\n'use strict';\n\n//////////////////////////////////////////////////////////////////////////\n// Helpers\n//\nfunction error(message, code) {\n var err = new Error(message);\n err.code = code;\n return err;\n}\n\n\nfunction utf8_decode(str) {\n try {\n return decodeURIComponent(escape(str));\n } catch (_) {\n return str;\n }\n}\n\n\n//////////////////////////////////////////////////////////////////////////\n// Exif parser\n//\n// Input:\n// - jpeg_bin: Uint8Array - jpeg file\n// - exif_start: Number - start of TIFF header (after Exif\\0\\0)\n// - exif_end: Number - end of Exif segment\n// - on_entry: Number - callback\n//\nfunction ExifParser(jpeg_bin, exif_start, exif_end) {\n // Uint8Array, exif without signature (which isn't included in offsets)\n this.input = jpeg_bin.subarray(exif_start, exif_end);\n\n // offset correction for `on_entry` callback\n this.start = exif_start;\n\n // Check TIFF header (includes byte alignment and first IFD offset)\n var sig = String.fromCharCode.apply(null, this.input.subarray(0, 4));\n\n if (sig !== 'II\\x2A\\0' && sig !== 'MM\\0\\x2A') {\n throw error('invalid TIFF signature', 'EBADDATA');\n }\n\n // true if motorola (big endian) byte alignment, false if intel\n this.big_endian = sig[0] === 'M';\n}\n\n\nExifParser.prototype.each = function (on_entry) {\n // allow premature exit\n this.aborted = false;\n\n var offset = this.read_uint32(4);\n\n this.ifds_to_read = [ {\n id: 0,\n offset: offset\n } ];\n\n while (this.ifds_to_read.length > 0 && !this.aborted) {\n var i = this.ifds_to_read.shift();\n if (!i.offset) continue;\n this.scan_ifd(i.id, i.offset, on_entry);\n }\n};\n\n\nExifParser.prototype.read_uint16 = function (offset) {\n var d = this.input;\n if (offset + 2 > d.length) throw error('unexpected EOF', 'EBADDATA');\n\n return this.big_endian ?\n d[offset] * 0x100 + d[offset + 1] :\n d[offset] + d[offset + 1] * 0x100;\n};\n\n\nExifParser.prototype.read_uint32 = function (offset) {\n var d = this.input;\n if (offset + 4 > d.length) throw error('unexpected EOF', 'EBADDATA');\n\n return this.big_endian ?\n d[offset] * 0x1000000 + d[offset + 1] * 0x10000 + d[offset + 2] * 0x100 + d[offset + 3] :\n d[offset] + d[offset + 1] * 0x100 + d[offset + 2] * 0x10000 + d[offset + 3] * 0x1000000;\n};\n\n\nExifParser.prototype.is_subifd_link = function (ifd, tag) {\n return (ifd === 0 && tag === 0x8769) || // SubIFD\n (ifd === 0 && tag === 0x8825) || // GPS Info\n (ifd === 0x8769 && tag === 0xA005); // Interop IFD\n};\n\n\n// Returns byte length of a single component of a given format\n//\nExifParser.prototype.exif_format_length = function (format) {\n switch (format) {\n case 1: // byte\n case 2: // ascii\n case 6: // sbyte\n case 7: // undefined\n return 1;\n\n case 3: // short\n case 8: // sshort\n return 2;\n\n case 4: // long\n case 9: // slong\n case 11: // float\n return 4;\n\n case 5: // rational\n case 10: // srational\n case 12: // double\n return 8;\n\n default:\n // unknown type\n return 0;\n }\n};\n\n\n// Reads Exif data\n//\nExifParser.prototype.exif_format_read = function (format, offset) {\n var v;\n\n switch (format) {\n case 1: // byte\n case 2: // ascii\n v = this.input[offset];\n return v;\n\n case 6: // sbyte\n v = this.input[offset];\n return v | (v & 0x80) * 0x1fffffe;\n\n case 3: // short\n v = this.read_uint16(offset);\n return v;\n\n case 8: // sshort\n v = this.read_uint16(offset);\n return v | (v & 0x8000) * 0x1fffe;\n\n case 4: // long\n v = this.read_uint32(offset);\n return v;\n\n case 9: // slong\n v = this.read_uint32(offset);\n return v | 0;\n\n case 5: // rational\n case 10: // srational\n case 11: // float\n case 12: // double\n return null; // not implemented\n\n case 7: // undefined\n return null; // blob\n\n default:\n // unknown type\n return null;\n }\n};\n\n\nExifParser.prototype.scan_ifd = function (ifd_no, offset, on_entry) {\n var entry_count = this.read_uint16(offset);\n\n offset += 2;\n\n for (var i = 0; i < entry_count; i++) {\n var tag = this.read_uint16(offset);\n var format = this.read_uint16(offset + 2);\n var count = this.read_uint32(offset + 4);\n\n var comp_length = this.exif_format_length(format);\n var data_length = count * comp_length;\n var data_offset = data_length <= 4 ? offset + 8 : this.read_uint32(offset + 8);\n var is_subifd_link = false;\n\n if (data_offset + data_length > this.input.length) {\n throw error('unexpected EOF', 'EBADDATA');\n }\n\n var value = [];\n var comp_offset = data_offset;\n\n for (var j = 0; j < count; j++, comp_offset += comp_length) {\n var item = this.exif_format_read(format, comp_offset);\n if (item === null) {\n value = null;\n break;\n }\n value.push(item);\n }\n\n if (Array.isArray(value) && format === 2) {\n value = utf8_decode(String.fromCharCode.apply(null, value));\n if (value && value[value.length - 1] === '\\0') value = value.slice(0, -1);\n }\n\n if (this.is_subifd_link(ifd_no, tag)) {\n if (Array.isArray(value) && Number.isInteger(value[0]) && value[0] > 0) {\n this.ifds_to_read.push({\n id: tag,\n offset: value[0]\n });\n is_subifd_link = true;\n }\n }\n\n var entry = {\n is_big_endian: this.big_endian,\n ifd: ifd_no,\n tag: tag,\n format: format,\n count: count,\n entry_offset: offset + this.start,\n data_length: data_length,\n data_offset: data_offset + this.start,\n value: value,\n is_subifd_link: is_subifd_link\n };\n\n if (on_entry(entry) === false) {\n this.aborted = true;\n return;\n }\n\n offset += 12;\n }\n\n if (ifd_no === 0) {\n this.ifds_to_read.push({\n id: 1,\n offset: this.read_uint32(offset)\n });\n }\n};\n\n\nmodule.exports.ExifParser = ExifParser;\n\n// returns orientation stored in Exif (1-8), 0 if none was found, -1 if error\nmodule.exports.get_orientation = function (data) {\n var orientation = 0;\n try {\n new ExifParser(data, 0, data.length).each(function (entry) {\n if (entry.ifd === 0 && entry.tag === 0x112 && Array.isArray(entry.value)) {\n orientation = entry.value[0];\n return false;\n }\n });\n return orientation;\n } catch (err) {\n return -1;\n }\n};\n","// Utils used to parse miaf-based files (avif/heic/heif)\n//\n// - image collections are not supported (only last size is reported)\n// - images with metadata encoded after image data are not supported\n// - images without any `ispe` box are not supported\n//\n\n/* eslint-disable consistent-return */\n\n'use strict';\n\n\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar readUInt32BE = require('../common').readUInt32BE;\nvar miaf = require('../miaf_utils');\nvar exif = require('../exif_utils');\n\nvar SIG_FTYP = str2arr('ftyp');\n\n\nmodule.exports = function (data) {\n // ISO media file (avif format) starts with ftyp box:\n // 0000 0020 6674 7970 6176 6966\n // (length) f t y p a v i f\n //\n if (!sliceEq(data, 4, SIG_FTYP)) return;\n\n var firstBox = miaf.unbox(data, 0);\n if (!firstBox) return;\n\n var fileType = miaf.getMimeType(firstBox.data);\n if (!fileType) return;\n\n var meta, offset = firstBox.end;\n\n for (;;) {\n var box = miaf.unbox(data, offset);\n if (!box) break;\n offset = box.end;\n\n // mdat block SHOULD be last (but not strictly required),\n // so it's unlikely that metadata is after it\n if (box.boxtype === 'mdat') return;\n if (box.boxtype === 'meta') {\n meta = box.data;\n break;\n }\n }\n\n if (!meta) return;\n\n var imgSize = miaf.readSizeFromMeta(meta);\n\n if (!imgSize) return;\n\n var result = {\n width: imgSize.width,\n height: imgSize.height,\n type: fileType.type,\n mime: fileType.mime,\n wUnits: 'px',\n hUnits: 'px'\n };\n\n if (imgSize.variants.length > 1) {\n result.variants = imgSize.variants;\n }\n\n if (imgSize.orientation) {\n result.orientation = imgSize.orientation;\n }\n\n if (imgSize.exif_location &&\n imgSize.exif_location.offset + imgSize.exif_location.length <= data.length) {\n\n var sig_offset = readUInt32BE(data, imgSize.exif_location.offset);\n var exif_data = data.slice(\n imgSize.exif_location.offset + sig_offset + 4,\n imgSize.exif_location.offset + imgSize.exif_location.length);\n\n var orientation = exif.get_orientation(exif_data);\n\n if (orientation > 0) result.orientation = orientation;\n }\n\n return result;\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar readUInt16LE = require('../common').readUInt16LE;\n\nvar SIG_BM = str2arr('BM');\n\n\nmodule.exports = function (data) {\n if (data.length < 26) return;\n\n if (!sliceEq(data, 0, SIG_BM)) return;\n\n return {\n width: readUInt16LE(data, 18),\n height: readUInt16LE(data, 22),\n type: 'bmp',\n mime: 'image/bmp',\n wUnits: 'px',\n hUnits: 'px'\n };\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar readUInt16LE = require('../common').readUInt16LE;\n\n\nvar SIG_GIF87a = str2arr('GIF87a');\nvar SIG_GIF89a = str2arr('GIF89a');\n\n\nmodule.exports = function (data) {\n if (data.length < 10) return;\n\n if (!sliceEq(data, 0, SIG_GIF87a) && !sliceEq(data, 0, SIG_GIF89a)) return;\n\n return {\n width: readUInt16LE(data, 6),\n height: readUInt16LE(data, 8),\n type: 'gif',\n mime: 'image/gif',\n wUnits: 'px',\n hUnits: 'px'\n };\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nvar readUInt16LE = require('../common').readUInt16LE;\n\nvar HEADER = 0;\nvar TYPE_ICO = 1;\nvar INDEX_SIZE = 16;\n\n// Format specification:\n// https://en.wikipedia.org/wiki/ICO_(file_format)#Icon_resource_structure\nmodule.exports = function (data) {\n var header = readUInt16LE(data, 0);\n var type = readUInt16LE(data, 2);\n var numImages = readUInt16LE(data, 4);\n\n if (header !== HEADER || type !== TYPE_ICO || !numImages) {\n return;\n }\n\n var variants = [];\n var maxSize = { width: 0, height: 0 };\n\n for (var i = 0; i < numImages; i++) {\n var width = data[6 + INDEX_SIZE * i] || 256;\n var height = data[6 + INDEX_SIZE * i + 1] || 256;\n var size = { width: width, height: height };\n variants.push(size);\n\n if (width > maxSize.width || height > maxSize.height) {\n maxSize = size;\n }\n }\n\n return {\n width: maxSize.width,\n height: maxSize.height,\n variants: variants,\n type: 'ico',\n mime: 'image/x-icon',\n wUnits: 'px',\n hUnits: 'px'\n };\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nvar readUInt16BE = require('../common').readUInt16BE;\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar exif = require('../exif_utils');\n\n\nvar SIG_EXIF = str2arr('Exif\\0\\0');\n\n\nmodule.exports = function (data) {\n if (data.length < 2) return;\n\n // first marker of the file MUST be 0xFFD8,\n // following by either 0xFFE0, 0xFFE2 or 0xFFE3\n if (data[0] !== 0xFF || data[1] !== 0xD8 || data[2] !== 0xFF) return;\n\n var offset = 2;\n\n for (;;) {\n // skip until we see 0xFF, see https://github.com/nodeca/probe-image-size/issues/68\n for (;;) {\n if (data.length - offset < 2) return;\n if (data[offset++] === 0xFF) break;\n }\n\n var code = data[offset++];\n var length;\n\n // skip padding bytes\n while (code === 0xFF) code = data[offset++];\n\n // standalone markers, according to JPEG 1992,\n // http://www.w3.org/Graphics/JPEG/itu-t81.pdf, see Table B.1\n if ((0xD0 <= code && code <= 0xD9) || code === 0x01) {\n length = 0;\n } else if (0xC0 <= code && code <= 0xFE) {\n // the rest of the unreserved markers\n if (data.length - offset < 2) return;\n\n length = readUInt16BE(data, offset) - 2;\n offset += 2;\n } else {\n // unknown markers\n return;\n }\n\n if (code === 0xD9 /* EOI */ || code === 0xDA /* SOS */) {\n // end of the datastream\n return;\n }\n\n var orientation;\n\n // try to get orientation from Exif segment\n if (code === 0xE1 && length >= 10 && sliceEq(data, offset, SIG_EXIF)) {\n orientation = exif.get_orientation(data.slice(offset + 6, offset + length));\n }\n\n if (length >= 5 &&\n (0xC0 <= code && code <= 0xCF) &&\n code !== 0xC4 && code !== 0xC8 && code !== 0xCC) {\n\n if (data.length - offset < length) return;\n\n var result = {\n width: readUInt16BE(data, offset + 3),\n height: readUInt16BE(data, offset + 1),\n type: 'jpg',\n mime: 'image/jpeg',\n wUnits: 'px',\n hUnits: 'px'\n };\n\n if (orientation > 0) {\n result.orientation = orientation;\n }\n\n return result;\n }\n\n offset += length;\n }\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar readUInt32BE = require('../common').readUInt32BE;\n\n\nvar SIG_PNG = str2arr('\\x89PNG\\r\\n\\x1a\\n');\nvar SIG_IHDR = str2arr('IHDR');\n\n\nmodule.exports = function (data) {\n if (data.length < 24) return;\n\n // check PNG signature\n if (!sliceEq(data, 0, SIG_PNG)) return;\n\n // check that first chunk is IHDR\n if (!sliceEq(data, 12, SIG_IHDR)) return;\n\n return {\n width: readUInt32BE(data, 16),\n height: readUInt32BE(data, 20),\n type: 'png',\n mime: 'image/png',\n wUnits: 'px',\n hUnits: 'px'\n };\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar readUInt32BE = require('../common').readUInt32BE;\n\n\nvar SIG_8BPS = str2arr('8BPS\\x00\\x01');\n\n\nmodule.exports = function (data) {\n if (data.length < 6 + 16) return;\n\n // signature + version\n if (!sliceEq(data, 0, SIG_8BPS)) return;\n\n return {\n width: readUInt32BE(data, 6 + 12),\n height: readUInt32BE(data, 6 + 8),\n type: 'psd',\n mime: 'image/vnd.adobe.photoshop',\n wUnits: 'px',\n hUnits: 'px'\n };\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nfunction isWhiteSpace(chr) {\n return chr === 0x20 || chr === 0x09 || chr === 0x0D || chr === 0x0A;\n}\n\n// Filter NaN, Infinity, < 0\nfunction isFinitePositive(val) {\n return typeof val === 'number' && isFinite(val) && val > 0;\n}\n\nfunction canBeSvg(buf) {\n var i = 0, max = buf.length;\n\n // byte order mark, https://github.com/nodeca/probe-image-size/issues/57\n if (buf[0] === 0xEF && buf[1] === 0xBB && buf[2] === 0xBF) i = 3;\n\n while (i < max && isWhiteSpace(buf[i])) i++;\n\n if (i === max) return false;\n return buf[i] === 0x3c; /* < */\n}\n\n\n// skip `<?` (comments), `<!` (directives, cdata, doctype),\n// looking for `<svg>` or `<NAMESPACE:svg>`\nvar SVG_HEADER_RE = /<[-_.:a-zA-Z0-9][^>]*>/;\n\n// test if the top level element is svg + optional namespace,\n// used to skip svg embedded in html\nvar SVG_TAG_RE = /^<([-_.:a-zA-Z0-9]+:)?svg\\s/;\n\nvar SVG_WIDTH_RE = /[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/;\nvar SVG_HEIGHT_RE = /\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/;\nvar SVG_VIEWBOX_RE = /\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/;\nvar SVG_UNITS_RE = /in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;\n\nfunction svgAttrs(str) {\n var width = str.match(SVG_WIDTH_RE);\n var height = str.match(SVG_HEIGHT_RE);\n var viewbox = str.match(SVG_VIEWBOX_RE);\n\n return {\n width: width && (width[1] || width[2]),\n height: height && (height[1] || height[2]),\n viewbox: viewbox && (viewbox[1] || viewbox[2])\n };\n}\n\n\nfunction units(str) {\n if (!SVG_UNITS_RE.test(str)) return 'px';\n\n return str.match(SVG_UNITS_RE)[0];\n}\n\n\nmodule.exports = function (data) {\n if (!canBeSvg(data)) return;\n\n var str = '';\n\n for (var i = 0; i < data.length; i++) {\n // 1. We can't rely on buffer features\n // 2. Don't care about UTF16 because ascii is enougth for our goals\n str += String.fromCharCode(data[i]);\n }\n\n // get top level element\n var svgTag = (str.match(SVG_HEADER_RE) || [ '' ])[0];\n\n // test if top level element is <svg>\n if (!SVG_TAG_RE.test(svgTag)) return;\n\n var attrs = svgAttrs(svgTag);\n var width = parseFloat(attrs.width);\n var height = parseFloat(attrs.height);\n\n // Extract from direct values\n\n if (attrs.width && attrs.height) {\n if (!isFinitePositive(width) || !isFinitePositive(height)) return;\n\n return {\n width: width,\n height: height,\n type: 'svg',\n mime: 'image/svg+xml',\n wUnits: units(attrs.width),\n hUnits: units(attrs.height)\n };\n }\n\n // Extract from viewbox\n\n var parts = (attrs.viewbox || '').split(' ');\n var viewbox = {\n width: parts[2],\n height: parts[3]\n };\n var vbWidth = parseFloat(viewbox.width);\n var vbHeight = parseFloat(viewbox.height);\n\n if (!isFinitePositive(vbWidth) || !isFinitePositive(vbHeight)) return;\n if (units(viewbox.width) !== units(viewbox.height)) return;\n\n var ratio = vbWidth / vbHeight;\n\n if (attrs.width) {\n if (!isFinitePositive(width)) return;\n\n return {\n width: width,\n height: width / ratio,\n type: 'svg',\n mime: 'image/svg+xml',\n wUnits: units(attrs.width),\n hUnits: units(attrs.width)\n };\n }\n\n if (attrs.height) {\n if (!isFinitePositive(height)) return;\n\n return {\n width: height * ratio,\n height: height,\n type: 'svg',\n mime: 'image/svg+xml',\n wUnits: units(attrs.height),\n hUnits: units(attrs.height)\n };\n }\n\n return {\n width: vbWidth,\n height: vbHeight,\n type: 'svg',\n mime: 'image/svg+xml',\n wUnits: units(viewbox.width),\n hUnits: units(viewbox.height)\n };\n};\n","'use strict';\n\n/* eslint-disable consistent-return */\n\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar readUInt16LE = require('../common').readUInt16LE;\nvar readUInt16BE = require('../common').readUInt16BE;\nvar readUInt32LE = require('../common').readUInt32LE;\nvar readUInt32BE = require('../common').readUInt32BE;\n\n\nvar SIG_1 = str2arr('II\\x2A\\0');\nvar SIG_2 = str2arr('MM\\0\\x2A');\n\n\nfunction readUInt16(buffer, offset, is_big_endian) {\n return is_big_endian ? readUInt16BE(buffer, offset) : readUInt16LE(buffer, offset);\n}\n\nfunction readUInt32(buffer, offset, is_big_endian) {\n return is_big_endian ? readUInt32BE(buffer, offset) : readUInt32LE(buffer, offset);\n}\n\nfunction readIFDValue(data, data_offset, is_big_endian) {\n var type = readUInt16(data, data_offset + 2, is_big_endian);\n var values = readUInt32(data, data_offset + 4, is_big_endian);\n\n if (values !== 1 || (type !== 3 && type !== 4)) return null;\n\n if (type === 3) {\n return readUInt16(data, data_offset + 8, is_big_endian);\n }\n\n return readUInt32(data, data_offset + 8, is_big_endian);\n}\n\nmodule.exports = function (data) {\n if (data.length < 8) return;\n\n // check TIFF signature\n if (!sliceEq(data, 0, SIG_1) && !sliceEq(data, 0, SIG_2)) return;\n\n var is_big_endian = (data[0] === 77 /* 'MM' */);\n var count = readUInt32(data, 4, is_big_endian) - 8;\n\n if (count < 0) return;\n\n // skip until IFD\n var offset = count + 8;\n\n if (data.length - offset < 2) return;\n\n // read number of IFD entries\n var ifd_size = readUInt16(data, offset + 0, is_big_endian) * 12;\n\n if (ifd_size <= 0) return;\n\n offset += 2;\n\n // read all IFD entries\n if (data.length - offset < ifd_size) return;\n\n var i, width, height, tag;\n\n for (i = 0; i < ifd_size; i += 12) {\n tag = readUInt16(data, offset + i, is_big_endian);\n\n if (tag === 256) {\n width = readIFDValue(data, offset + i, is_big_endian);\n } else if (tag === 257) {\n height = readIFDValue(data, offset + i, is_big_endian);\n }\n }\n\n if (width && height) {\n return {\n width: width,\n height: height,\n type: 'tiff',\n mime: 'image/tiff',\n wUnits: 'px',\n hUnits: 'px'\n };\n }\n};\n","'use strict';\n\n/* eslint-disable no-bitwise */\n/* eslint-disable consistent-return */\n\nvar str2arr = require('../common').str2arr;\nvar sliceEq = require('../common').sliceEq;\nvar readUInt16LE = require('../common').readUInt16LE;\nvar readUInt32LE = require('../common').readUInt32LE;\nvar exif = require('../exif_utils');\n\n\nvar SIG_RIFF = str2arr('RIFF');\nvar SIG_WEBP = str2arr('WEBP');\n\n\nfunction parseVP8(data, offset) {\n if (data[offset + 3] !== 0x9D || data[offset + 4] !== 0x01 || data[offset + 5] !== 0x2A) {\n // bad code block signature\n return;\n }\n\n return {\n width: readUInt16LE(data, offset + 6) & 0x3FFF,\n height: readUInt16LE(data, offset + 8) & 0x3FFF,\n type: 'webp',\n mime: 'image/webp',\n wUnits: 'px',\n hUnits: 'px'\n };\n}\n\n\nfunction parseVP8L(data, offset) {\n if (data[offset] !== 0x2F) return;\n\n var bits = readUInt32LE(data, offset + 1);\n\n return {\n width: (bits & 0x3FFF) + 1,\n height: ((bits >> 14) & 0x3FFF) + 1,\n type: 'webp',\n mime: 'image/webp',\n wUnits: 'px',\n hUnits: 'px'\n };\n}\n\n\nfunction parseVP8X(data, offset) {\n return {\n // TODO: replace with `data.readUIntLE(8, 3) + 1`\n // when 0.10 support is dropped\n width: ((data[offset + 6] << 16) | (data[offset + 5] << 8) | data[offset + 4]) + 1,\n height: ((data[offset + 9] << offset) | (data[offset + 8] << 8) | data[offset + 7]) + 1,\n type: 'webp',\n mime: 'image/webp',\n wUnits: 'px',\n hUnits: 'px'\n };\n}\n\n\nmodule.exports = function (data) {\n if (data.length < 16) return;\n\n // check /^RIFF....WEBPVP8([ LX])$/ signature\n if (!sliceEq(data, 0, SIG_RIFF) && !sliceEq(data, 8, SIG_WEBP)) return;\n\n var offset = 12;\n var result = null;\n var exif_orientation = 0;\n var fileLength = readUInt32LE(data, 4) + 8;\n\n if (fileLength > data.length) return;\n\n while (offset + 8 < fileLength) {\n if (data[offset] === 0) {\n // after each chunk of odd size there should be 0 byte of padding, skip those\n offset++;\n continue;\n }\n\n var header = String.fromCharCode.apply(null, data.slice(offset, offset + 4));\n var length = readUInt32LE(data, offset + 4);\n\n if (header === 'VP8 ' && length >= 10) {\n result = result || parseVP8(data, offset + 8);\n } else if (header === 'VP8L' && length >= 9) {\n result = result || parseVP8L(data, offset + 8);\n } else if (header === 'VP8X' && length >= 10) {\n result = result || parseVP8X(data, offset + 8);\n } else if (header === 'EXIF') {\n exif_orientation = exif.get_orientation(data.slice(offset + 8, offset + 8 + length));\n\n // exif is the last chunk we care about, stop after it\n offset = Infinity;\n }\n\n offset += 8 + length;\n }\n\n if (!result) return;\n\n if (exif_orientation > 0) {\n result.orientation = exif_orientation;\n }\n\n return result;\n};\n","'use strict';\n\n\nmodule.exports = {\n avif: require('./parse_sync/avif'),\n bmp: require('./parse_sync/bmp'),\n gif: require('./parse_sync/gif'),\n ico: require('./parse_sync/ico'),\n jpeg: require('./parse_sync/jpeg'),\n png: require('./parse_sync/png'),\n psd: require('./parse_sync/psd'),\n svg: require('./parse_sync/svg'),\n tiff: require('./parse_sync/tiff'),\n webp: require('./parse_sync/webp')\n};\n","'use strict';\n\n\nvar parsers = require('./lib/parsers_sync');\n\n\nfunction probeBuffer(buffer) {\n var parser_names = Object.keys(parsers);\n\n for (var i = 0; i < parser_names.length; i++) {\n var result = parsers[parser_names[i]](buffer);\n\n if (result) return result;\n }\n\n return null;\n}\n\n\n///////////////////////////////////////////////////////////////////////\n// Exports\n//\n\nmodule.exports = function get_image_size(src) {\n return probeBuffer(src);\n};\n\nmodule.exports.parsers = parsers;\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],"mappings":"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"}