@visulima/vis 2.0.2 → 3.0.1

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 (306) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/LICENSE.md +5395 -4307
  3. package/dist/bin.js +1 -1
  4. package/dist/binx.js +2 -2
  5. package/dist/config/index.js +1 -1
  6. package/dist/packem_chunks/CONFIG_FILES.js +6 -6
  7. package/dist/packem_chunks/DEFAULT_CLEAN_KEEP.js +1 -1
  8. package/dist/packem_chunks/agent-instructions.js +7 -7
  9. package/dist/packem_chunks/bloom-status.js +2 -2
  10. package/dist/packem_chunks/bloom-sync.js +2 -2
  11. package/dist/packem_chunks/cache-attestation.js +1 -1
  12. package/dist/packem_chunks/catalog-detector.js +1 -1
  13. package/dist/packem_chunks/catalog.js +87 -111
  14. package/dist/packem_chunks/cli-exec.js +1 -1
  15. package/dist/packem_chunks/cli-main.js +192 -217
  16. package/dist/packem_chunks/defineReleasePlugin.js +3 -3
  17. package/dist/packem_chunks/detect.js +8 -3
  18. package/dist/packem_chunks/devtools.js +1 -1
  19. package/dist/packem_chunks/discord.js +4 -4
  20. package/dist/packem_chunks/dispatch.js +4 -4
  21. package/dist/packem_chunks/doctor-probe.js +2 -2
  22. package/dist/packem_chunks/extra-files.js +3 -3
  23. package/dist/packem_chunks/fix.js +11 -11
  24. package/dist/packem_chunks/git.js +3 -3
  25. package/dist/packem_chunks/group-tags.js +1 -1
  26. package/dist/packem_chunks/handler.js +1 -1
  27. package/dist/packem_chunks/handler10.js +5 -5
  28. package/dist/packem_chunks/handler11.js +1 -1
  29. package/dist/packem_chunks/handler12.js +16 -16
  30. package/dist/packem_chunks/handler13.js +5 -5
  31. package/dist/packem_chunks/handler14.js +1 -1
  32. package/dist/packem_chunks/handler15.js +1 -1
  33. package/dist/packem_chunks/handler16.js +1 -1
  34. package/dist/packem_chunks/handler17.js +1 -1
  35. package/dist/packem_chunks/handler18.js +1 -1
  36. package/dist/packem_chunks/handler19.js +5 -5
  37. package/dist/packem_chunks/handler2.js +1 -1
  38. package/dist/packem_chunks/handler20.js +2 -2
  39. package/dist/packem_chunks/handler21.js +2 -2
  40. package/dist/packem_chunks/handler22.js +8 -8
  41. package/dist/packem_chunks/handler23.js +1 -1
  42. package/dist/packem_chunks/handler24.js +1 -1
  43. package/dist/packem_chunks/handler25.js +1 -1
  44. package/dist/packem_chunks/handler26.js +5 -5
  45. package/dist/packem_chunks/handler27.js +1 -1
  46. package/dist/packem_chunks/handler28.js +3 -3
  47. package/dist/packem_chunks/handler29.js +1 -1
  48. package/dist/packem_chunks/handler3.js +2 -2
  49. package/dist/packem_chunks/handler30.js +1 -1
  50. package/dist/packem_chunks/handler31.js +2 -2
  51. package/dist/packem_chunks/handler32.js +2 -2
  52. package/dist/packem_chunks/handler33.js +2 -2
  53. package/dist/packem_chunks/handler34.js +3 -3
  54. package/dist/packem_chunks/handler35.js +5 -5
  55. package/dist/packem_chunks/handler36.js +1 -1
  56. package/dist/packem_chunks/handler37.js +2 -2
  57. package/dist/packem_chunks/handler38.js +6 -6
  58. package/dist/packem_chunks/handler39.js +8 -8
  59. package/dist/packem_chunks/handler4.js +4 -4
  60. package/dist/packem_chunks/handler40.js +34 -34
  61. package/dist/packem_chunks/handler41.js +5 -5
  62. package/dist/packem_chunks/handler42.js +4 -4
  63. package/dist/packem_chunks/handler43.js +3 -3
  64. package/dist/packem_chunks/handler44.js +2 -2
  65. package/dist/packem_chunks/handler45.js +1 -1
  66. package/dist/packem_chunks/handler46.js +1 -1
  67. package/dist/packem_chunks/handler47.js +1 -1
  68. package/dist/packem_chunks/handler48.js +3 -3
  69. package/dist/packem_chunks/handler49.js +1 -1
  70. package/dist/packem_chunks/handler5.js +6 -6
  71. package/dist/packem_chunks/handler50.js +6 -6
  72. package/dist/packem_chunks/handler51.js +13 -13
  73. package/dist/packem_chunks/handler52.js +3 -3
  74. package/dist/packem_chunks/handler53.js +5 -5
  75. package/dist/packem_chunks/handler54.js +2 -2
  76. package/dist/packem_chunks/handler55.js +1 -1
  77. package/dist/packem_chunks/handler56.js +4 -4
  78. package/dist/packem_chunks/handler57.js +5 -5
  79. package/dist/packem_chunks/handler58.js +5 -5
  80. package/dist/packem_chunks/handler59.js +8 -8
  81. package/dist/packem_chunks/handler6.js +7 -7
  82. package/dist/packem_chunks/handler60.js +3 -3
  83. package/dist/packem_chunks/handler61.js +21 -21
  84. package/dist/packem_chunks/handler62.js +12 -12
  85. package/dist/packem_chunks/handler63.js +3 -3
  86. package/dist/packem_chunks/handler64.js +5 -5
  87. package/dist/packem_chunks/handler65.js +8 -8
  88. package/dist/packem_chunks/handler66.js +2 -2
  89. package/dist/packem_chunks/handler67.js +21 -21
  90. package/dist/packem_chunks/handler68.js +21 -21
  91. package/dist/packem_chunks/handler69.js +30 -30
  92. package/dist/packem_chunks/handler7.js +1 -1
  93. package/dist/packem_chunks/handler70.js +9 -9
  94. package/dist/packem_chunks/handler71.js +17 -17
  95. package/dist/packem_chunks/handler72.js +104 -104
  96. package/dist/packem_chunks/handler73.js +20 -20
  97. package/dist/packem_chunks/handler74.js +45 -45
  98. package/dist/packem_chunks/handler75.js +27 -3
  99. package/dist/packem_chunks/handler76.js +3 -27
  100. package/dist/packem_chunks/handler77.js +68 -68
  101. package/dist/packem_chunks/handler78.js +30 -30
  102. package/dist/packem_chunks/handler8.js +1 -1
  103. package/dist/packem_chunks/handler9.js +1 -1
  104. package/dist/packem_chunks/heal-accept.js +9 -9
  105. package/dist/packem_chunks/heal.js +11 -11
  106. package/dist/packem_chunks/help-command.js +7 -63
  107. package/dist/packem_chunks/index.js +1 -1
  108. package/dist/packem_chunks/index2.js +48 -802
  109. package/dist/packem_chunks/index3.js +3 -7
  110. package/dist/packem_chunks/index4.js +803 -134
  111. package/dist/packem_chunks/index5.js +7 -73
  112. package/dist/packem_chunks/index6.js +73 -0
  113. package/dist/packem_chunks/index7.js +135 -0
  114. package/dist/packem_chunks/interface.js +2 -2
  115. package/dist/packem_chunks/keys-refresh.js +4 -4
  116. package/dist/packem_chunks/lean.js +3 -3
  117. package/dist/packem_chunks/list.js +3 -3
  118. package/dist/packem_chunks/loader.js +4 -4
  119. package/dist/packem_chunks/loader2.js +1 -1
  120. package/dist/packem_chunks/orchestrator.js +27 -27
  121. package/dist/packem_chunks/pre-mode.js +2 -2
  122. package/dist/packem_chunks/print-config.js +1 -1
  123. package/dist/packem_chunks/prompts.js +7 -7
  124. package/dist/packem_chunks/prune.js +3 -3
  125. package/dist/packem_chunks/publish-guards.js +1 -1
  126. package/dist/packem_chunks/resolveFormatter.js +5 -5
  127. package/dist/packem_chunks/run.js +1 -1
  128. package/dist/packem_chunks/security.js +1 -1
  129. package/dist/packem_chunks/shell-runner.js +1 -1
  130. package/dist/packem_chunks/slack.js +2 -2
  131. package/dist/packem_chunks/snapshot.js +2 -2
  132. package/dist/packem_chunks/stage-publisher.js +1 -1
  133. package/dist/packem_chunks/staged-registry.js +2 -2
  134. package/dist/packem_chunks/state.js +3 -3
  135. package/dist/packem_chunks/status.js +2 -2
  136. package/dist/packem_chunks/success-walk.js +4 -4
  137. package/dist/packem_chunks/sync.js +2 -2
  138. package/dist/packem_chunks/sync2.js +2 -2
  139. package/dist/packem_chunks/tar.js +3 -3
  140. package/dist/packem_chunks/tripwire.js +2 -2
  141. package/dist/packem_chunks/ts-loader.js +5 -9
  142. package/dist/packem_chunks/verify-lockfile.js +2 -2
  143. package/dist/packem_chunks/version-resolver.js +2 -2
  144. package/dist/packem_chunks/webhook.js +1 -1
  145. package/dist/packem_chunks/workflow-templates.js +5 -5
  146. package/dist/packem_chunks/workspace.js +2 -2
  147. package/dist/packem_shared/ReleaseClient-DAvbxCdo.js +1 -0
  148. package/dist/packem_shared/Table-DyORjLji-CC9cYgCG.js +11 -0
  149. package/dist/packem_shared/{VisReleaseError-DMGRBTNO.js → VisReleaseError-DZtgcKf8.js} +1 -1
  150. package/dist/packem_shared/_commonjsHelpers-DTfxOvZk.js +1 -0
  151. package/dist/packem_shared/advisories-CyDqzi5j.js +1 -0
  152. package/dist/packem_shared/affected-selection-DPQR-Bd3.js +1 -0
  153. package/dist/packem_shared/affected-shas-Dd0P7fGD.js +1 -0
  154. package/dist/packem_shared/ai-analysis-DSQQDFU9.js +68 -0
  155. package/dist/packem_shared/ai-fix-6nXZbecQ.js +43 -0
  156. package/dist/packem_shared/augment-COAiXSIx.js +4 -0
  157. package/dist/packem_shared/bin-wafzkjaB.js +1 -0
  158. package/dist/packem_shared/build-scripts-pdVmqXRm.js +1 -0
  159. package/dist/packem_shared/clean-DRiLimTx.js +1 -0
  160. package/dist/packem_shared/command-runtime-CiLVo4ED.js +1 -0
  161. package/dist/packem_shared/{compile-cache-B_Vf_WxT.js → compile-cache-DoMHRsRZ.js} +1 -1
  162. package/dist/packem_shared/createAdapter-F7GidOzU.js +1 -0
  163. package/dist/packem_shared/createVersionActions-ByaJ1Nbv.js +1 -0
  164. package/dist/packem_shared/cyclonedx-C_ezHg8b.js +4 -0
  165. package/dist/packem_shared/dependency-scan-DBH2Qo4I.js +1 -0
  166. package/dist/packem_shared/docker-Br_iFmI-.js +59 -0
  167. package/dist/packem_shared/failure-log-D92tM0ie.js +2 -0
  168. package/dist/packem_shared/formatBytes-BHAzNIrn-DFIppnY0.js +4 -0
  169. package/dist/packem_shared/getRandomSpinner-4ZEcbTYv-DCyIuj19.js +1 -0
  170. package/dist/packem_shared/giget-CVyyR7x8.js +2 -0
  171. package/dist/packem_shared/glob-Cyk1H9ZL-ox19CSsT.js +1 -0
  172. package/dist/packem_shared/index-B4AjSxHU.js +1 -0
  173. package/dist/packem_shared/index-BisalDCf.js +39 -0
  174. package/dist/packem_shared/{index-BWl4DbMp.js → index-BjdW45xX.js} +1 -1
  175. package/dist/packem_shared/index-DHD8wb6Z.js +22 -0
  176. package/dist/packem_shared/index-DXPSWMbG.js +1 -0
  177. package/dist/packem_shared/index.server-CwSgbeN7.js +2 -0
  178. package/dist/packem_shared/isAccessibleSync-DYKTrrvc-CSnBISfV.js +1 -0
  179. package/dist/packem_shared/license-DvlYdo6T.js +1 -0
  180. package/dist/packem_shared/lifecycle-CfTZQHOG.js +2 -0
  181. package/dist/packem_shared/lockfile-35RFsJDs.js +1 -0
  182. package/dist/packem_shared/lockfile-DhHAaHN5.js +1 -0
  183. package/dist/packem_shared/main-BjJN8kWj.js +1 -0
  184. package/dist/packem_shared/manifests-BNSmpPF_.js +1 -0
  185. package/dist/packem_shared/min-release-age-ChzTC7_I.js +34 -0
  186. package/dist/packem_shared/missing-package-json-C0keIt78.js +1 -0
  187. package/dist/packem_shared/native-config-sync-BSzU4qUO.js +21 -0
  188. package/dist/packem_shared/osv-bloom-5wDAoZ1e.js +2 -0
  189. package/dist/packem_shared/otelPlugin-D8LL2-4L.js +1 -0
  190. package/dist/packem_shared/package-version-BJkg7-6H.js +4 -0
  191. package/dist/packem_shared/packument-C55kVxcQ.js +1 -0
  192. package/dist/packem_shared/{peer-warnings-BXAzXqY3.js → peer-warnings-CmYSxvql.js} +1 -1
  193. package/dist/packem_shared/pm-runner-de-jCq8q.js +1 -0
  194. package/dist/packem_shared/project-name-filter-BeREbPMI.js +7 -0
  195. package/dist/packem_shared/{prompt-BSAy8SMH.js → prompt-DMzaQEVa.js} +1 -1
  196. package/dist/packem_shared/provenance-CvfQEJPQ.js +1 -0
  197. package/dist/packem_shared/readJsonSync-CbryXYxN-B2aSeDpC.js +1 -0
  198. package/dist/packem_shared/registry-keys-DmBrAlhg.js +1 -0
  199. package/dist/packem_shared/resolve-explicit-COmP7eqr.js +5 -0
  200. package/dist/packem_shared/resolve-runtime-C7NBCA1C.js +1 -0
  201. package/dist/packem_shared/run-file-jMngGQhs.js +1 -0
  202. package/dist/packem_shared/runtime-check-BklgEMkC.js +1 -0
  203. package/dist/packem_shared/s1ngularity-RZOHbGrE.js +1 -0
  204. package/dist/packem_shared/scan-progress-C9nMDLis.js +2 -0
  205. package/dist/packem_shared/selectors-B7lSFz7l.js +3 -0
  206. package/dist/packem_shared/signatures-oZ_2IneN.js +2 -0
  207. package/dist/packem_shared/{slug-DoueYuLo.js → slug-OBHcH7wV.js} +1 -1
  208. package/dist/packem_shared/spinner-CbJfWYwB.js +1 -0
  209. package/dist/packem_shared/sticky-comment-DjhyCIZt.js +1 -0
  210. package/dist/packem_shared/subtree-DtmcKAJK.js +2 -0
  211. package/dist/packem_shared/symbols-BXDZ_sKt.js +1 -0
  212. package/dist/packem_shared/tabs-BilwonkM.js +1 -0
  213. package/dist/packem_shared/target-merge-D1xbylFw.js +4 -0
  214. package/dist/packem_shared/target-options-d_rIrLyq.js +1 -0
  215. package/dist/packem_shared/toolchain-DY11tPCw.js +5 -0
  216. package/dist/packem_shared/typosquats-D8ppc5kr.js +1 -0
  217. package/dist/packem_shared/use-measured-height-BPQg2q_p.js +1 -0
  218. package/dist/packem_shared/utils-DQFHJn72.js +1 -0
  219. package/dist/packem_shared/verify-D8wYvB85.js +1 -0
  220. package/dist/packem_shared/vis-update-app-ngwL2mRv.js +1 -0
  221. package/dist/packem_shared/vis-user-error-jhNwmkZp.js +30 -0
  222. package/dist/packem_shared/watch-Dswvj6Zp.js +1 -0
  223. package/dist/packem_shared/watch-loop-COWvvSbR.js +11 -0
  224. package/dist/packem_shared/writeFileSync-DJoHk3Ks-CgQ-VNNT.js +1 -0
  225. package/dist/release/core/changelog/index.d.ts +62 -2
  226. package/dist/release/core/package-managers/index.d.ts +25 -1
  227. package/dist/release/core/package-managers/index.js +1 -1
  228. package/dist/release/core/version-actions/index.d.ts +47 -2
  229. package/dist/release/core/version-actions/index.js +1 -1
  230. package/dist/release/index.d.ts +100 -1
  231. package/dist/release/index.js +1 -1
  232. package/dist/release/plugin-sdk.d.ts +16 -1
  233. package/dist/release/plugin-sdk.js +1 -1
  234. package/dist/release/presets.js +1 -1
  235. package/dist/release/types.js +1 -1
  236. package/dist/runtime/preload.js +1 -1
  237. package/index.d.ts +204 -204
  238. package/index.js +26 -26
  239. package/package.json +13 -13
  240. package/dist/packem_chunks/detect2.js +0 -8
  241. package/dist/packem_chunks/registry.js +0 -48
  242. package/dist/packem_shared/ReleaseClient-BY4OZNCK.js +0 -1
  243. package/dist/packem_shared/_commonjsHelpers-B5Y90VFO.js +0 -1
  244. package/dist/packem_shared/advisories-CCBGdU8U.js +0 -1
  245. package/dist/packem_shared/affected-selection-Dj-ymxhw.js +0 -1
  246. package/dist/packem_shared/affected-shas-PwkVbPch.js +0 -1
  247. package/dist/packem_shared/ai-analysis-bGCAc1jR.js +0 -68
  248. package/dist/packem_shared/ai-fix-DV5-dHBY.js +0 -43
  249. package/dist/packem_shared/augment-24KX2nkI.js +0 -4
  250. package/dist/packem_shared/bin-CtzhnYMp.js +0 -1
  251. package/dist/packem_shared/build-scripts-w4SNeR7D.js +0 -1
  252. package/dist/packem_shared/clean-DWjQl14S.js +0 -1
  253. package/dist/packem_shared/command-runtime-BLFPUYAT.js +0 -1
  254. package/dist/packem_shared/createAdapter-bU4DIP3F.js +0 -1
  255. package/dist/packem_shared/createVersionActions-BK43SNDH.js +0 -1
  256. package/dist/packem_shared/cyclonedx-C4KaVTn1.js +0 -4
  257. package/dist/packem_shared/dependency-scan-D_ona0Qm.js +0 -1
  258. package/dist/packem_shared/docker-DaVs-9wK.js +0 -59
  259. package/dist/packem_shared/en-D3CfXlO7.js +0 -27
  260. package/dist/packem_shared/failure-log-CTneNcio.js +0 -2
  261. package/dist/packem_shared/giget-CAxjpwew.js +0 -2
  262. package/dist/packem_shared/glob-BUjyjdE8-C4M8e02u.js +0 -1
  263. package/dist/packem_shared/index-BAe6e0XE.js +0 -1
  264. package/dist/packem_shared/index-CTMU29dI.js +0 -1
  265. package/dist/packem_shared/index-uBVnF4ji.js +0 -35
  266. package/dist/packem_shared/index.server-CusjRLCh.js +0 -2
  267. package/dist/packem_shared/license-t5KnNX6v.js +0 -1
  268. package/dist/packem_shared/lifecycle-B8A2T3gx.js +0 -2
  269. package/dist/packem_shared/lockfile-Bccery3L.js +0 -1
  270. package/dist/packem_shared/main-D_cam4hv.js +0 -1
  271. package/dist/packem_shared/manifests-BDkwiVbh.js +0 -1
  272. package/dist/packem_shared/min-release-age-OaYpLwux.js +0 -34
  273. package/dist/packem_shared/missing-package-json-BqS-OnKd.js +0 -1
  274. package/dist/packem_shared/native-config-sync-Ds1FtcrM.js +0 -21
  275. package/dist/packem_shared/osv-bloom-pKp7urSB.js +0 -2
  276. package/dist/packem_shared/otelPlugin-DmKDBaPo.js +0 -1
  277. package/dist/packem_shared/package-version-C47v64aB.js +0 -4
  278. package/dist/packem_shared/packument-HBVbyf7x.js +0 -1
  279. package/dist/packem_shared/pm-runner-C6eTANt1.js +0 -1
  280. package/dist/packem_shared/project-name-filter-CJ3XX2TI.js +0 -7
  281. package/dist/packem_shared/provenance-D4Cza8cp.js +0 -1
  282. package/dist/packem_shared/public-api-WqUCiyIe.js +0 -131
  283. package/dist/packem_shared/readJsonSync-DweZd5ZA-0eZh9sGm.js +0 -1
  284. package/dist/packem_shared/registry-keys-C0ez2VND.js +0 -1
  285. package/dist/packem_shared/resolve-explicit-BbT764KS.js +0 -5
  286. package/dist/packem_shared/resolve-runtime-D_vZovbB.js +0 -1
  287. package/dist/packem_shared/run-file-DyPFFN9U.js +0 -1
  288. package/dist/packem_shared/runtime-check-D4um-yQq.js +0 -1
  289. package/dist/packem_shared/s1ngularity-St6dhKiq.js +0 -1
  290. package/dist/packem_shared/scan-progress-q-N2JtIp.js +0 -2
  291. package/dist/packem_shared/selectors-Ce_6UAoY.js +0 -3
  292. package/dist/packem_shared/signatures-Dyeyg1q9.js +0 -2
  293. package/dist/packem_shared/sticky-comment-D6_7-w8T.js +0 -1
  294. package/dist/packem_shared/subtree-DSm0QEoE.js +0 -2
  295. package/dist/packem_shared/symbols-DPTlrJ3B.js +0 -1
  296. package/dist/packem_shared/target-merge-Cfy7c__2.js +0 -11
  297. package/dist/packem_shared/target-options-7XcbqGDe.js +0 -1
  298. package/dist/packem_shared/toolchain-C_pNMBM6.js +0 -5
  299. package/dist/packem_shared/typosquats-xzcAGPiM.js +0 -1
  300. package/dist/packem_shared/use-measured-height-CBjN0fle.js +0 -1
  301. package/dist/packem_shared/utils-CRueU43T.js +0 -1
  302. package/dist/packem_shared/verify-Dve9PQj3.js +0 -1
  303. package/dist/packem_shared/vis-update-app-DMAC2pPf.js +0 -1
  304. package/dist/packem_shared/vis-user-error-xmha3L4n.js +0 -30
  305. package/dist/packem_shared/watch-BXOOX7lx.js +0 -1
  306. package/dist/packem_shared/watch-loop-Q7UpkVbr.js +0 -11
@@ -1,135 +1,804 @@
1
- import{createRequire as ai}from"node:module";import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim --
2
- const __filename = import.meta.filename; // -- packem CommonJS __filename shim --
3
- const require = __cjs_mod__.createRequire(import.meta.url);
4
- let gi;const ci=A=>(gi??=ai(import.meta.url))(A),At=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,ae=A=>{if(typeof At<"u"&&At.versions&&At.versions.node){const[u,d]=At.versions.node.split(".").map(Number);if(u>22||u===22&&d>=3||u===20&&d>=16)return At.getBuiltinModule(A)}return ci(A)},qA=ae("node:assert"),et=ae("node:net"),Bt=ae("node:http"),Ce=ae("node:stream"),Ei=ae("node:querystring"),ke=ae("node:events"),Gn=ae("node:diagnostics_channel"),Se=ae("node:util"),li=ae("node:tls"),Oe=ae("node:buffer"),Ct=ae("node:zlib"),Qi=ae("node:perf_hooks"),Ds=ae("node:util/types"),hi=ae("node:worker_threads"),Je=ae("node:crypto"),Vn=ae("node:sqlite"),Ii=ae("node:url"),tt=ae("node:async_hooks"),Bi=ae("node:console"),Ci=ae("node:fs/promises"),ui=ae("node:path"),di=ae("node:timers"),fi=ae("node:dns");function yi(A,u){for(var d=0;d<u.length;d++){const N=u[d];if(typeof N!="string"&&!Array.isArray(N))for(const o in N)o!=="default"&&!(o in A)&&(A[o]=N[o])}return Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})}var wt={exports:{}},Nt,Ts;function jA(){return Ts||(Ts=1,Nt={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kHostAuthority:Symbol("host authority"),kHTTP2InitialWindowSize:Symbol("http2 initial window size"),kHTTP2ConnectionWindowSize:Symbol("http2 connection window size"),kEnableConnectProtocol:Symbol("http2session connect protocol"),kRemoteSettings:Symbol("http2session remote settings"),kHTTP2Stream:Symbol("http2session client stream"),kPingInterval:Symbol("ping interval"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent"),kSocks5ProxyAgent:Symbol("socks5 proxy agent")}),Nt}var mt,Ls;function On(){if(Ls)return mt;Ls=1;let A=0;const u=1e3,d=(u>>1)-1;let N;const o=Symbol("kFastTimer"),C=[],g=-2,B=-1,f=0,D=1;function h(){A+=d;let s=0,e=C.length;for(;s<e;){const t=C[s];t._state===f?(t._idleStart=A-d,t._state=D):t._state===D&&A>=t._idleStart+t._idleTimeout&&(t._state=B,t._idleStart=-1,t._onTimeout(t._timerArg)),t._state===B?(t._state=g,--e!==0&&(C[s]=C[e])):++s}C.length=e,C.length!==0&&c()}function c(){N?.refresh?N.refresh():(clearTimeout(N),N=setTimeout(h,d),N?.unref())}class a{[o]=!0;_state=g;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,t,n){this._onTimeout=e,this._idleTimeout=t,this._timerArg=n,this.refresh()}refresh(){this._state===g&&C.push(this),(!N||C.length===1)&&c(),this._state=f}clear(){this._state=B,this._idleStart=-1}}return mt={setTimeout(s,e,t){return e<=u?setTimeout(s,e,t):new a(s,e,t)},clearTimeout(s){s[o]?s.clear():clearTimeout(s)},setFastTimeout(s,e,t){return new a(s,e,t)},clearFastTimeout(s){s.clear()},now(){return A},tick(s=0){A+=s-u+1,h(),h()},reset(){A=0,C.length=0,clearTimeout(N),N=null},kFastTimer:o},mt}var Ft,Hs;function MA(){if(Hs)return Ft;Hs=1;const A=Symbol.for("undici.error.UND_ERR");class u extends Error{constructor(G,rA){super(G,rA),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](G){return G&&G[A]===!0}get[A](){return!0}}const d=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");class N extends u{constructor(G){super(G),this.name="ConnectTimeoutError",this.message=G||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](G){return G&&G[d]===!0}get[d](){return!0}}const o=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");class C extends u{constructor(G){super(G),this.name="HeadersTimeoutError",this.message=G||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](G){return G&&G[o]===!0}get[o](){return!0}}const g=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");class B extends u{constructor(G){super(G),this.name="HeadersOverflowError",this.message=G||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](G){return G&&G[g]===!0}get[g](){return!0}}const f=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");class D extends u{constructor(G){super(G),this.name="BodyTimeoutError",this.message=G||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](G){return G&&G[f]===!0}get[f](){return!0}}const h=Symbol.for("undici.error.UND_ERR_INVALID_ARG");class c extends u{constructor(G){super(G),this.name="InvalidArgumentError",this.message=G||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](G){return G&&G[h]===!0}get[h](){return!0}}const a=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");class s extends u{constructor(G){super(G),this.name="InvalidReturnValueError",this.message=G||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](G){return G&&G[a]===!0}get[a](){return!0}}const e=Symbol.for("undici.error.UND_ERR_ABORT");class t extends u{constructor(G){super(G),this.name="AbortError",this.message=G||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](G){return G&&G[e]===!0}get[e](){return!0}}const n=Symbol.for("undici.error.UND_ERR_ABORTED");class i extends t{constructor(G){super(G),this.name="AbortError",this.message=G||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](G){return G&&G[n]===!0}get[n](){return!0}}const p=Symbol.for("undici.error.UND_ERR_INFO");class y extends u{constructor(G,rA){super(G,rA),this.name="InformationalError",this.message=G||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](G){return G&&G[p]===!0}get[p](){return!0}}const l=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");class r extends u{constructor(G){super(G),this.name="RequestContentLengthMismatchError",this.message=G||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](G){return G&&G[l]===!0}get[l](){return!0}}const I=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");class Q extends u{constructor(G){super(G),this.name="ResponseContentLengthMismatchError",this.message=G||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](G){return G&&G[I]===!0}get[I](){return!0}}const E=Symbol.for("undici.error.UND_ERR_DESTROYED");class w extends u{constructor(G){super(G),this.name="ClientDestroyedError",this.message=G||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](G){return G&&G[E]===!0}get[E](){return!0}}const F=Symbol.for("undici.error.UND_ERR_CLOSED");class U extends u{constructor(G){super(G),this.name="ClientClosedError",this.message=G||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](G){return G&&G[F]===!0}get[F](){return!0}}const S=Symbol.for("undici.error.UND_ERR_SOCKET");class m extends u{constructor(G,rA){super(G),this.name="SocketError",this.message=G||"Socket error",this.code="UND_ERR_SOCKET",this.socket=rA}static[Symbol.hasInstance](G){return G&&G[S]===!0}get[S](){return!0}}const b=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");class M extends u{constructor(G){super(G),this.name="NotSupportedError",this.message=G||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](G){return G&&G[b]===!0}get[b](){return!0}}const Y=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");class V extends u{constructor(G){super(G),this.name="MissingUpstreamError",this.message=G||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](G){return G&&G[Y]===!0}get[Y](){return!0}}const k=Symbol.for("undici.error.UND_ERR_HTTP_PARSER");class T extends Error{constructor(G,rA,j){super(G),this.name="HTTPParserError",this.code=rA?`HPE_${rA}`:void 0,this.data=j?j.toString():void 0}static[Symbol.hasInstance](G){return G&&G[k]===!0}get[k](){return!0}}const x=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");class z extends u{constructor(G){super(G),this.name="ResponseExceededMaxSizeError",this.message=G||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](G){return G&&G[x]===!0}get[x](){return!0}}const gA=Symbol.for("undici.error.UND_ERR_REQ_RETRY");class QA extends u{constructor(G,rA,{headers:j,data:yA}){super(G),this.name="RequestRetryError",this.message=G||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=rA,this.data=yA,this.headers=j}static[Symbol.hasInstance](G){return G&&G[gA]===!0}get[gA](){return!0}}const tA=Symbol.for("undici.error.UND_ERR_RESPONSE");class DA extends u{constructor(G,rA,{headers:j,body:yA}){super(G),this.name="ResponseError",this.message=G||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=rA,this.body=yA,this.headers=j}static[Symbol.hasInstance](G){return G&&G[tA]===!0}get[tA](){return!0}}const nA=Symbol.for("undici.error.UND_ERR_PRX_TLS");class eA extends u{constructor(G,rA,j={}){super(rA,{cause:G,...j}),this.name="SecureProxyConnectionError",this.message=rA||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=G}static[Symbol.hasInstance](G){return G&&G[nA]===!0}get[nA](){return!0}}const iA=Symbol.for("undici.error.UND_ERR_PRX_CONN");class CA extends u{constructor(G,rA,j={}){super(rA,{cause:G,...j}),this.name="ProxyConnectionError",this.message=rA||"Proxy Connection failed",this.code="UND_ERR_PRX_CONN",this.cause=G}static[Symbol.hasInstance](G){return G&&G[iA]===!0}get[iA](){return!0}}const NA=Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED");class hA extends u{constructor(G){super(G),this.name="MaxOriginsReachedError",this.message=G||"Maximum allowed origins reached",this.code="UND_ERR_MAX_ORIGINS_REACHED"}static[Symbol.hasInstance](G){return G&&G[NA]===!0}get[NA](){return!0}}class kA extends u{constructor(G,rA){super(G),this.name="Socks5ProxyError",this.message=G||"SOCKS5 proxy error",this.code=rA||"UND_ERR_SOCKS5"}}const xA=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");class TA extends u{constructor(G){super(G),this.name="MessageSizeExceededError",this.message=G||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](G){return G&&G[xA]===!0}get[xA](){return!0}}return Ft={AbortError:t,HTTPParserError:T,UndiciError:u,HeadersTimeoutError:C,HeadersOverflowError:B,BodyTimeoutError:D,RequestContentLengthMismatchError:r,ConnectTimeoutError:N,InvalidArgumentError:c,InvalidReturnValueError:s,RequestAbortedError:i,ClientDestroyedError:w,ClientClosedError:U,InformationalError:y,SocketError:m,NotSupportedError:M,ResponseContentLengthMismatchError:Q,BalancedPoolMissingUpstreamError:V,ResponseExceededMaxSizeError:z,RequestRetryError:QA,ResponseError:DA,SecureProxyConnectionError:eA,ProxyConnectionError:CA,MaxOriginsReachedError:hA,Socks5ProxyError:kA,MessageSizeExceededError:TA},Ft}var Ut,Ys;function ps(){if(Ys)return Ut;Ys=1;const A=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"],u={};Object.setPrototypeOf(u,null);for(let d=0;d<A.length;++d){const N=A[d],o=N.toLowerCase();u[N]=u[o]=o}return Ut={wellknownHeaderNames:A,headerNameLowerCasedRecord:u},Ut}var kt,vs;function Di(){if(vs)return kt;vs=1;const{wellknownHeaderNames:A,headerNameLowerCasedRecord:u}=ps();class d{value=null;left=null;middle=null;right=null;code;constructor(g,B,f){if(f===void 0||f>=g.length)throw new TypeError("Unreachable");if((this.code=g.charCodeAt(f))>127)throw new TypeError("key must be ascii string");g.length!==++f?this.middle=new d(g,B,f):this.value=B}add(g,B){const f=g.length;if(f===0)throw new TypeError("Unreachable");let D=0,h=this;for(;;){const c=g.charCodeAt(D);if(c>127)throw new TypeError("key must be ascii string");if(h.code===c)if(f===++D){h.value=B;break}else if(h.middle!==null)h=h.middle;else{h.middle=new d(g,B,D);break}else if(h.code<c)if(h.left!==null)h=h.left;else{h.left=new d(g,B,D);break}else if(h.right!==null)h=h.right;else{h.right=new d(g,B,D);break}}}search(g){const B=g.length;let f=0,D=this;for(;D!==null&&f<B;){let h=g[f];for(h<=90&&h>=65&&(h|=32);D!==null;){if(h===D.code){if(B===++f)return D;D=D.middle;break}D=D.code<h?D.left:D.right}}return null}}class N{node=null;insert(g,B){this.node===null?this.node=new d(g,B,0):this.node.add(g,B)}lookup(g){return this.node?.search(g)?.value??null}}const o=new N;for(let C=0;C<A.length;++C){const g=u[A[C]];o.insert(g,g)}return kt={TernarySearchTree:N,tree:o},kt}var bt,Gs;function LA(){if(Gs)return bt;Gs=1;const A=qA,{kDestroyed:u,kBodyUsed:d,kListeners:N,kBody:o}=jA(),{IncomingMessage:C}=Bt,g=Ce,B=et,{stringify:f}=Ei,{EventEmitter:D,addAbortListener:h}=ke,c=On(),{InvalidArgumentError:a,ConnectTimeoutError:s}=MA(),{headerNameLowerCasedRecord:e}=ps(),{tree:t}=Di();class n{constructor(_){this[o]=_,this[d]=!1}async*[Symbol.asyncIterator](){A(!this[d],"disturbed"),this[d]=!0,yield*this[o]}}function i(){}function p(R){return y(R)?(V(R)===0&&R.on("data",function(){A(!1)}),typeof R.readableDidRead!="boolean"&&(R[d]=!1,D.prototype.on.call(R,"data",function(){this[d]=!0})),R):R&&typeof R.pipeTo=="function"?new n(R):R&&xA(R)?R:R&&typeof R!="string"&&!ArrayBuffer.isView(R)&&M(R)?new n(R):R}function y(R){return R&&typeof R=="object"&&typeof R.pipe=="function"&&typeof R.on=="function"}function l(R){return R instanceof Blob}function r(R){return R.includes("?")||R.includes("#")}function I(R,_){if(r(R))throw new Error('Query params cannot be passed when url already contains "?" or "#".');const cA=f(_);return cA&&(R+="?"+cA),R}function Q(R){const _=parseInt(R,10);return _===Number(R)&&_>=0&&_<=65535}function E(R){return R!=null&&R[0]==="h"&&R[1]==="t"&&R[2]==="t"&&R[3]==="p"&&(R[4]===":"||R[4]==="s"&&R[5]===":")}function w(R){if(typeof R=="string"){if(R=new URL(R),!E(R.origin||R.protocol))throw new a("Invalid URL protocol: the URL must start with `http:` or `https:`.");return R}if(!R||typeof R!="object")throw new a("Invalid URL: The URL argument must be a non-null object.");if(!(R instanceof URL)){if(R.port!=null&&R.port!==""&&Q(R.port)===!1)throw new a("Invalid URL: port must be a valid integer or a string representation of an integer.");if(R.path!=null&&typeof R.path!="string")throw new a("Invalid URL path: the path must be a string or null/undefined.");if(R.pathname!=null&&typeof R.pathname!="string")throw new a("Invalid URL pathname: the pathname must be a string or null/undefined.");if(R.hostname!=null&&typeof R.hostname!="string")throw new a("Invalid URL hostname: the hostname must be a string or null/undefined.");if(R.origin!=null&&typeof R.origin!="string")throw new a("Invalid URL origin: the origin must be a string or null/undefined.");if(!E(R.origin||R.protocol))throw new a("Invalid URL protocol: the URL must start with `http:` or `https:`.");const _=R.port!=null?R.port:R.protocol==="https:"?443:80;let cA=R.origin!=null?R.origin:`${R.protocol||""}//${R.hostname||""}:${_}`,dA=R.path!=null?R.path:`${R.pathname||""}${R.search||""}`;return cA[cA.length-1]==="/"&&(cA=cA.slice(0,cA.length-1)),dA&&dA[0]!=="/"&&(dA=`/${dA}`),new URL(`${cA}${dA}`)}if(!E(R.origin||R.protocol))throw new a("Invalid URL protocol: the URL must start with `http:` or `https:`.");return R}function F(R){if(R=w(R),R.pathname!=="/"||R.search||R.hash)throw new a("invalid url");return R}function U(R){if(R[0]==="["){const cA=R.indexOf("]");return A(cA!==-1),R.substring(1,cA)}const _=R.indexOf(":");return _===-1?R:R.substring(0,_)}function S(R){if(!R)return null;A(typeof R=="string");const _=U(R);return B.isIP(_)?"":_}function m(R){return JSON.parse(JSON.stringify(R))}function b(R){return R!=null&&typeof R[Symbol.asyncIterator]=="function"}function M(R){return R!=null&&(typeof R[Symbol.iterator]=="function"||typeof R[Symbol.asyncIterator]=="function")}function Y(R){const _=Object.getPrototypeOf(R);return Object.hasOwn(R,Symbol.iterator)||_!=null&&_!==Object.prototype&&typeof R[Symbol.iterator]=="function"}function V(R){if(R==null)return 0;if(y(R)){const _=R._readableState;return _&&_.objectMode===!1&&_.ended===!0&&Number.isFinite(_.length)?_.length:null}else{if(l(R))return R.size!=null?R.size:null;if(iA(R))return R.byteLength}return null}function k(R){return R&&!!(R.destroyed||R[u]||g.isDestroyed?.(R))}function T(R,_){R==null||!y(R)||k(R)||(typeof R.destroy=="function"?(Object.getPrototypeOf(R).constructor===C&&(R.socket=null),R.destroy(_)):_&&queueMicrotask(()=>{R.emit("error",_)}),R.destroyed!==!0&&(R[u]=!0))}const x=/timeout=(\d+)/;function z(R){const _=R.match(x);return _?parseInt(_[1],10)*1e3:null}function gA(R){return typeof R=="string"?e[R]??R.toLowerCase():t.lookup(R)??R.toString("latin1").toLowerCase()}function QA(R){return t.lookup(R)??R.toString("latin1").toLowerCase()}function tA(R,_){_===void 0&&(_={});for(let cA=0;cA<R.length;cA+=2){const dA=gA(R[cA]);let UA=_[dA];if(UA!==void 0)if(Object.hasOwn(_,dA))typeof UA=="string"&&(UA=[UA],_[dA]=UA),UA.push(R[cA+1].toString("latin1"));else{const YA=typeof R[cA+1]=="string"?R[cA+1]:Array.isArray(R[cA+1])?R[cA+1].map(vA=>vA.toString("latin1")):R[cA+1].toString("latin1");dA==="__proto__"?Object.defineProperty(_,dA,{value:YA,enumerable:!0,configurable:!0,writable:!0}):_[dA]=YA}else{const YA=typeof R[cA+1]=="string"?R[cA+1]:Array.isArray(R[cA+1])?R[cA+1].map(vA=>vA.toString("latin1")):R[cA+1].toString("latin1");_[dA]=YA}}return _}function DA(R){if(R==null)return[];if(!Array.isArray(R)){const YA=[];for(const[vA,O]of Object.entries(R))if(Array.isArray(O))for(const sA of O)YA.push(vA,`${sA}`);else YA.push(vA,`${O}`);return YA}const _=R.length,cA=new Array(_);let dA,UA;for(let YA=0;YA<_;YA+=2)dA=R[YA],UA=R[YA+1],typeof dA!="string"&&(dA=dA.toString()),typeof UA!="string"&&(UA=UA.toString("latin1")),cA[YA]=dA,cA[YA+1]=UA;return cA}function nA(R){const _=[];for(const[cA,dA]of Object.entries(R))if(Array.isArray(dA))for(const UA of dA)_.push(Buffer.from(cA,"latin1"),Buffer.from(`${UA}`,"latin1"));else _.push(Buffer.from(cA,"latin1"),Buffer.from(`${dA}`,"latin1"));return _}function eA(R){if(!Array.isArray(R))throw new TypeError("expected headers to be an array");return R.map(_=>Buffer.from(_))}function iA(R){return R instanceof Uint8Array||Buffer.isBuffer(R)}function CA(R,_,cA){if(!R||typeof R!="object")throw new a("handler must be an object");if(typeof R.onRequestStart!="function")throw new a("invalid onRequestStart method");if(typeof R.onResponseError!="function")throw new a("invalid onResponseError method");if(typeof R.onBodySent!="function"&&R.onBodySent!==void 0)throw new a("invalid onBodySent method");if(typeof R.onRequestSent!="function"&&R.onRequestSent!==void 0)throw new a("invalid onRequestSent method");if(cA||_==="CONNECT"){if(typeof R.onRequestUpgrade!="function")throw new a("invalid onRequestUpgrade method")}else{if(typeof R.onResponseStart!="function")throw new a("invalid onResponseStart method");if(typeof R.onResponseData!="function")throw new a("invalid onResponseData method");if(typeof R.onResponseEnd!="function")throw new a("invalid onResponseEnd method")}}function NA(R){return!!(R&&(g.isDisturbed(R)||R[d]))}function hA(R){return{localAddress:R.localAddress,localPort:R.localPort,remoteAddress:R.remoteAddress,remotePort:R.remotePort,remoteFamily:R.remoteFamily,timeout:R.timeout,bytesWritten:R.bytesWritten,bytesRead:R.bytesRead}}function kA(R){let _;return new ReadableStream({start(){_=R[Symbol.asyncIterator]()},pull(cA){return _.next().then(({done:dA,value:UA})=>{if(dA)return queueMicrotask(()=>{cA.close(),cA.byobRequest?.respond(0)});{const YA=Buffer.isBuffer(UA)?UA:Buffer.from(UA);return YA.byteLength?cA.enqueue(new Uint8Array(YA)):this.pull(cA)}})},cancel(){return _.return()},type:"bytes"})}function xA(R){return R&&typeof R=="object"&&typeof R.append=="function"&&typeof R.delete=="function"&&typeof R.get=="function"&&typeof R.getAll=="function"&&typeof R.has=="function"&&typeof R.set=="function"&&R[Symbol.toStringTag]==="FormData"}function TA(R,_){return!R||"aborted"in R?h(R,_)[Symbol.dispose]:typeof R.addEventListener=="function"?(R.addEventListener("abort",_,{once:!0}),()=>R.removeEventListener("abort",_)):(R.once("abort",_),()=>R.removeListener("abort",_))}const AA=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function G(R){return AA[R]===1}const rA=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;function j(R){if(R.length>=12)return rA.test(R);if(R.length===0)return!1;for(let _=0;_<R.length;_++)if(AA[R.charCodeAt(_)]!==1)return!1;return!0}const yA=/[^\t\x20-\x7e\x80-\xff]/;function RA(R){return!yA.test(R)}const GA=/^bytes (\d+)-(\d+)\/(\d+|\*)?$/;function KA(R){if(R==null||R==="")return{start:0,end:null,size:null};if(!R)return null;const _=GA.exec(R);return _?{start:parseInt(_[1]),end:_[2]?parseInt(_[2]):null,size:_[3]&&_[3]!=="*"?parseInt(_[3]):null}:null}function zA(R,_,cA){return(R[N]??=[]).push([_,cA]),R.on(_,cA),R}function Ae(R){if(R[N]!=null){for(const[_,cA]of R[N])R.removeListener(_,cA);R[N]=null}return R}function oe(R,_,cA){try{_.onResponseError(cA),A(_.aborted)}catch(dA){R.emit("error",dA)}}const ne=process.platform==="win32"?(R,_)=>{if(!_.timeout)return i;let cA=null,dA=null;const UA=c.setFastTimeout(()=>{cA=setImmediate(()=>{dA=setImmediate(()=>ee(R.deref(),_))})},_.timeout);return()=>{c.clearFastTimeout(UA),clearImmediate(cA),clearImmediate(dA)}}:(R,_)=>{if(!_.timeout)return i;let cA=null;const dA=c.setFastTimeout(()=>{cA=setImmediate(()=>{ee(R.deref(),_)})},_.timeout);return()=>{c.clearFastTimeout(dA),clearImmediate(cA)}};function ee(R,_){if(R==null)return;let cA="Connect Timeout Error";Array.isArray(R.autoSelectFamilyAttemptedAddresses)?cA+=` (attempted addresses: ${R.autoSelectFamilyAttemptedAddresses.join(", ")},`:cA+=` (attempted address: ${_.hostname}:${_.port},`,cA+=` timeout: ${_.timeout}ms)`,T(R,new s(cA))}function ge(R){if(R[0]==="h"&&R[1]==="t"&&R[2]==="t"&&R[3]==="p")switch(R[4]){case":":return"http:";case"s":if(R[5]===":")return"https:"}return R.slice(0,R.indexOf(":")+1)}const ce={__proto__:null,enumerable:!0},le={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT",query:"QUERY",QUERY:"QUERY"},HA={...le,patch:"patch",PATCH:"PATCH"};return Object.setPrototypeOf(le,null),Object.setPrototypeOf(HA,null),bt={kEnumerableProperty:ce,isDisturbed:NA,isBlobLike:l,parseOrigin:F,parseURL:w,getServerName:S,isStream:y,isIterable:M,hasSafeIterator:Y,isAsyncIterable:b,isDestroyed:k,headerNameToString:gA,bufferToLowerCasedHeaderName:QA,addListener:zA,removeAllListeners:Ae,errorRequest:oe,parseRawHeaders:DA,toRawHeaders:nA,encodeRawHeaders:eA,parseHeaders:tA,parseKeepAliveTimeout:z,destroy:T,bodyLength:V,deepClone:m,ReadableStreamFrom:kA,isBuffer:iA,assertRequestHandler:CA,getSocketInfo:hA,isFormDataLike:xA,pathHasQueryOrFragment:r,serializePathWithQuery:I,addAbortListener:TA,isValidHTTPToken:j,isValidHeaderValue:RA,isTokenCharCode:G,parseRangeHeader:KA,normalizedMethodRecordsBase:le,normalizedMethodRecords:HA,isValidPort:Q,isHttpOrHttpsPrefixed:E,safeHTTPMethods:Object.freeze(["GET","HEAD","OPTIONS","TRACE"]),wrapRequestBody:p,setupConnectTimeout:ne,getProtocolFromUrlString:ge},bt}var Mt,Vs;function Jn(){if(Vs)return Mt;Vs=1;const{kConnected:A,kPending:u,kRunning:d,kSize:N,kFree:o,kQueued:C}=jA();class g{constructor(D){this.connected=D[A],this.pending=D[u],this.running=D[d],this.size=D[N]}}class B{constructor(D){this.connected=D[A],this.free=D[o],this.pending=D[u],this.queued=D[C],this.running=D[d],this.size=D[N]}}return Mt={ClientStats:g,PoolStats:B},Mt}var Tt,Os;function He(){if(Os)return Tt;Os=1;const A=Gn,u=Se,d=u.debuglog("undici"),N=u.debuglog("fetch"),o=u.debuglog("websocket"),C={beforeConnect:A.channel("undici:client:beforeConnect"),connected:A.channel("undici:client:connected"),connectError:A.channel("undici:client:connectError"),sendHeaders:A.channel("undici:client:sendHeaders"),create:A.channel("undici:request:create"),bodySent:A.channel("undici:request:bodySent"),bodyChunkSent:A.channel("undici:request:bodyChunkSent"),bodyChunkReceived:A.channel("undici:request:bodyChunkReceived"),headers:A.channel("undici:request:headers"),trailers:A.channel("undici:request:trailers"),error:A.channel("undici:request:error"),open:A.channel("undici:websocket:open"),close:A.channel("undici:websocket:close"),socketError:A.channel("undici:websocket:socket_error"),ping:A.channel("undici:websocket:ping"),pong:A.channel("undici:websocket:pong"),proxyConnected:A.channel("undici:proxy:connected")};let g=!1;function B(a=d){if(!g){if(C.beforeConnect.hasSubscribers||C.connected.hasSubscribers||C.connectError.hasSubscribers||C.sendHeaders.hasSubscribers){g=!0;return}g=!0,A.subscribe("undici:client:beforeConnect",s=>{const{connectParams:{version:e,protocol:t,port:n,host:i}}=s;a("connecting to %s%s using %s%s",i,n?`:${n}`:"",t,e)}),A.subscribe("undici:client:connected",s=>{const{connectParams:{version:e,protocol:t,port:n,host:i}}=s;a("connected to %s%s using %s%s",i,n?`:${n}`:"",t,e)}),A.subscribe("undici:client:connectError",s=>{const{connectParams:{version:e,protocol:t,port:n,host:i},error:p}=s;a("connection to %s%s using %s%s errored - %s",i,n?`:${n}`:"",t,e,p.message)}),A.subscribe("undici:client:sendHeaders",s=>{const{request:{method:e,path:t,origin:n}}=s;a("sending request to %s %s%s",e,n,t)})}}let f=!1;function D(a=d){if(!f){if(C.headers.hasSubscribers||C.trailers.hasSubscribers||C.error.hasSubscribers){f=!0;return}f=!0,A.subscribe("undici:request:headers",s=>{const{request:{method:e,path:t,origin:n},response:{statusCode:i}}=s;a("received response to %s %s%s - HTTP %d",e,n,t,i)}),A.subscribe("undici:request:trailers",s=>{const{request:{method:e,path:t,origin:n}}=s;a("trailers received from %s %s%s",e,n,t)}),A.subscribe("undici:request:error",s=>{const{request:{method:e,path:t,origin:n},error:i}=s;a("request to %s %s%s errored - %s",e,n,t,i.message)})}}let h=!1;function c(a=o){if(!h){if(C.open.hasSubscribers||C.close.hasSubscribers||C.socketError.hasSubscribers||C.ping.hasSubscribers||C.pong.hasSubscribers){h=!0;return}h=!0,A.subscribe("undici:websocket:open",s=>{if(s.address!=null){const{address:e,port:t}=s.address;a("connection opened %s%s",e,t?`:${t}`:"")}else a("connection opened")}),A.subscribe("undici:websocket:close",s=>{const{websocket:e,code:t,reason:n}=s;a("closed connection to %s - %s %s",e.url,t,n)}),A.subscribe("undici:websocket:socket_error",s=>{a("connection errored - %s",s.message)}),A.subscribe("undici:websocket:ping",s=>{a("ping received")}),A.subscribe("undici:websocket:pong",s=>{a("pong received")})}}return(d.enabled||N.enabled)&&(B(N.enabled?N:d),D(N.enabled?N:d)),o.enabled&&(B(d.enabled?d:o),c(o)),Tt={channels:C},Tt}var Lt,Js;function pi(){if(Js)return Lt;Js=1;const{InvalidArgumentError:A,NotSupportedError:u}=MA(),d=qA,{isValidHTTPToken:N,isValidHeaderValue:o,isStream:C,destroy:g,isBuffer:B,isFormDataLike:f,isIterable:D,hasSafeIterator:h,isBlobLike:c,serializePathWithQuery:a,parseHeaders:s,assertRequestHandler:e,getServerName:t,normalizedMethodRecords:n,getProtocolFromUrlString:i}=LA(),{channels:p}=He(),{headerNameLowerCasedRecord:y}=ps(),l=/[^\u0021-\u00ff]/;function r(S){if(typeof S!="string"||S.length===0)return!1;for(let m=0;m<S.length;m++){const b=S.charCodeAt(m);if(b<48||b>57)return!1}return!0}const I=Symbol("handler"),Q=Symbol("controller"),E=Symbol("resume");class w{#A=!1;#e=null;#t=!1;#s;[E]=null;rawHeaders=null;rawTrailers=null;constructor(m){this.#s=m}pause(){this.#A=!0}resume(){this.#A&&(this.#A=!1,this[E]?.())}abort(m){this.#t||(this.#t=!0,this.#e=m,this.#s(m))}get aborted(){return this.#t}get reason(){return this.#e}get paused(){return this.#A}}class F{constructor(m,{path:b,method:M,body:Y,headers:V,query:k,idempotent:T,blocking:x,upgrade:z,headersTimeout:gA,bodyTimeout:QA,reset:tA,expectContinue:DA,servername:nA,throwOnError:eA,maxRedirections:iA,typeOfService:CA},NA){if(typeof b!="string")throw new A("path must be a string");if(b[0]!=="/"&&!(b.startsWith("http://")||b.startsWith("https://"))&&M!=="CONNECT")throw new A("path must be an absolute URL or start with a slash");if(l.test(b))throw new A("invalid request path");if(typeof M!="string")throw new A("method must be a string");if(n[M]===void 0&&!N(M))throw new A("invalid request method");if(z&&typeof z!="string")throw new A("upgrade must be a string");if(z&&!o(z))throw new A("invalid upgrade header");if(gA!=null&&(!Number.isFinite(gA)||gA<0))throw new A("invalid headersTimeout");if(QA!=null&&(!Number.isFinite(QA)||QA<0))throw new A("invalid bodyTimeout");if(tA!=null&&typeof tA!="boolean")throw new A("invalid reset");if(DA!=null&&typeof DA!="boolean")throw new A("invalid expectContinue");if(eA!=null)throw new A("invalid throwOnError");if(iA!=null&&iA!==0)throw new A("maxRedirections is not supported, use the redirect interceptor");if(CA!=null&&(!Number.isInteger(CA)||CA<0||CA>255))throw new A("typeOfService must be an integer between 0 and 255");if(this.headersTimeout=gA,this.bodyTimeout=QA,this.method=M,this.typeOfService=CA??0,this.abort=null,Y==null)this.body=null;else if(C(Y)){this.body=Y;const hA=this.body._readableState;(!hA||!hA.autoDestroy)&&(this.endHandler=function(){g(this)},this.body.on("end",this.endHandler)),this.errorHandler=kA=>{this.abort?this.abort(kA):this.error=kA},this.body.on("error",this.errorHandler)}else if(B(Y))this.body=Y.byteLength?Y:null;else if(ArrayBuffer.isView(Y))this.body=Y.buffer.byteLength?Buffer.from(Y.buffer,Y.byteOffset,Y.byteLength):null;else if(Y instanceof ArrayBuffer)this.body=Y.byteLength?Buffer.from(Y):null;else if(typeof Y=="string")this.body=Y.length?Buffer.from(Y):null;else if(f(Y)||D(Y)||c(Y))this.body=Y;else throw new A("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=z||null,this.path=k?a(b,k):b,this.origin=m,this.protocol=i(m),this.idempotent=T??(M==="HEAD"||M==="GET"||M==="QUERY"),this.blocking=x??this.method!=="HEAD",this.reset=tA??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=DA??!1,Array.isArray(V)){if(V.length%2!==0)throw new A("headers array must be even");for(let hA=0;hA<V.length;hA+=2)U(this,V[hA],V[hA+1])}else if(V&&typeof V=="object")if(h(V))for(const hA of V){if(!Array.isArray(hA)||hA.length!==2)throw new A("headers must be in key-value pair format");U(this,hA[0],hA[1])}else{const hA=Object.keys(V);for(let kA=0;kA<hA.length;++kA)U(this,hA[kA],V[hA[kA]])}else if(V!=null)throw new A("headers must be an object or an array");e(NA,M,z),this.servername=nA||t(this.host)||null,this[I]=NA,p.create.hasSubscribers&&p.create.publish({request:this})}onBodySent(m){if(p.bodyChunkSent.hasSubscribers&&p.bodyChunkSent.publish({request:this,chunk:m}),this[I].onBodySent)try{return this[I].onBodySent(m)}catch(b){this.abort(b)}}onRequestSent(){if(p.bodySent.hasSubscribers&&p.bodySent.publish({request:this}),this[I].onRequestSent)try{return this[I].onRequestSent()}catch(m){this.abort(m)}}onRequestStart(m,b){if(d(!this.aborted),d(!this.completed),this[Q]=new w(m),this.error){this[Q].abort(this.error);return}return this.abort=m,this[I].onRequestStart(this[Q],b)}onResponseStarted(){return this[I].onResponseStarted?.()}onResponseStart(m,b,M,Y){d(!this.aborted),d(!this.completed),p.headers.hasSubscribers&&p.headers.publish({request:this,response:{statusCode:m,headers:b,statusText:Y}});const V=this[Q];V&&(V[E]=M,V.rawHeaders=b);const k=Array.isArray(b)?s(b):b;try{return this[I].onResponseStart?.(V,m,k,Y),!V?.paused}catch(T){return this.abort(T),!1}}onResponseData(m){d(!this.aborted),d(!this.completed),p.bodyChunkReceived.hasSubscribers&&p.bodyChunkReceived.publish({request:this,chunk:m});const b=this[Q];try{return this[I].onResponseData?.(b,m),!b?.paused}catch(M){return this.abort(M),!1}}onRequestUpgrade(m,b,M){d(!this.aborted),d(!this.completed);const Y=this[Q];Y&&(Y.rawHeaders=b);const V=Array.isArray(b)?s(b):b;return this[I].onRequestUpgrade?.(Y,m,V,M)}onResponseEnd(m){this.onFinally(),d(!this.aborted),d(!this.completed),this.completed=!0,p.trailers.hasSubscribers&&p.trailers.publish({request:this,trailers:m});const b=this[Q];b&&(b.rawTrailers=m);const M=Array.isArray(m)?s(m):m;try{return this[I].onResponseEnd?.(b,M)}catch(Y){this.onResponseError(Y)}}onResponseError(m){if(this.onFinally(),p.error.hasSubscribers&&p.error.publish({request:this,error:m}),this.aborted)return;this.aborted=!0;const b=this[Q];return this[I].onResponseError?.(b,m)}onFinally(){this.errorHandler&&(this.body.off("error",this.errorHandler),this.errorHandler=null),this.endHandler&&(this.body.off("end",this.endHandler),this.endHandler=null)}addHeader(m,b){return U(this,m,b),this}}function U(S,m,b){if(b&&typeof b=="object"&&!Array.isArray(b))throw new A(`invalid ${m} header`);if(b===void 0)return;let M=y[m];if(M===void 0&&(M=m.toLowerCase(),y[M]===void 0&&!N(M)))throw new A("invalid header key");if(Array.isArray(b)){const Y=[];for(let V=0;V<b.length;V++)if(typeof b[V]=="string"){if(!o(b[V]))throw new A(`invalid ${m} header`);Y.push(b[V])}else if(b[V]===null)Y.push("");else{if(typeof b[V]=="object")throw new A(`invalid ${m} header`);Y.push(`${b[V]}`)}b=Y}else if(typeof b=="string"){if(!o(b))throw new A(`invalid ${m} header`)}else b===null?b="":b=`${b}`;if(M==="host"){if(S.host!==null)throw new A("duplicate host header");if(typeof b!="string")throw new A("invalid host header");S.host=b}else if(M==="content-length"){if(S.contentLength!==null)throw new A("duplicate content-length header");if(!r(b))throw new A("invalid content-length header");S.contentLength=parseInt(b,10)}else if(S.contentType===null&&M==="content-type")S.contentType=b,S.headers.push(m,b);else{if(M==="transfer-encoding"||M==="keep-alive"||M==="upgrade")throw new A(`invalid ${M} header`);if(M==="connection"){const Y=typeof b=="string"?b:null;if(Y===null)throw new A("invalid connection header");for(const V of Y.toLowerCase().split(",")){const k=V.trim();if(!N(k))throw new A("invalid connection header");k==="close"&&(S.reset=!0)}}else{if(M==="expect")throw new u("expect header not supported");S.headers.push(m,b)}}}return Lt=F,Lt}var Ht,xs;function rt(){if(xs)return Ht;xs=1;const A=ke;class u extends A{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...N){const o=Array.isArray(N[0])?N[0]:N;let C=this.dispatch.bind(this);for(const g of o)if(g!=null){if(typeof g!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof g}`);if(C=g(C),C==null||typeof C!="function"||C.length!==2)throw new TypeError("invalid interceptor")}return new Proxy(this,{get:(g,B)=>B==="dispatch"?C:g[B]})}}return Ht=u,Ht}var Yt,Ws;function xe(){if(Ws)return Yt;Ws=1;const A=rt(),{ClientDestroyedError:u,ClientClosedError:d,InvalidArgumentError:N}=MA(),{kDestroy:o,kClose:C,kClosed:g,kDestroyed:B,kDispatch:f}=jA(),D=Symbol("onDestroyed"),h=Symbol("onClosed"),c=Symbol("webSocketOptions");class a extends A{[B]=!1;[D]=null;[g]=!1;[h]=null;constructor(e){super(),this[c]=e?.webSocket??{}}get webSocketOptions(){return{maxFragments:this[c].maxFragments??131072,maxPayloadSize:this[c].maxPayloadSize??128*1024*1024}}get destroyed(){return this[B]}get closed(){return this[g]}close(e){if(e===void 0)return new Promise((n,i)=>{this.close((p,y)=>p?i(p):n(y))});if(typeof e!="function")throw new N("invalid callback");if(this[B]){const n=new u;queueMicrotask(()=>e(n,null));return}if(this[g]){this[h]?this[h].push(e):queueMicrotask(()=>e(null,null));return}this[g]=!0,this[h]??=[],this[h].push(e);const t=()=>{const n=this[h];this[h]=null;for(let i=0;i<n.length;i++)n[i](null,null)};this[C]().then(()=>this.destroy()).then(()=>queueMicrotask(t))}destroy(e,t){if(typeof e=="function"&&(t=e,e=null),t===void 0)return new Promise((i,p)=>{this.destroy(e,(y,l)=>y?p(y):i(l))});if(typeof t!="function")throw new N("invalid callback");if(this[B]){this[D]?this[D].push(t):queueMicrotask(()=>t(null,null));return}e||(e=new u),this[B]=!0,this[D]??=[],this[D].push(t);const n=()=>{const i=this[D];this[D]=null;for(let p=0;p<i.length;p++)i[p](null,null)};this[o](e).then(()=>queueMicrotask(n))}dispatch(e,t){if(!t||typeof t!="object")throw new N("handler must be an object");try{if(!e||typeof e!="object")throw new N("opts must be an object.");if(e.dispatcher)throw new N("opts.dispatcher is not supported by instance methods. Pass opts.dispatcher to the top-level undici functions or call the dispatcher instance method directly.");if(this[B]||this[D])throw new u;if(this[g])throw new d;return this[f](e,t)}catch(n){if(typeof t.onResponseError!="function")throw n;return t.onResponseError(null,n),!1}}}return Yt=a,Yt}var vt,qs;function We(){if(qs)return vt;qs=1;const A=et,u=qA,d=LA(),{InvalidArgumentError:N,ConnectTimeoutError:o}=MA();let C;const g=class{constructor(D){this._maxCachedSessions=D,this._sessionCache=new Map,this._sessionRegistry=new FinalizationRegistry(h=>{if(this._sessionCache.size<this._maxCachedSessions)return;const c=this._sessionCache.get(h);c!==void 0&&c.deref()===void 0&&this._sessionCache.delete(h)})}get(D){const h=this._sessionCache.get(D);return h?h.deref():null}set(D,h){if(this._maxCachedSessions!==0){if(this._sessionCache.has(D))this._sessionCache.delete(D);else if(this._sessionCache.size>=this._maxCachedSessions){for(const[a,s]of this._sessionCache)if(s.deref()===void 0){this._sessionCache.delete(a);return}const c=this._sessionCache.keys().next();c.done||this._sessionCache.delete(c.value)}this._sessionCache.set(D,new WeakRef(h)),this._sessionRegistry.register(h,D)}}};function B({allowH2:D,preferH2:h,useH2c:c,maxCachedSessions:a,socketPath:s,timeout:e,session:t,...n}){if(a!=null&&(!Number.isInteger(a)||a<0))throw new N("maxCachedSessions must be a positive integer or zero");const i={path:s,...n},p=new g(a??100);return e=e??1e4,D=D??!0,function({hostname:y,host:l,protocol:r,port:I,servername:Q,localAddress:E,httpSocket:w},F){let U;if(r==="https:"){C||(C=li),Q=Q||i.servername||d.getServerName(l)||null;const m=Q||y;u(m);const b=t||p.get(m)||null;I=I||443,U=C.connect({highWaterMark:16384,...i,servername:Q,session:b,localAddress:E,ALPNProtocols:D?h?["h2","http/1.1"]:["http/1.1","h2"]:["http/1.1"],socket:w,port:I,host:y}),U.on("session",function(M){p.set(m,M)})}else u(!w,"httpSocket can only be sent on TLS update"),I=I||80,U=A.connect({highWaterMark:64*1024,...i,localAddress:E,port:I,host:y}),c===!0&&(U.alpnProtocol="h2");if(i.keepAlive==null||i.keepAlive){const m=i.keepAliveInitialDelay===void 0?6e4:i.keepAliveInitialDelay;U.setKeepAlive(!0,m)}const S=d.setupConnectTimeout(new WeakRef(U),{timeout:e,hostname:y,port:I});return U.setNoDelay(!0).once(r==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(S),F){const m=F;F=null,m(null,this)}}).on("error",function(m){if(queueMicrotask(S),F){const b=F;F=null,b(f(m,this,{timeout:e,hostname:y,port:I}))}}),U}}function f(D,h,c){if(D instanceof AggregateError&&(D.code==="ETIMEDOUT"||D.errors.some(a=>a!=null&&a.code==="ETIMEDOUT"))){let a="Connect Timeout Error";Array.isArray(h.autoSelectFamilyAttemptedAddresses)?a+=` (attempted addresses: ${h.autoSelectFamilyAttemptedAddresses.join(", ")},`:a+=` (attempted address: ${c.hostname}:${c.port},`,a+=` timeout: ${c.timeout}ms)`;const s=new o(a);return s.cause=D,s}return D}return vt=B,vt}var Gt={},Et={},Ps;function Ri(){if(Ps)return Et;Ps=1,Object.defineProperty(Et,"__esModule",{value:!0}),Et.enumToMap=A;function A(u,d=[],N=[]){const o=(d?.length??0)===0,C=(N?.length??0)===0;return Object.fromEntries(Object.entries(u).filter(([,g])=>typeof g=="number"&&(o||d.includes(g))&&(C||!N.includes(g))))}return Et}var _s;function Si(){return _s||(_s=1,(function(A){Object.defineProperty(A,"__esModule",{value:!0}),A.SPECIAL_HEADERS=A.MINOR=A.MAJOR=A.HTAB_SP_VCHAR_OBS_TEXT=A.QUOTED_STRING=A.CONNECTION_TOKEN_CHARS=A.HEADER_CHARS=A.TOKEN=A.HEX=A.URL_CHAR=A.USERINFO_CHARS=A.MARK=A.ALPHANUM=A.NUM=A.HEX_MAP=A.NUM_MAP=A.ALPHA=A.STATUSES_HTTP=A.H_METHOD_MAP=A.METHOD_MAP=A.METHODS_RTSP=A.METHODS_ICE=A.METHODS_HTTP=A.HEADER_STATE=A.FINISH=A.STATUSES=A.METHODS=A.LENIENT_FLAGS=A.FLAGS=A.TYPE=A.ERROR=void 0;const u=Ri();A.ERROR={OK:0,INTERNAL:1,STRICT:2,CR_EXPECTED:25,LF_EXPECTED:3,UNEXPECTED_CONTENT_LENGTH:4,UNEXPECTED_SPACE:30,CLOSED_CONNECTION:5,INVALID_METHOD:6,INVALID_URL:7,INVALID_CONSTANT:8,INVALID_VERSION:9,INVALID_HEADER_TOKEN:10,INVALID_CONTENT_LENGTH:11,INVALID_CHUNK_SIZE:12,INVALID_STATUS:13,INVALID_EOF_STATE:14,INVALID_TRANSFER_ENCODING:15,CB_MESSAGE_BEGIN:16,CB_HEADERS_COMPLETE:17,CB_MESSAGE_COMPLETE:18,CB_CHUNK_HEADER:19,CB_CHUNK_COMPLETE:20,PAUSED:21,PAUSED_UPGRADE:22,PAUSED_H2_UPGRADE:23,USER:24,CB_URL_COMPLETE:26,CB_STATUS_COMPLETE:27,CB_METHOD_COMPLETE:32,CB_VERSION_COMPLETE:33,CB_HEADER_FIELD_COMPLETE:28,CB_HEADER_VALUE_COMPLETE:29,CB_CHUNK_EXTENSION_NAME_COMPLETE:34,CB_CHUNK_EXTENSION_VALUE_COMPLETE:35,CB_RESET:31,CB_PROTOCOL_COMPLETE:38},A.TYPE={BOTH:0,REQUEST:1,RESPONSE:2},A.FLAGS={CONNECTION_KEEP_ALIVE:1,CONNECTION_CLOSE:2,CONNECTION_UPGRADE:4,CHUNKED:8,UPGRADE:16,CONTENT_LENGTH:32,SKIPBODY:64,TRAILING:128,TRANSFER_ENCODING:512},A.LENIENT_FLAGS={HEADERS:1,CHUNKED_LENGTH:2,KEEP_ALIVE:4,TRANSFER_ENCODING:8,VERSION:16,DATA_AFTER_CLOSE:32,OPTIONAL_LF_AFTER_CR:64,OPTIONAL_CRLF_AFTER_CHUNK:128,OPTIONAL_CR_BEFORE_LF:256,SPACES_AFTER_CHUNK_SIZE:512},A.METHODS={DELETE:0,GET:1,HEAD:2,POST:3,PUT:4,CONNECT:5,OPTIONS:6,TRACE:7,COPY:8,LOCK:9,MKCOL:10,MOVE:11,PROPFIND:12,PROPPATCH:13,SEARCH:14,UNLOCK:15,BIND:16,REBIND:17,UNBIND:18,ACL:19,REPORT:20,MKACTIVITY:21,CHECKOUT:22,MERGE:23,"M-SEARCH":24,NOTIFY:25,SUBSCRIBE:26,UNSUBSCRIBE:27,PATCH:28,PURGE:29,MKCALENDAR:30,LINK:31,UNLINK:32,SOURCE:33,PRI:34,DESCRIBE:35,ANNOUNCE:36,SETUP:37,PLAY:38,PAUSE:39,TEARDOWN:40,GET_PARAMETER:41,SET_PARAMETER:42,REDIRECT:43,RECORD:44,FLUSH:45,QUERY:46},A.STATUSES={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,RESPONSE_IS_STALE:110,REVALIDATION_FAILED:111,DISCONNECTED_OPERATION:112,HEURISTIC_EXPIRATION:113,MISCELLANEOUS_WARNING:199,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,TRANSFORMATION_APPLIED:214,IM_USED:226,MISCELLANEOUS_PERSISTENT_WARNING:299,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,PAGE_EXPIRED:419,ENHANCE_YOUR_CALM:420,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL:430,REQUEST_HEADER_FIELDS_TOO_LARGE:431,LOGIN_TIMEOUT:440,NO_RESPONSE:444,RETRY_WITH:449,BLOCKED_BY_PARENTAL_CONTROL:450,UNAVAILABLE_FOR_LEGAL_REASONS:451,CLIENT_CLOSED_LOAD_BALANCED_REQUEST:460,INVALID_X_FORWARDED_FOR:463,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,INVALID_TOKEN:498,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,BANDWIDTH_LIMIT_EXCEEDED:509,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511,WEB_SERVER_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMEOUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,SITE_IS_OVERLOADED:529,SITE_IS_FROZEN:530,IDENTITY_PROVIDER_AUTHENTICATION_ERROR:561,NETWORK_READ_TIMEOUT:598,NETWORK_CONNECT_TIMEOUT:599},A.FINISH={SAFE:0,SAFE_WITH_CB:1,UNSAFE:2},A.HEADER_STATE={GENERAL:0,CONNECTION:1,CONTENT_LENGTH:2,TRANSFER_ENCODING:3,UPGRADE:4,CONNECTION_KEEP_ALIVE:5,CONNECTION_CLOSE:6,CONNECTION_UPGRADE:7,TRANSFER_ENCODING_CHUNKED:8},A.METHODS_HTTP=[A.METHODS.DELETE,A.METHODS.GET,A.METHODS.HEAD,A.METHODS.POST,A.METHODS.PUT,A.METHODS.CONNECT,A.METHODS.OPTIONS,A.METHODS.TRACE,A.METHODS.COPY,A.METHODS.LOCK,A.METHODS.MKCOL,A.METHODS.MOVE,A.METHODS.PROPFIND,A.METHODS.PROPPATCH,A.METHODS.SEARCH,A.METHODS.UNLOCK,A.METHODS.BIND,A.METHODS.REBIND,A.METHODS.UNBIND,A.METHODS.ACL,A.METHODS.REPORT,A.METHODS.MKACTIVITY,A.METHODS.CHECKOUT,A.METHODS.MERGE,A.METHODS["M-SEARCH"],A.METHODS.NOTIFY,A.METHODS.SUBSCRIBE,A.METHODS.UNSUBSCRIBE,A.METHODS.PATCH,A.METHODS.PURGE,A.METHODS.MKCALENDAR,A.METHODS.LINK,A.METHODS.UNLINK,A.METHODS.PRI,A.METHODS.SOURCE,A.METHODS.QUERY],A.METHODS_ICE=[A.METHODS.SOURCE],A.METHODS_RTSP=[A.METHODS.OPTIONS,A.METHODS.DESCRIBE,A.METHODS.ANNOUNCE,A.METHODS.SETUP,A.METHODS.PLAY,A.METHODS.PAUSE,A.METHODS.TEARDOWN,A.METHODS.GET_PARAMETER,A.METHODS.SET_PARAMETER,A.METHODS.REDIRECT,A.METHODS.RECORD,A.METHODS.FLUSH,A.METHODS.GET,A.METHODS.POST],A.METHOD_MAP=(0,u.enumToMap)(A.METHODS),A.H_METHOD_MAP=Object.fromEntries(Object.entries(A.METHODS).filter(([d])=>d.startsWith("H"))),A.STATUSES_HTTP=[A.STATUSES.CONTINUE,A.STATUSES.SWITCHING_PROTOCOLS,A.STATUSES.PROCESSING,A.STATUSES.EARLY_HINTS,A.STATUSES.RESPONSE_IS_STALE,A.STATUSES.REVALIDATION_FAILED,A.STATUSES.DISCONNECTED_OPERATION,A.STATUSES.HEURISTIC_EXPIRATION,A.STATUSES.MISCELLANEOUS_WARNING,A.STATUSES.OK,A.STATUSES.CREATED,A.STATUSES.ACCEPTED,A.STATUSES.NON_AUTHORITATIVE_INFORMATION,A.STATUSES.NO_CONTENT,A.STATUSES.RESET_CONTENT,A.STATUSES.PARTIAL_CONTENT,A.STATUSES.MULTI_STATUS,A.STATUSES.ALREADY_REPORTED,A.STATUSES.TRANSFORMATION_APPLIED,A.STATUSES.IM_USED,A.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,A.STATUSES.MULTIPLE_CHOICES,A.STATUSES.MOVED_PERMANENTLY,A.STATUSES.FOUND,A.STATUSES.SEE_OTHER,A.STATUSES.NOT_MODIFIED,A.STATUSES.USE_PROXY,A.STATUSES.SWITCH_PROXY,A.STATUSES.TEMPORARY_REDIRECT,A.STATUSES.PERMANENT_REDIRECT,A.STATUSES.BAD_REQUEST,A.STATUSES.UNAUTHORIZED,A.STATUSES.PAYMENT_REQUIRED,A.STATUSES.FORBIDDEN,A.STATUSES.NOT_FOUND,A.STATUSES.METHOD_NOT_ALLOWED,A.STATUSES.NOT_ACCEPTABLE,A.STATUSES.PROXY_AUTHENTICATION_REQUIRED,A.STATUSES.REQUEST_TIMEOUT,A.STATUSES.CONFLICT,A.STATUSES.GONE,A.STATUSES.LENGTH_REQUIRED,A.STATUSES.PRECONDITION_FAILED,A.STATUSES.PAYLOAD_TOO_LARGE,A.STATUSES.URI_TOO_LONG,A.STATUSES.UNSUPPORTED_MEDIA_TYPE,A.STATUSES.RANGE_NOT_SATISFIABLE,A.STATUSES.EXPECTATION_FAILED,A.STATUSES.IM_A_TEAPOT,A.STATUSES.PAGE_EXPIRED,A.STATUSES.ENHANCE_YOUR_CALM,A.STATUSES.MISDIRECTED_REQUEST,A.STATUSES.UNPROCESSABLE_ENTITY,A.STATUSES.LOCKED,A.STATUSES.FAILED_DEPENDENCY,A.STATUSES.TOO_EARLY,A.STATUSES.UPGRADE_REQUIRED,A.STATUSES.PRECONDITION_REQUIRED,A.STATUSES.TOO_MANY_REQUESTS,A.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,A.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,A.STATUSES.LOGIN_TIMEOUT,A.STATUSES.NO_RESPONSE,A.STATUSES.RETRY_WITH,A.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,A.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,A.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,A.STATUSES.INVALID_X_FORWARDED_FOR,A.STATUSES.REQUEST_HEADER_TOO_LARGE,A.STATUSES.SSL_CERTIFICATE_ERROR,A.STATUSES.SSL_CERTIFICATE_REQUIRED,A.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,A.STATUSES.INVALID_TOKEN,A.STATUSES.CLIENT_CLOSED_REQUEST,A.STATUSES.INTERNAL_SERVER_ERROR,A.STATUSES.NOT_IMPLEMENTED,A.STATUSES.BAD_GATEWAY,A.STATUSES.SERVICE_UNAVAILABLE,A.STATUSES.GATEWAY_TIMEOUT,A.STATUSES.HTTP_VERSION_NOT_SUPPORTED,A.STATUSES.VARIANT_ALSO_NEGOTIATES,A.STATUSES.INSUFFICIENT_STORAGE,A.STATUSES.LOOP_DETECTED,A.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,A.STATUSES.NOT_EXTENDED,A.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,A.STATUSES.WEB_SERVER_UNKNOWN_ERROR,A.STATUSES.WEB_SERVER_IS_DOWN,A.STATUSES.CONNECTION_TIMEOUT,A.STATUSES.ORIGIN_IS_UNREACHABLE,A.STATUSES.TIMEOUT_OCCURED,A.STATUSES.SSL_HANDSHAKE_FAILED,A.STATUSES.INVALID_SSL_CERTIFICATE,A.STATUSES.RAILGUN_ERROR,A.STATUSES.SITE_IS_OVERLOADED,A.STATUSES.SITE_IS_FROZEN,A.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,A.STATUSES.NETWORK_READ_TIMEOUT,A.STATUSES.NETWORK_CONNECT_TIMEOUT],A.ALPHA=[];for(let d=65;d<=90;d++)A.ALPHA.push(String.fromCharCode(d)),A.ALPHA.push(String.fromCharCode(d+32));A.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9},A.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},A.NUM=["0","1","2","3","4","5","6","7","8","9"],A.ALPHANUM=A.ALPHA.concat(A.NUM),A.MARK=["-","_",".","!","~","*","'","(",")"],A.USERINFO_CHARS=A.ALPHANUM.concat(A.MARK).concat(["%",";",":","&","=","+","$",","]),A.URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(A.ALPHANUM),A.HEX=A.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]),A.TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(A.ALPHANUM),A.HEADER_CHARS=[" "];for(let d=32;d<=255;d++)d!==127&&A.HEADER_CHARS.push(d);A.CONNECTION_TOKEN_CHARS=A.HEADER_CHARS.filter(d=>d!==44),A.QUOTED_STRING=[" "," "];for(let d=33;d<=255;d++)d!==34&&d!==92&&A.QUOTED_STRING.push(d);A.HTAB_SP_VCHAR_OBS_TEXT=[" "," "];for(let d=33;d<=126;d++)A.HTAB_SP_VCHAR_OBS_TEXT.push(d);for(let d=128;d<=255;d++)A.HTAB_SP_VCHAR_OBS_TEXT.push(d);A.MAJOR=A.NUM_MAP,A.MINOR=A.MAJOR,A.SPECIAL_HEADERS={connection:A.HEADER_STATE.CONNECTION,"content-length":A.HEADER_STATE.CONTENT_LENGTH,"proxy-connection":A.HEADER_STATE.CONNECTION,"transfer-encoding":A.HEADER_STATE.TRANSFER_ENCODING,upgrade:A.HEADER_STATE.UPGRADE},A.default={ERROR:A.ERROR,TYPE:A.TYPE,FLAGS:A.FLAGS,LENIENT_FLAGS:A.LENIENT_FLAGS,METHODS:A.METHODS,STATUSES:A.STATUSES,FINISH:A.FINISH,HEADER_STATE:A.HEADER_STATE,ALPHA:A.ALPHA,NUM_MAP:A.NUM_MAP,HEX_MAP:A.HEX_MAP,NUM:A.NUM,ALPHANUM:A.ALPHANUM,MARK:A.MARK,USERINFO_CHARS:A.USERINFO_CHARS,URL_CHAR:A.URL_CHAR,HEX:A.HEX,TOKEN:A.TOKEN,HEADER_CHARS:A.HEADER_CHARS,CONNECTION_TOKEN_CHARS:A.CONNECTION_TOKEN_CHARS,QUOTED_STRING:A.QUOTED_STRING,HTAB_SP_VCHAR_OBS_TEXT:A.HTAB_SP_VCHAR_OBS_TEXT,MAJOR:A.MAJOR,MINOR:A.MINOR,SPECIAL_HEADERS:A.SPECIAL_HEADERS,METHODS_HTTP:A.METHODS_HTTP,METHODS_ICE:A.METHODS_ICE,METHODS_RTSP:A.METHODS_RTSP,METHOD_MAP:A.METHOD_MAP,H_METHOD_MAP:A.H_METHOD_MAP,STATUSES_HTTP:A.STATUSES_HTTP}})(Gt)),Gt}var Vt={exports:{}},Zs;function Xs(){return Zs||(Zs=1,(function(A){const{Buffer:u}=Oe,d="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASECDKACCwJAAkACQCABLQAAQQprDgQBAgIAAgsgAUEBaiEBDAILIAFBAWohAQwBCyADLQAuQcAAcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAjwiAkUNACADIAIRAAAhAAsgAEUNoAEgAEEVRgRAIANB2QA2AhwgAyABNgIUIANBtxo2AhAgA0EVNgIMQQAhAgyfAgsgA0EANgIcIAMgATYCFCADQYANNgIQIANBGzYCDEEAIQIMngILIANBADYCHCADIAE2AhQgA0HcKDYCECADQQI2AgxBACECDJ0CCyABIARHBEAgA0EMNgIIIAMgATYCBEG/ASECDIQCC0HYASECDJwCCyABIARGBEBB1wEhAgycAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBwQBrDhUAAQIDWgQFBlpaWgcICQoLDA0ODxBaCyABQQFqIQFB+wAhAgySAgsgAUEBaiEBQfwAIQIMkQILIAFBAWohAUGBASECDJACCyABQQFqIQFBhQEhAgyPAgsgAUEBaiEBQYYBIQIMjgILIAFBAWohAUGJASECDI0CCyABQQFqIQFBigEhAgyMAgsgAUEBaiEBQY0BIQIMiwILIAFBAWohAUGWASECDIoCCyABQQFqIQFBlwEhAgyJAgsgAUEBaiEBQZgBIQIMiAILIAFBAWohAUGlASECDIcCCyABQQFqIQFBpgEhAgyGAgsgAUEBaiEBQawBIQIMhQILIAFBAWohAUG0ASECDIQCCyABQQFqIQFBtwEhAgyDAgsgAUEBaiEBQb4BIQIMggILIAEgBEYEQEHWASECDJsCCyABLQAAQc4ARw1IIAFBAWohAUG9ASECDIECCyABIARGBEBB1QEhAgyaAgsCQAJAAkAgAS0AAEHCAGsOEgBKSkpKSkpKSkoBSkpKSkpKAkoLIAFBAWohAUG4ASECDIICCyABQQFqIQFBuwEhAgyBAgsgAUEBaiEBQbwBIQIMgAILQdQBIQIgASAERg2YAiADKAIAIgAgBCABa2ohBSABIABrQQdqIQYCQANAIAEtAAAgAEGo1QBqLQAARw1FIABBB0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAgsgA0EANgIAIAZBAWohAUEbDEULIAEgBEYEQEHTASECDJgCCwJAAkAgAS0AAEHJAGsOBwBHR0dHRwFHCyABQQFqIQFBuQEhAgz/AQsgAUEBaiEBQboBIQIM/gELQdIBIQIgASAERg2WAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw1DIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyXAgsgA0EANgIAIAZBAWohAUEPDEMLQdEBIQIgASAERg2VAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw1CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyWAgsgA0EANgIAIAZBAWohAUEgDEILQdABIQIgASAERg2UAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw1BIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyVAgsgA0EANgIAIAZBAWohAUESDEELIAEgBEYEQEHPASECDJQCCwJAAkAgAS0AAEHFAGsODgBDQ0NDQ0NDQ0NDQ0MBQwsgAUEBaiEBQbUBIQIM+wELIAFBAWohAUG2ASECDPoBC0HOASECIAEgBEYNkgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBntUAai0AAEcNPyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkwILIANBADYCACAGQQFqIQFBBww/C0HNASECIAEgBEYNkQIgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBmNUAai0AAEcNPiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkgILIANBADYCACAGQQFqIQFBKAw+CyABIARGBEBBzAEhAgyRAgsCQAJAAkAgAS0AAEHFAGsOEQBBQUFBQUFBQUEBQUFBQUECQQsgAUEBaiEBQbEBIQIM+QELIAFBAWohAUGyASECDPgBCyABQQFqIQFBswEhAgz3AQtBywEhAiABIARGDY8CIAMoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAS0AACAAQZHVAGotAABHDTwgAEEGRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJACCyADQQA2AgAgBkEBaiEBQRoMPAtBygEhAiABIARGDY4CIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQY3VAGotAABHDTsgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADI8CCyADQQA2AgAgBkEBaiEBQSEMOwsgASAERgRAQckBIQIMjgILAkACQCABLQAAQcEAaw4UAD09PT09PT09PT09PT09PT09PQE9CyABQQFqIQFBrQEhAgz1AQsgAUEBaiEBQbABIQIM9AELIAEgBEYEQEHIASECDI0CCwJAAkAgAS0AAEHVAGsOCwA8PDw8PDw8PDwBPAsgAUEBaiEBQa4BIQIM9AELIAFBAWohAUGvASECDPMBC0HHASECIAEgBEYNiwIgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNOCAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjAILIANBADYCACAGQQFqIQFBKgw4CyABIARGBEBBxgEhAgyLAgsgAS0AAEHQAEcNOCABQQFqIQFBJQw3C0HFASECIAEgBEYNiQIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBgdUAai0AAEcNNiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMigILIANBADYCACAGQQFqIQFBDgw2CyABIARGBEBBxAEhAgyJAgsgAS0AAEHFAEcNNiABQQFqIQFBqwEhAgzvAQsgASAERgRAQcMBIQIMiAILAkACQAJAAkAgAS0AAEHCAGsODwABAjk5OTk5OTk5OTk5AzkLIAFBAWohAUGnASECDPEBCyABQQFqIQFBqAEhAgzwAQsgAUEBaiEBQakBIQIM7wELIAFBAWohAUGqASECDO4BC0HCASECIAEgBEYNhgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB/tQAai0AAEcNMyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhwILIANBADYCACAGQQFqIQFBFAwzC0HBASECIAEgBEYNhQIgAygCACIAIAQgAWtqIQUgASAAa0EEaiEGAkADQCABLQAAIABB+dQAai0AAEcNMiAAQQRGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhgILIANBADYCACAGQQFqIQFBKwwyC0HAASECIAEgBEYNhAIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB9tQAai0AAEcNMSAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhQILIANBADYCACAGQQFqIQFBLAwxC0G/ASECIAEgBEYNgwIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBodUAai0AAEcNMCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhAILIANBADYCACAGQQFqIQFBEQwwC0G+ASECIAEgBEYNggIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB8tQAai0AAEcNLyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMgwILIANBADYCACAGQQFqIQFBLgwvCyABIARGBEBBvQEhAgyCAgsCQAJAAkACQAJAIAEtAABBwQBrDhUANDQ0NDQ0NDQ0NAE0NAI0NAM0NAQ0CyABQQFqIQFBmwEhAgzsAQsgAUEBaiEBQZwBIQIM6wELIAFBAWohAUGdASECDOoBCyABQQFqIQFBogEhAgzpAQsgAUEBaiEBQaQBIQIM6AELIAEgBEYEQEG8ASECDIECCwJAAkAgAS0AAEHSAGsOAwAwATALIAFBAWohAUGjASECDOgBCyABQQFqIQFBBAwtC0G7ASECIAEgBEYN/wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8NQAai0AAEcNLCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMgAILIANBADYCACAGQQFqIQFBHQwsCyABIARGBEBBugEhAgz/AQsCQAJAIAEtAABByQBrDgcBLi4uLi4ALgsgAUEBaiEBQaEBIQIM5gELIAFBAWohAUEiDCsLIAEgBEYEQEG5ASECDP4BCyABLQAAQdAARw0rIAFBAWohAUGgASECDOQBCyABIARGBEBBuAEhAgz9AQsCQAJAIAEtAABBxgBrDgsALCwsLCwsLCwsASwLIAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";let N;Object.defineProperty(A,"exports",{get:()=>N||(N=u.from(d,"base64"))})})(Vt)),Vt.exports}var Ot={exports:{}},Ks;function wi(){return Ks||(Ks=1,(function(A){const{Buffer:u}=Oe,d="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";let N;Object.defineProperty(A,"exports",{get:()=>N||(N=u.from(d,"base64"))})})(Ot)),Ot.exports}var Jt,zs;function ut(){if(zs)return Jt;zs=1;const A=["GET","HEAD","POST"],u=new Set(A),d=[101,204,205,304],N=[301,302,303,307,308],o=new Set(N),C=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],g=new Set(C),B=["no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],f=["",...B],D=new Set(B),h=["follow","manual","error"],c=["GET","HEAD","OPTIONS","TRACE","QUERY"],a=new Set(c),s=["navigate","same-origin","no-cors","cors"],e=["omit","same-origin","include"],t=["default","no-store","reload","no-cache","force-cache","only-if-cached"],n=["content-encoding","content-language","content-location","content-type","content-length"],i=["half"],p=["CONNECT","TRACE","TRACK"],y=new Set(p),l=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],r=new Set(l);return Jt={subresource:l,forbiddenMethods:p,requestBodyHeader:n,referrerPolicy:f,requestRedirect:h,requestMode:s,requestCredentials:e,requestCache:t,redirectStatus:N,corsSafeListedMethods:A,nullBodyStatus:d,safeMethods:c,badPorts:C,requestDuplex:i,subresourceSet:r,badPortsSet:g,redirectStatusSet:o,corsSafeListedMethodsSet:u,safeMethodsSet:a,forbiddenMethodsSet:y,referrerPolicyTokens:D},Jt}var xt,js;function xn(){if(js)return xt;js=1;const A=Symbol.for("undici.globalOrigin.1");function u(){return globalThis[A]}function d(N){if(N===void 0){Object.defineProperty(globalThis,A,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}const o=new URL(N);if(o.protocol!=="http:"&&o.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${o.protocol}`);Object.defineProperty(globalThis,A,{value:o,writable:!0,enumerable:!1,configurable:!1})}return xt={getGlobalOrigin:u,setGlobalOrigin:d},xt}var Wt,$s;function Rs(){if($s)return Wt;$s=1;const A=new TextDecoder;function u(d){return d.length===0?"":(d[0]===239&&d[1]===187&&d[2]===191&&(d=d.subarray(3)),A.decode(d))}return Wt={utf8DecodeBytes:u},Wt}var qt,Ao;function be(){if(Ao)return qt;Ao=1;const A=qA,{utf8DecodeBytes:u}=Rs();function d(e,t,n){let i="";for(;n.position<t.length&&e(t[n.position]);)i+=t[n.position],n.position++;return i}function N(e,t,n){const i=t.indexOf(e,n.position),p=n.position;return i===-1?(n.position=t.length,t.slice(p)):(n.position=i,t.slice(p,n.position))}const o=/[\u0009\u000A\u000C\u000D\u0020]/g;function C(e){e=e.replace(o,"");let t=e.length;if(t%4===0&&e.charCodeAt(t-1)===61&&(--t,e.charCodeAt(t-1)===61&&--t),t%4===1||/[^+/0-9A-Za-z]/.test(e.length===t?e:e.substring(0,t)))return"failure";const n=Buffer.from(e,"base64");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}function g(e){return e===9||e===10||e===12||e===13||e===32}function B(e){const t=e.length;if(65535>t)return String.fromCharCode.apply(null,e);let n="",i=0,p=65535;for(;i<t;)i+p>t&&(p=t-i),n+=String.fromCharCode.apply(null,e.subarray(i,i+=p));return n}const f=/[^\x00-\xFF]/;function D(e){return A(!f.test(e)),e}function h(e){return JSON.parse(u(e))}function c(e,t=!0,n=!0){return a(e,t,n,g)}function a(e,t,n,i){let p=0,y=e.length-1;if(t)for(;p<e.length&&i(e.charCodeAt(p));)p++;if(n)for(;y>0&&i(e.charCodeAt(y));)y--;return p===0&&y===e.length-1?e:e.slice(p,y+1)}function s(e){const t=JSON.stringify(e);if(t===void 0)throw new TypeError("Value is not JSON serializable");return A(typeof t=="string"),t}return qt={collectASequenceOfCodePoints:d,collectASequenceOfCodePointsFast:N,forgivingBase64:C,isASCIIWhitespace:g,isomorphicDecode:B,isomorphicEncode:D,parseJSONFromBytes:h,removeASCIIWhitespace:c,removeChars:a,serializeJavascriptValueToJSONString:s},qt}var Pt,eo;function we(){if(eo)return Pt;eo=1;const A=qA,{forgivingBase64:u,collectASequenceOfCodePoints:d,collectASequenceOfCodePointsFast:N,isomorphicDecode:o,removeASCIIWhitespace:C,removeChars:g}=be(),B=new TextEncoder,f=/^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u,D=/[\u000A\u000D\u0009\u0020]/u,h=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;function c(Q){A(Q.protocol==="data:");let E=a(Q,!0);E=E.slice(5);const w={position:0};let F=N(",",E,w);const U=F.length;if(F=C(F,!0,!0),w.position>=E.length)return"failure";w.position++;const S=E.slice(U+1);let m=s(S);if(/;(?:\u0020*)base64$/ui.test(F)){const M=o(m);if(m=u(M),m==="failure")return"failure";F=F.slice(0,-6),F=F.replace(/(\u0020+)$/u,""),F=F.slice(0,-1)}F.startsWith(";")&&(F="text/plain"+F);let b=i(F);return b==="failure"&&(b=i("text/plain;charset=US-ASCII")),{mimeType:b,body:m}}function a(Q,E=!1){if(!E)return Q.href;const w=Q.href,F=Q.hash.length,U=F===0?w:w.substring(0,w.length-F);return!F&&w.endsWith("#")?U.slice(0,-1):U}function s(Q){const E=B.encode(Q);return n(E)}function e(Q){return Q>=48&&Q<=57||Q>=65&&Q<=70||Q>=97&&Q<=102}function t(Q){return Q>=48&&Q<=57?Q-48:(Q&223)-55}function n(Q){const E=Q.length,w=new Uint8Array(E);let F=0,U=0;for(;U<E;){const S=Q[U];S!==37?w[F++]=S:S===37&&!(e(Q[U+1])&&e(Q[U+2]))?w[F++]=37:(w[F++]=t(Q[U+1])<<4|t(Q[U+2]),U+=2),++U}return E===F?w:w.subarray(0,F)}function i(Q){Q=r(Q,!0,!0);const E={position:0},w=N("/",Q,E);if(w.length===0||!f.test(w)||E.position>=Q.length)return"failure";E.position++;let F=N(";",Q,E);if(F=r(F,!1,!0),F.length===0||!f.test(F))return"failure";const U=w.toLowerCase(),S=F.toLowerCase(),m={type:U,subtype:S,parameters:new Map,essence:`${U}/${S}`};for(;E.position<Q.length;){E.position++,d(Y=>D.test(Y),Q,E);let b=d(Y=>Y!==";"&&Y!=="=",Q,E);if(b=b.toLowerCase(),E.position<Q.length){if(Q[E.position]===";")continue;E.position++}if(E.position>=Q.length)break;let M=null;if(Q[E.position]==='"')M=p(Q,E,!0),N(";",Q,E);else if(M=N(";",Q,E),M=r(M,!1,!0),M.length===0)continue;b.length!==0&&f.test(b)&&(M.length===0||h.test(M))&&!m.parameters.has(b)&&m.parameters.set(b,M)}return m}function p(Q,E,w=!1){const F=E.position;let U="";for(A(Q[E.position]==='"'),E.position++;U+=d(S=>S!=='"'&&S!=="\\",Q,E),!(E.position>=Q.length);){const S=Q[E.position];if(E.position++,S==="\\"){if(E.position>=Q.length){U+="\\";break}U+=Q[E.position],E.position++}else{A(S==='"');break}}return w?U:Q.slice(F,E.position)}function y(Q){A(Q!=="failure");const{parameters:E,essence:w}=Q;let F=w;for(let[U,S]of E.entries())F+=";",F+=U,F+="=",f.test(S)||(S=S.replace(/[\\"]/ug,"\\$&"),S='"'+S,S+='"'),F+=S;return F}function l(Q){return Q===13||Q===10||Q===9||Q===32}function r(Q,E=!0,w=!0){return g(Q,E,w,l)}function I(Q){switch(Q.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return Q.subtype.endsWith("+json")?"application/json":Q.subtype.endsWith("+xml")?"application/xml":""}return Pt={dataURLProcessor:c,URLSerializer:a,stringPercentDecode:s,parseMIMEType:i,collectAnHTTPQuotedString:p,serializeAMimeType:y,removeHTTPWhitespace:r,minimizeSupportedMimeType:I,HTTP_TOKEN_CODEPOINTS:f},Pt}var _t,to;function Ie(){if(to)return _t;to=1;const A=qA,{types:u,inspect:d}=Se,{markAsUncloneable:N}=hi,o=1,C=2,g=3,B=4,f=5,D=6,h=7,c=8,a=Function.call.bind(Function.prototype[Symbol.hasInstance]),s={converters:{},util:{},errors:{},is:{}};return s.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)},s.errors.conversionFailed=function(e){const t=e.types.length===1?"":" one of",n=`${e.argument} could not be converted to${t}: ${e.types.join(", ")}.`;return s.errors.exception({header:e.prefix,message:n})},s.errors.invalidArgument=function(e){return s.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})},s.brandCheck=function(e,t){if(!a(t,e)){const n=new TypeError("Illegal invocation");throw n.code="ERR_INVALID_THIS",n}},s.brandCheckMultiple=function(e){const t=e.map(n=>s.util.MakeTypeAssertion(n));return n=>{if(t.every(i=>!i(n))){const i=new TypeError("Illegal invocation");throw i.code="ERR_INVALID_THIS",i}}},s.argumentLengthCheck=function({length:e},t,n){if(e<t)throw s.errors.exception({message:`${t} argument${t!==1?"s":""} required, but${e?" only":""} ${e} found.`,header:n})},s.illegalConstructor=function(){throw s.errors.exception({header:"TypeError",message:"Illegal constructor"})},s.util.MakeTypeAssertion=function(e){return t=>a(e,t)},s.util.Type=function(e){switch(typeof e){case"undefined":return o;case"boolean":return C;case"string":return g;case"symbol":return B;case"number":return f;case"bigint":return D;case"function":case"object":return e===null?h:c}},s.util.Types={UNDEFINED:o,BOOLEAN:C,STRING:g,SYMBOL:B,NUMBER:f,BIGINT:D,NULL:h,OBJECT:c},s.util.TypeValueToString=function(e){switch(s.util.Type(e)){case o:return"Undefined";case C:return"Boolean";case g:return"String";case B:return"Symbol";case f:return"Number";case D:return"BigInt";case h:return"Null";case c:return"Object"}},s.util.markAsUncloneable=N,s.util.ConvertToInt=function(e,t,n,i){let p,y;t===64?(p=Math.pow(2,53)-1,n==="unsigned"?y=0:y=Math.pow(-2,53)+1):n==="unsigned"?(y=0,p=Math.pow(2,t)-1):(y=-Math.pow(2,t-1),p=Math.pow(2,t-1)-1);let l=Number(e);if(l===0&&(l=0),s.util.HasFlag(i,s.attributes.EnforceRange)){if(Number.isNaN(l)||l===Number.POSITIVE_INFINITY||l===Number.NEGATIVE_INFINITY)throw s.errors.exception({header:"Integer conversion",message:`Could not convert ${s.util.Stringify(e)} to an integer.`});if(l=s.util.IntegerPart(l),l<y||l>p)throw s.errors.exception({header:"Integer conversion",message:`Value must be between ${y}-${p}, got ${l}.`});return l}return!Number.isNaN(l)&&s.util.HasFlag(i,s.attributes.Clamp)?(l=Math.min(Math.max(l,y),p),Math.floor(l)%2===0?l=Math.floor(l):l=Math.ceil(l),l):Number.isNaN(l)||l===0&&Object.is(0,l)||l===Number.POSITIVE_INFINITY||l===Number.NEGATIVE_INFINITY?0:(l=s.util.IntegerPart(l),l=l%Math.pow(2,t),n==="signed"&&l>=Math.pow(2,t-1)?l-Math.pow(2,t):l)},s.util.IntegerPart=function(e){const t=Math.floor(Math.abs(e));return e<0?-1*t:t},s.util.Stringify=function(e){switch(s.util.Type(e)){case B:return`Symbol(${e.description})`;case c:return d(e);case g:return`"${e}"`;case D:return`${e}n`;default:return`${e}`}},s.util.IsResizableArrayBuffer=function(e){if(u.isArrayBuffer(e))return e.resizable;if(u.isSharedArrayBuffer(e))return e.growable;throw s.errors.exception({header:"IsResizableArrayBuffer",message:`"${s.util.Stringify(e)}" is not an array buffer.`})},s.util.HasFlag=function(e,t){return typeof e=="number"&&(e&t)===t},s.sequenceConverter=function(e){return(t,n,i,p)=>{if(s.util.Type(t)!==c)throw s.errors.exception({header:n,message:`${i} (${s.util.Stringify(t)}) is not iterable.`});const y=typeof p=="function"?p():t?.[Symbol.iterator]?.(),l=[];let r=0;if(y===void 0||typeof y.next!="function")throw s.errors.exception({header:n,message:`${i} is not iterable.`});for(;;){const{done:I,value:Q}=y.next();if(I)break;l.push(e(Q,n,`${i}[${r++}]`))}return l}},s.recordConverter=function(e,t){return(n,i,p)=>{if(s.util.Type(n)!==c)throw s.errors.exception({header:i,message:`${p} ("${s.util.TypeValueToString(n)}") is not an Object.`});const y={};if(!u.isProxy(n)){const r=[...Object.getOwnPropertyNames(n),...Object.getOwnPropertySymbols(n)];for(const I of r){const Q=s.util.Stringify(I),E=e(I,i,`Key ${Q} in ${p}`),w=t(n[I],i,`${p}[${Q}]`);y[E]=w}return y}const l=Reflect.ownKeys(n);for(const r of l)if(Reflect.getOwnPropertyDescriptor(n,r)?.enumerable){const I=e(r,i,p),Q=t(n[r],i,p);y[I]=Q}return y}},s.interfaceConverter=function(e,t){return(n,i,p)=>{if(!e(n))throw s.errors.exception({header:i,message:`Expected ${p} ("${s.util.Stringify(n)}") to be an instance of ${t}.`});return n}},s.dictionaryConverter=function(e){return e.sort((t,n)=>(t.key>n.key)-(t.key<n.key)),(t,n,i)=>{const p={};if(t!=null&&s.util.Type(t)!==c)throw s.errors.exception({header:n,message:`Expected ${t} to be one of: Null, Undefined, Object.`});for(const y of e){const{key:l,defaultValue:r,required:I,converter:Q}=y;if(I===!0&&(t==null||!Object.hasOwn(t,l)))throw s.errors.exception({header:n,message:`Missing required key "${l}".`});let E=t?.[l];const w=r!==void 0;if(w&&E===void 0&&(E=r()),I||w||E!==void 0){if(E=Q(E,n,`${i}.${l}`),y.allowedValues&&!y.allowedValues.includes(E))throw s.errors.exception({header:n,message:`${E} is not an accepted type. Expected one of ${y.allowedValues.join(", ")}.`});p[l]=E}}return p}},s.nullableConverter=function(e){return(t,n,i)=>t===null?t:e(t,n,i)},s.is.USVString=function(e){return typeof e=="string"&&e.isWellFormed()},s.is.ReadableStream=s.util.MakeTypeAssertion(ReadableStream),s.is.Blob=s.util.MakeTypeAssertion(Blob),s.is.URLSearchParams=s.util.MakeTypeAssertion(URLSearchParams),s.is.File=s.util.MakeTypeAssertion(File),s.is.URL=s.util.MakeTypeAssertion(URL),s.is.AbortSignal=s.util.MakeTypeAssertion(AbortSignal),s.is.MessagePort=s.util.MakeTypeAssertion(MessagePort),s.is.BufferSource=function(e){return u.isArrayBuffer(e)||ArrayBuffer.isView(e)&&u.isArrayBuffer(e.buffer)},s.util.getCopyOfBytesHeldByBufferSource=function(e){const t=e;let n=t,i=0,p=0;if(u.isTypedArray(t)||u.isDataView(t)?(n=t.buffer,i=t.byteOffset,p=t.byteLength):(A(u.isAnyArrayBuffer(t)),p=t.byteLength),n.detached)return new Uint8Array(0);const y=new Uint8Array(p),l=new Uint8Array(n,i,p);return y.set(l),y},s.converters.DOMString=function(e,t,n,i){if(e===null&&s.util.HasFlag(i,s.attributes.LegacyNullToEmptyString))return"";if(typeof e=="symbol")throw s.errors.exception({header:t,message:`${n} is a symbol, which cannot be converted to a DOMString.`});return String(e)},s.converters.ByteString=function(e,t,n){if(typeof e=="symbol")throw s.errors.exception({header:t,message:`${n} is a symbol, which cannot be converted to a ByteString.`});const i=String(e);for(let p=0;p<i.length;p++)if(i.charCodeAt(p)>255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${p} has a value of ${i.charCodeAt(p)} which is greater than 255.`);return i},s.converters.USVString=function(e){return typeof e=="string"?e.toWellFormed():`${e}`.toWellFormed()},s.converters.boolean=function(e){return!!e},s.converters.any=function(e){return e},s.converters["long long"]=function(e,t,n){return s.util.ConvertToInt(e,64,"signed",0,t,n)},s.converters["unsigned long long"]=function(e,t,n){return s.util.ConvertToInt(e,64,"unsigned",0,t,n)},s.converters["unsigned long"]=function(e,t,n){return s.util.ConvertToInt(e,32,"unsigned",0,t,n)},s.converters["unsigned short"]=function(e,t,n,i){return s.util.ConvertToInt(e,16,"unsigned",i,t,n)},s.converters.ArrayBuffer=function(e,t,n,i){if(s.util.Type(e)!==c||!u.isArrayBuffer(e))throw s.errors.conversionFailed({prefix:t,argument:`${n} ("${s.util.Stringify(e)}")`,types:["ArrayBuffer"]});if(!s.util.HasFlag(i,s.attributes.AllowResizable)&&s.util.IsResizableArrayBuffer(e))throw s.errors.exception({header:t,message:`${n} cannot be a resizable ArrayBuffer.`});return e},s.converters.SharedArrayBuffer=function(e,t,n,i){if(s.util.Type(e)!==c||!u.isSharedArrayBuffer(e))throw s.errors.conversionFailed({prefix:t,argument:`${n} ("${s.util.Stringify(e)}")`,types:["SharedArrayBuffer"]});if(!s.util.HasFlag(i,s.attributes.AllowResizable)&&s.util.IsResizableArrayBuffer(e))throw s.errors.exception({header:t,message:`${n} cannot be a resizable SharedArrayBuffer.`});return e},s.converters.TypedArray=function(e,t,n,i,p){if(s.util.Type(e)!==c||!u.isTypedArray(e)||e.constructor.name!==t.name)throw s.errors.conversionFailed({prefix:n,argument:`${i} ("${s.util.Stringify(e)}")`,types:[t.name]});if(!s.util.HasFlag(p,s.attributes.AllowShared)&&u.isSharedArrayBuffer(e.buffer))throw s.errors.exception({header:n,message:`${i} cannot be a view on a shared array buffer.`});if(!s.util.HasFlag(p,s.attributes.AllowResizable)&&s.util.IsResizableArrayBuffer(e.buffer))throw s.errors.exception({header:n,message:`${i} cannot be a view on a resizable array buffer.`});return e},s.converters.DataView=function(e,t,n,i){if(s.util.Type(e)!==c||!u.isDataView(e))throw s.errors.conversionFailed({prefix:t,argument:`${n} ("${s.util.Stringify(e)}")`,types:["DataView"]});if(!s.util.HasFlag(i,s.attributes.AllowShared)&&u.isSharedArrayBuffer(e.buffer))throw s.errors.exception({header:t,message:`${n} cannot be a view on a shared array buffer.`});if(!s.util.HasFlag(i,s.attributes.AllowResizable)&&s.util.IsResizableArrayBuffer(e.buffer))throw s.errors.exception({header:t,message:`${n} cannot be a view on a resizable array buffer.`});return e},s.converters.ArrayBufferView=function(e,t,n,i){if(s.util.Type(e)!==c||!u.isArrayBufferView(e))throw s.errors.conversionFailed({prefix:t,argument:`${n} ("${s.util.Stringify(e)}")`,types:["ArrayBufferView"]});if(!s.util.HasFlag(i,s.attributes.AllowShared)&&u.isSharedArrayBuffer(e.buffer))throw s.errors.exception({header:t,message:`${n} cannot be a view on a shared array buffer.`});if(!s.util.HasFlag(i,s.attributes.AllowResizable)&&s.util.IsResizableArrayBuffer(e.buffer))throw s.errors.exception({header:t,message:`${n} cannot be a view on a resizable array buffer.`});return e},s.converters.BufferSource=function(e,t,n,i){if(u.isArrayBuffer(e))return s.converters.ArrayBuffer(e,t,n,i);if(u.isArrayBufferView(e))return i&=~s.attributes.AllowShared,s.converters.ArrayBufferView(e,t,n,i);throw u.isSharedArrayBuffer(e)?s.errors.exception({header:t,message:`${n} cannot be a SharedArrayBuffer.`}):s.errors.conversionFailed({prefix:t,argument:`${n} ("${s.util.Stringify(e)}")`,types:["ArrayBuffer","ArrayBufferView"]})},s.converters.AllowSharedBufferSource=function(e,t,n,i){if(u.isArrayBuffer(e))return s.converters.ArrayBuffer(e,t,n,i);if(u.isSharedArrayBuffer(e))return s.converters.SharedArrayBuffer(e,t,n,i);if(u.isArrayBufferView(e))return i|=s.attributes.AllowShared,s.converters.ArrayBufferView(e,t,n,i);throw s.errors.conversionFailed({prefix:t,argument:`${n} ("${s.util.Stringify(e)}")`,types:["ArrayBuffer","SharedArrayBuffer","ArrayBufferView"]})},s.converters["sequence<ByteString>"]=s.sequenceConverter(s.converters.ByteString),s.converters["sequence<sequence<ByteString>>"]=s.sequenceConverter(s.converters["sequence<ByteString>"]),s.converters["record<ByteString, ByteString>"]=s.recordConverter(s.converters.ByteString,s.converters.ByteString),s.converters.Blob=s.interfaceConverter(s.is.Blob,"Blob"),s.converters.AbortSignal=s.interfaceConverter(s.is.AbortSignal,"AbortSignal"),s.converters.EventHandlerNonNull=function(e){return s.util.Type(e)!==c?null:typeof e=="function"?e:()=>{}},s.attributes={Clamp:1,EnforceRange:2,AllowShared:4,AllowResizable:8,LegacyNullToEmptyString:16},_t={webidl:s},_t}var Zt,ro;function De(){if(ro)return Zt;ro=1;const{Transform:A}=Ce,u=Ct,{redirectStatusSet:d,referrerPolicyTokens:N,badPortsSet:o}=ut(),{getGlobalOrigin:C}=xn(),{collectAnHTTPQuotedString:g,parseMIMEType:B}=we(),{performance:f}=Qi,{ReadableStreamFrom:D,isValidHTTPToken:h,normalizedMethodRecordsBase:c}=LA(),a=qA,{isUint8Array:s}=Ds,{webidl:e}=Ie(),{isomorphicEncode:t,collectASequenceOfCodePoints:n,removeChars:i}=be();function p(O){const sA=O.urlList,IA=sA.length;return IA===0?null:sA[IA-1].toString()}function y(O,sA){if(!d.has(O.status))return null;let IA=O.headersList.get("location",!0);return IA!==null&&U(IA)&&(l(IA)||(IA=r(IA)),IA=new URL(IA,p(O))),IA&&!IA.hash&&(IA.hash=sA),IA}function l(O){for(let sA=0;sA<O.length;++sA){const IA=O.charCodeAt(sA);if(IA>126||IA<32)return!1}return!0}function r(O){return Buffer.from(O,"binary").toString("utf8")}function I(O){return O.urlList[O.urlList.length-1]}function Q(O){const sA=I(O);return oe(sA)&&o.has(sA.port)?"blocked":"allowed"}function E(O){return O instanceof Error||O?.constructor?.name==="Error"||O?.constructor?.name==="DOMException"}function w(O){for(let sA=0;sA<O.length;++sA){const IA=O.charCodeAt(sA);if(!(IA===9||IA>=32&&IA<=126||IA>=128&&IA<=255))return!1}return!0}const F=h;function U(O){return(O[0]===" "||O[0]===" "||O[O.length-1]===" "||O[O.length-1]===" "||O.includes(`
5
- `)||O.includes("\r")||O.includes("\0"))===!1}function S(O){const sA=(O.headersList.get("referrer-policy",!0)??"").split(",");let IA="";if(sA.length)for(let uA=sA.length;uA!==0;uA--){const bA=sA[uA-1].trim();if(N.has(bA)){IA=bA;break}}return IA}function m(O,sA){const IA=S(sA);IA!==""&&(O.referrerPolicy=IA)}function b(){return"allowed"}function M(){return"success"}function Y(){return"success"}function V(O){let sA=null;sA=O.mode,O.headersList.set("sec-fetch-mode",sA,!0)}function k(O){let sA=O.origin;if(!(sA==="client"||sA===void 0)){if(O.responseTainting==="cors"||O.mode==="websocket")O.headersList.append("origin",sA,!0);else if(O.method!=="GET"&&O.method!=="HEAD"){switch(O.referrerPolicy){case"no-referrer":sA=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":O.origin&&Ae(O.origin)&&!Ae(I(O))&&(sA=null);break;case"same-origin":xA(O,I(O))||(sA=null);break}O.headersList.append("origin",sA,!0)}}}function T(O,sA){return O}function x(O,sA,IA){return!O?.startTime||O.startTime<sA?{domainLookupStartTime:sA,domainLookupEndTime:sA,connectionStartTime:sA,connectionEndTime:sA,secureConnectionStartTime:sA,ALPNNegotiatedProtocol:O?.ALPNNegotiatedProtocol}:{domainLookupStartTime:T(O.domainLookupStartTime),domainLookupEndTime:T(O.domainLookupEndTime),connectionStartTime:T(O.connectionStartTime),connectionEndTime:T(O.connectionEndTime),secureConnectionStartTime:T(O.secureConnectionStartTime),ALPNNegotiatedProtocol:O.ALPNNegotiatedProtocol}}function z(O){return T(f.now())}function gA(O){return{startTime:O.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:O.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function QA(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function tA(O){return{referrerPolicy:O.referrerPolicy}}function DA(O){const sA=O.referrerPolicy;a(sA);let IA=null;if(O.referrer==="client"){const FA=C();if(!FA||FA.origin==="null")return"no-referrer";IA=new URL(FA)}else e.is.URL(O.referrer)&&(IA=O.referrer);let uA=nA(IA);const bA=nA(IA,!0);switch(uA.toString().length>4096&&(uA=bA),sA){case"no-referrer":return"no-referrer";case"origin":return bA??nA(IA,!0);case"unsafe-url":return uA;case"strict-origin":{const FA=I(O);return hA(uA)&&!hA(FA)?"no-referrer":bA}case"strict-origin-when-cross-origin":{const FA=I(O);return xA(uA,FA)?uA:hA(uA)&&!hA(FA)?"no-referrer":bA}case"same-origin":return xA(O,uA)?uA:"no-referrer";case"origin-when-cross-origin":return xA(O,uA)?uA:bA;case"no-referrer-when-downgrade":{const FA=I(O);return hA(uA)&&!hA(FA)?"no-referrer":uA}}}function nA(O,sA=!1){return a(e.is.URL(O)),O=new URL(O),zA(O)?"no-referrer":(O.username="",O.password="",O.hash="",sA===!0&&(O.pathname="",O.search=""),O)}const eA=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),iA=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function CA(O){return O.includes(":")?(O[0]==="["&&O[O.length-1]==="]"&&(O=O.slice(1,-1)),iA(O)):eA(O)}function NA(O){return O==null||O==="null"?!1:(O=new URL(O),!!(O.protocol==="https:"||O.protocol==="wss:"||CA(O.hostname)||O.hostname==="localhost"||O.hostname==="localhost."||O.hostname.endsWith(".localhost")||O.hostname.endsWith(".localhost.")||O.protocol==="file:"))}function hA(O){return e.is.URL(O)?O.href==="about:blank"||O.href==="about:srcdoc"||O.protocol==="data:"||O.protocol==="blob:"?!0:NA(O.origin):!1}function kA(O){}function xA(O,sA){return O.origin===sA.origin&&O.origin==="null"||O.protocol===sA.protocol&&O.hostname===sA.hostname&&O.port===sA.port}function TA(O){return O.controller.state==="aborted"}function AA(O){return O.controller.state==="aborted"||O.controller.state==="terminated"}function G(O){return c[O.toLowerCase()]??O}const rA=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function j(O,sA,IA=0,uA=1){class bA{#A;#e;#t;constructor(PA,se){this.#A=PA,this.#e=se,this.#t=0}next(){if(typeof this!="object"||this===null||!(#A in this))throw new TypeError(`'next' called on an object that does not implement interface ${O} Iterator.`);const PA=this.#t,se=sA(this.#A),XA=se.length;if(PA>=XA)return{value:void 0,done:!0};const{[IA]:EA,[uA]:v}=se[PA];this.#t=PA+1;let W;switch(this.#e){case"key":W=EA;break;case"value":W=v;break;case"key+value":W=[EA,v];break}return{value:W,done:!1}}}return delete bA.prototype.constructor,Object.setPrototypeOf(bA.prototype,rA),Object.defineProperties(bA.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${O} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(FA,PA){return new bA(FA,PA)}}function yA(O,sA,IA,uA=0,bA=1){const FA=j(O,IA,uA,bA),PA={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return e.brandCheck(this,sA),FA(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return e.brandCheck(this,sA),FA(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return e.brandCheck(this,sA),FA(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(se,XA=globalThis){if(e.brandCheck(this,sA),e.argumentLengthCheck(arguments,1,`${O}.forEach`),typeof se!="function")throw new TypeError(`Failed to execute 'forEach' on '${O}': parameter 1 is not of type 'Function'.`);for(const{0:EA,1:v}of FA(this,"key+value"))se.call(XA,v,EA,this)}}};return Object.defineProperties(sA.prototype,{...PA,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:PA.entries.value}})}function RA(O,sA,IA){const uA=sA,bA=IA;try{const FA=O.stream.getReader();KA(FA,uA,bA)}catch(FA){bA(FA)}}function GA(O){try{O.close(),O.byobRequest?.respond(0)}catch(sA){if(!sA.message.includes("Controller is already closed")&&!sA.message.includes("ReadableStream is already closed"))throw sA}}async function KA(O,sA,IA){try{const uA=[];let bA=0;do{const{done:FA,value:PA}=await O.read();if(FA){sA(Buffer.concat(uA,bA));return}if(!s(PA)){IA(new TypeError("Received non-Uint8Array chunk"));return}uA.push(PA),bA+=PA.length}while(!0)}catch(uA){IA(uA)}}function zA(O){a("protocol"in O);const sA=O.protocol;return sA==="about:"||sA==="blob:"||sA==="data:"}function Ae(O){return typeof O=="string"&&O[5]===":"&&O[0]==="h"&&O[1]==="t"&&O[2]==="t"&&O[3]==="p"&&O[4]==="s"||O.protocol==="https:"}function oe(O){a("protocol"in O);const sA=O.protocol;return sA==="http:"||sA==="https:"}function ne(O,sA){const IA=O;if(!IA.startsWith("bytes"))return"failure";const uA={position:5};if(sA&&n(XA=>XA===" "||XA===" ",IA,uA),IA.charCodeAt(uA.position)!==61)return"failure";uA.position++,sA&&n(XA=>XA===" "||XA===" ",IA,uA);const bA=n(XA=>{const EA=XA.charCodeAt(0);return EA>=48&&EA<=57},IA,uA),FA=bA.length?Number(bA):null;if(sA&&n(XA=>XA===" "||XA===" ",IA,uA),IA.charCodeAt(uA.position)!==45)return"failure";uA.position++,sA&&n(XA=>XA===" "||XA===" ",IA,uA);const PA=n(XA=>{const EA=XA.charCodeAt(0);return EA>=48&&EA<=57},IA,uA),se=PA.length?Number(PA):null;return uA.position<IA.length||se===null&&FA===null||FA>se?"failure":{rangeStartValue:FA,rangeEndValue:se}}function ee(O,sA,IA){let uA="bytes ";return uA+=t(`${O}`),uA+="-",uA+=t(`${sA}`),uA+="/",uA+=t(`${IA}`),uA}class ge extends A{#A;constructor(sA){super(),this.#A=sA}_transform(sA,IA,uA){if(!this._inflateStream){if(sA.length===0){uA();return}this._inflateStream=(sA[0]&15)===8?u.createInflate(this.#A):u.createInflateRaw(this.#A),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",bA=>this.destroy(bA))}this._inflateStream.write(sA,IA,uA)}_final(sA){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),sA()}}function ce(O){return new ge(O)}function le(O){let sA=null,IA=null,uA=null;const bA=R("content-type",O);if(bA===null)return"failure";for(const FA of bA){const PA=B(FA);PA==="failure"||PA.essence==="*/*"||(uA=PA,uA.essence!==IA?(sA=null,uA.parameters.has("charset")&&(sA=uA.parameters.get("charset")),IA=uA.essence):!uA.parameters.has("charset")&&sA!==null&&uA.parameters.set("charset",sA))}return uA??"failure"}function HA(O){const sA=O,IA={position:0},uA=[];let bA="";for(;IA.position<sA.length;){if(bA+=n(FA=>FA!=='"'&&FA!==",",sA,IA),IA.position<sA.length)if(sA.charCodeAt(IA.position)===34){if(bA+=g(sA,IA),IA.position<sA.length)continue}else a(sA.charCodeAt(IA.position)===44),IA.position++;bA=i(bA,!0,!0,FA=>FA===9||FA===32),uA.push(bA),bA=""}return uA}function R(O,sA){const IA=sA.get(O,!0);return IA===null?null:HA(IA)}function _(O){return!1}function cA(O){return!!(O.username||O.password)}function dA(O){return O!=null&&O!=="client"&&O!=="no-traversable"}class UA{get baseUrl(){return C()}get origin(){return this.baseUrl?.origin}policyContainer=QA()}class YA{settingsObject=new UA}const vA=new YA;return Zt={isAborted:TA,isCancelled:AA,isValidEncodedURL:l,ReadableStreamFrom:D,tryUpgradeRequestToAPotentiallyTrustworthyURL:kA,clampAndCoarsenConnectionTimingInfo:x,coarsenedSharedCurrentTime:z,determineRequestsReferrer:DA,makePolicyContainer:QA,clonePolicyContainer:tA,appendFetchMetadata:V,appendRequestOriginHeader:k,TAOCheck:Y,corsCheck:M,crossOriginResourcePolicyCheck:b,createOpaqueTimingInfo:gA,setRequestReferrerPolicyOnRedirect:m,isValidHTTPToken:h,requestBadPort:Q,requestCurrentURL:I,responseURL:p,responseLocationURL:y,isURLPotentiallyTrustworthy:hA,isValidReasonPhrase:w,sameOrigin:xA,normalizeMethod:G,iteratorMixin:yA,createIterator:j,isValidHeaderName:F,isValidHeaderValue:U,isErrorLike:E,fullyReadBody:RA,readableStreamClose:GA,urlIsLocal:zA,urlHasHttpsScheme:Ae,urlIsHttpHttpsScheme:oe,readAllBytes:KA,simpleRangeHeaderValue:ne,buildContentRange:ee,createInflate:ce,extractMimeType:le,getDecodeSplit:R,environmentSettingsObject:vA,isOriginIPPotentiallyTrustworthy:CA,hasAuthenticationEntry:_,includesCredentials:cA,isTraversableNavigable:dA},Zt}var lt={},so;function st(){if(so)return lt;so=1;const A={__proto__:null,"node:crypto":()=>Je,"node:sqlite":()=>Vn};function u(g){try{return A[g](),!0}catch(B){if(B.code!=="ERR_UNKNOWN_BUILTIN_MODULE"&&B.code!=="ERR_NO_CRYPTO")throw B;return!1}}const d=["crypto","sqlite"];function N(g){if(d.includes(g))return u(`node:${g}`);throw new TypeError(`unknown feature: ${g}`)}class o{#A=new Map;clear(){this.#A.clear()}has(B){return this.#A.get(B)??this.#e(B)}set(B,f){if(d.includes(B)===!1)throw new TypeError(`unknown feature: ${B}`);this.#A.set(B,f)}#e(B){const f=N(B);return this.#A.set(B,f),f}}const C=new o;return lt.runtimeFeatures=C,lt.default=C,lt}var Xt,oo;function Ss(){if(oo)return Xt;oo=1;const{iteratorMixin:A}=De(),{kEnumerableProperty:u}=LA(),{webidl:d}=Ie(),N=Se,{runtimeFeatures:o}=st(),C=o.has("crypto")?Je.randomInt:c=>Math.floor(Math.random()*c);class g{#A=[];#e=null;constructor(a=void 0){if(d.util.markAsUncloneable(this),a!==void 0)throw d.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(a,s,e=void 0){d.brandCheck(this,g);const t="FormData.append";d.argumentLengthCheck(arguments,2,t),a=d.converters.USVString(a),arguments.length===3||d.is.Blob(s)?(s=d.converters.Blob(s,t,"value"),e!==void 0&&(e=d.converters.USVString(e))):s=d.converters.USVString(s);const n=h(a,s,e);this.#A.push(n)}delete(a){d.brandCheck(this,g),d.argumentLengthCheck(arguments,1,"FormData.delete"),a=d.converters.USVString(a),this.#A=this.#A.filter(s=>s.name!==a)}get(a){d.brandCheck(this,g),d.argumentLengthCheck(arguments,1,"FormData.get"),a=d.converters.USVString(a);const s=this.#A.findIndex(e=>e.name===a);return s===-1?null:this.#A[s].value}getAll(a){return d.brandCheck(this,g),d.argumentLengthCheck(arguments,1,"FormData.getAll"),a=d.converters.USVString(a),this.#A.filter(s=>s.name===a).map(s=>s.value)}has(a){return d.brandCheck(this,g),d.argumentLengthCheck(arguments,1,"FormData.has"),a=d.converters.USVString(a),this.#A.findIndex(s=>s.name===a)!==-1}set(a,s,e=void 0){d.brandCheck(this,g);const t="FormData.set";d.argumentLengthCheck(arguments,2,t),a=d.converters.USVString(a),arguments.length===3||d.is.Blob(s)?(s=d.converters.Blob(s,t,"value"),e!==void 0&&(e=d.converters.USVString(e))):s=d.converters.USVString(s);const n=h(a,s,e),i=this.#A.findIndex(p=>p.name===a);i!==-1?this.#A=[...this.#A.slice(0,i),n,...this.#A.slice(i+1).filter(p=>p.name!==a)]:this.#A.push(n)}[N.inspect.custom](a,s){const e=this.#A.reduce((n,i)=>(n[i.name]?Array.isArray(n[i.name])?n[i.name].push(i.value):n[i.name]=[n[i.name],i.value]:n[i.name]=i.value,n),{__proto__:null});s.depth??=a,s.colors??=!0;const t=N.formatWithOptions(s,e);return`FormData ${t.slice(t.indexOf("]")+2)}`}static getFormDataState(a){return a.#A}static setFormDataState(a,s){a.#A=s}static getFormDataBoundary(a){return a.#e??(a.#e=`----formdata-undici-0${`${C(1e11)}`.padStart(11,"0")}`)}}const{getFormDataState:B,setFormDataState:f,getFormDataBoundary:D}=g;Reflect.deleteProperty(g,"getFormDataState"),Reflect.deleteProperty(g,"setFormDataState"),Reflect.deleteProperty(g,"getFormDataBoundary"),A("FormData",g,B,"name","value"),Object.defineProperties(g.prototype,{append:u,delete:u,get:u,getAll:u,has:u,set:u,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function h(c,a,s){if(typeof a!="string"&&(d.is.File(a)||(a=new File([a],"blob",{type:a.type})),s!==void 0)){const e={type:a.type,lastModified:a.lastModified};a=new File([a],s,e)}return{name:c,value:a}}return d.is.FormData=d.util.MakeTypeAssertion(g),Xt={FormData:g,makeEntry:h,setFormDataState:f,getFormDataBoundary:D},Xt}var Kt,no;function Ni(){if(no)return Kt;no=1;const{bufferToLowerCasedHeaderName:A}=LA(),{HTTP_TOKEN_CODEPOINTS:u}=we(),{makeEntry:d}=Ss(),{webidl:N}=Ie(),o=qA,{isomorphicDecode:C}=be(),g=Buffer.from("--"),B=new TextDecoder,f=new TextDecoder("utf-8",{ignoreBOM:!0});function D(r){for(let I=0;I<r.length;++I)if((r.charCodeAt(I)&-128)!==0)return!1;return!0}function h(r){const I=r.length;if(I<27||I>70)return!1;for(let Q=0;Q<I;++Q){const E=r.charCodeAt(Q);if(!(E>=48&&E<=57||E>=65&&E<=90||E>=97&&E<=122||E===39||E===45||E===95))return!1}return!0}function c(r,I){o(I!=="failure"&&I.essence==="multipart/form-data");const Q=I.parameters.get("boundary");if(Q===void 0)throw i("missing boundary in content-type header");const E=Buffer.from(`--${Q}`,"utf8"),w=[],F={position:0},U=r.indexOf(E);if(U===-1)throw i("no boundary found in multipart body");for(F.position=U;;){if(r.subarray(F.position,F.position+E.length).equals(E))F.position+=E.length;else throw i("expected a value starting with -- and the boundary");if(n(r,g,F))return w;if(r[F.position]!==13||r[F.position+1]!==10)throw i("expected CRLF");F.position+=2;const S=s(r,F);let{name:m,filename:b,contentType:M,encoding:Y}=S;F.position+=2;let V;{const T=r.indexOf(E.subarray(2),F.position);if(T===-1)throw i("expected boundary after body");V=r.subarray(F.position,T-4),F.position+=V.length,Y==="base64"&&(V=Buffer.from(V.toString(),"base64"))}if(r[F.position]!==13||r[F.position+1]!==10)throw i("expected CRLF");F.position+=2;let k;b!==null?(M??="text/plain",D(M)||(M=""),k=new File([V],b,{type:M})):k=f.decode(Buffer.from(V)),o(N.is.USVString(m)),o(typeof k=="string"&&N.is.USVString(k)||N.is.File(k)),w.push(d(m,k,b))}}function a(r,I){r[I.position]===59&&I.position++,e(U=>U===32||U===9,r,I);const Q=e(U=>l(U)&&U!==61&&U!==42,r,I);if(Q.length===0)return null;const E=Q.toString("ascii").toLowerCase(),w=r[I.position]===42;if(w&&I.position++,r[I.position]!==61)return null;I.position++,e(U=>U===32||U===9,r,I);let F;if(w){const U=e(S=>S!==32&&S!==13&&S!==10&&S!==59,r,I);if(U[0]!==117&&U[0]!==85||U[1]!==116&&U[1]!==84||U[2]!==102&&U[2]!==70||U[3]!==45||U[4]!==56)throw i("unknown encoding, expected utf-8''");F=decodeURIComponent(B.decode(U.subarray(7)))}else if(r[I.position]===34){I.position++;const U=e(S=>S!==10&&S!==13&&S!==34,r,I);if(r[I.position]!==34)throw i("Closing quote not found");I.position++,F=B.decode(U).replace(/%0A/ig,`
6
- `).replace(/%0D/ig,"\r").replace(/%22/g,'"')}else{const U=e(S=>l(S)&&S!==59,r,I);F=B.decode(U)}return{name:E,value:F,extended:w}}function s(r,I){let Q=null,E=null,w=null,F=null;for(;;){if(r[I.position]===13&&r[I.position+1]===10){if(Q===null)throw i("header name is null");return{name:Q,filename:E,contentType:w,encoding:F}}let U=e(S=>S!==10&&S!==13&&S!==58,r,I);if(U=t(U,!0,!0,S=>S===9||S===32),!u.test(U.toString()))throw i("header name does not match the field-name token production");if(r[I.position]!==58)throw i("expected :");switch(I.position++,e(S=>S===32||S===9,r,I),A(U)){case"content-disposition":{Q=E=null;let S=!1;if(e(m=>l(m),r,I).toString("ascii").toLowerCase()!=="form-data")throw i("expected form-data for content-disposition header");for(;I.position<r.length&&(r[I.position]!==13||r[I.position+1]!==10);){const m=a(r,I);if(!m)break;m.name==="name"?Q=m.value:m.name==="filename"&&(m.extended?(E=m.value,S=!0):S||(E=m.value))}if(Q===null)throw i("name attribute is required in content-disposition header");break}case"content-type":{let S=e(m=>m!==10&&m!==13,r,I);S=t(S,!1,!0,m=>m===9||m===32),w=C(S);break}case"content-transfer-encoding":{let S=e(m=>m!==10&&m!==13,r,I);S=t(S,!1,!0,m=>m===9||m===32),F=C(S);break}default:e(S=>S!==10&&S!==13,r,I)}if(r[I.position]!==13||r[I.position+1]!==10)throw i("expected CRLF");I.position+=2}}function e(r,I,Q){let E=Q.position;for(;E<I.length&&r(I[E]);)++E;return I.subarray(Q.position,Q.position=E)}function t(r,I,Q,E){let w=0,F=r.length-1;if(I)for(;w<r.length&&E(r[w]);)w++;for(;F>0&&E(r[F]);)F--;return w===0&&F===r.length-1?r:r.subarray(w,F+1)}function n(r,I,Q){if(r.length<I.length)return!1;for(let E=0;E<I.length;E++)if(I[E]!==r[Q.position+E])return!1;return!0}function i(r){return new TypeError("Failed to parse body as FormData.",{cause:new TypeError(r)})}function p(r){return r<=31||r===127}function y(r){return r===40||r===41||r===60||r===62||r===64||r===44||r===59||r===58||r===92||r===34||r===47||r===91||r===93||r===63||r===61}function l(r){return r<=127&&r!==32&&r!==9&&!p(r)&&!y(r)}return Kt={multipartFormDataParser:c,validateBoundary:h},Kt}var zt,io;function ot(){if(io)return zt;io=1;const A=LA(),{ReadableStreamFrom:u,readableStreamClose:d,fullyReadBody:N,extractMimeType:o}=De(),{FormData:C,setFormDataState:g,getFormDataBoundary:B}=Ss(),{webidl:f}=Ie(),D=qA,{isErrored:h,isDisturbed:c}=Ce,{isUint8Array:a}=Ds,{serializeAMimeType:s}=we(),{multipartFormDataParser:e}=Ni(),{parseJSONFromBytes:t}=be(),{utf8DecodeBytes:n}=Rs(),i=new TextEncoder;function p(){}const y=new FinalizationRegistry(S=>{const m=S.deref();m&&!m.locked&&!c(m)&&!h(m)&&m.cancel("Response object has been garbage collected").catch(p)});function l(S,m=!1){let b=null,M=null;f.is.ReadableStream(S)?b=S:f.is.Blob(S)?b=S.stream():b=new ReadableStream({pull(){},start(x){M=x},cancel(){},type:"bytes"}),D(f.is.ReadableStream(b));let Y=null,V=null,k=null,T=null;if(typeof S=="string")V=S,T="text/plain;charset=UTF-8";else if(f.is.URLSearchParams(S))V=S.toString(),T="application/x-www-form-urlencoded;charset=UTF-8";else if(f.is.BufferSource(S))V=f.util.getCopyOfBytesHeldByBufferSource(S);else if(f.is.FormData(S)){const x=B(S),z=`--${x}\r
7
- Content-Disposition: form-data`;/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */const gA=iA=>iA.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),QA=iA=>iA.replace(/\r?\n|\r/g,`\r
8
- `),tA=[],DA=new Uint8Array([13,10]);k=0;let nA=!1;for(const[iA,CA]of S)if(typeof CA=="string"){const NA=i.encode(z+`; name="${gA(QA(iA))}"\r
9
- \r
10
- ${QA(CA)}\r
11
- `);tA.push(NA),k+=NA.byteLength}else{const NA=i.encode(`${z}; name="${gA(QA(iA))}"`+(CA.name?`; filename="${gA(CA.name)}"`:"")+`\r
12
- Content-Type: ${CA.type||"application/octet-stream"}\r
13
- \r
14
- `);tA.push(NA,CA,DA),typeof CA.size=="number"?k+=NA.byteLength+CA.size+DA.byteLength:nA=!0}const eA=i.encode(`--${x}--\r
15
- `);tA.push(eA),k+=eA.byteLength,nA&&(k=null),V=S,Y=async function*(){for(const iA of tA)iA.stream?yield*iA.stream():yield iA},T=`multipart/form-data; boundary=${x}`}else if(f.is.Blob(S))V=S,k=S.size,S.type&&(T=S.type);else if(typeof S[Symbol.asyncIterator]=="function"){if(m)throw new TypeError("keepalive");if(A.isDisturbed(S)||S.locked)throw new TypeError("Response body object should not be disturbed or locked");b=f.is.ReadableStream(S)?S:u(S)}return(typeof V=="string"||a(V))&&(Y=()=>(k=typeof V=="string"?Buffer.byteLength(V):V.length,V)),Y!=null&&(async()=>{const x=Y(),z=x?.[Symbol.asyncIterator]?.();if(z)for await(const gA of z){if(h(b))break;gA.length&&M.enqueue(new Uint8Array(gA))}else x?.length&&!h(b)&&M.enqueue(typeof x=="string"?i.encode(x):new Uint8Array(x));queueMicrotask(()=>d(M))})(),[{stream:b,source:V,length:k},T]}function r(S,m=!1){return f.is.ReadableStream(S)&&(D(!A.isDisturbed(S),"The body has already been consumed."),D(!S.locked,"The stream is locked.")),l(S,m)}function I(S){const{0:m,1:b}=S.stream.tee();return S.stream=m,{stream:b,length:S.length,source:S.source}}function Q(S,m){return{blob(){return w(this,b=>{let M=U(m(this));return M===null?M="":M&&(M=s(M)),new Blob([b],{type:M})},S,m)},arrayBuffer(){return w(this,b=>new Uint8Array(b).buffer,S,m)},text(){return w(this,n,S,m)},json(){return w(this,t,S,m)},formData(){return w(this,b=>{const M=U(m(this));if(M!==null)switch(M.essence){case"multipart/form-data":{const Y=e(b,M),V=new C;return g(V,Y),V}case"application/x-www-form-urlencoded":{const Y=new URLSearchParams(b.toString()),V=new C;for(const[k,T]of Y)V.append(k,T);return V}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},S,m)},bytes(){return w(this,b=>new Uint8Array(b),S,m)},textStream(){const b=m(this);if(F(b))throw new TypeError("Body is unusable: Body has already been read");if(b.body==null){let V;const k=new ReadableStream({start:T=>{V=T},pull:()=>Promise.resolve(),cancel:()=>Promise.resolve()},{size:()=>1});return V.close(),k}const M=b.body.stream,Y=new TextDecoderStream("UTF-8");return M.pipeThrough(Y)}}}function E(S,m){Object.assign(S.prototype,Q(S,m))}function w(S,m,b,M){try{f.brandCheck(S,b)}catch(T){return Promise.reject(T)}if(S=M(S),F(S))return Promise.reject(new TypeError("Body is unusable: Body has already been read"));const Y=Promise.withResolvers(),V=Y.reject,k=T=>{try{Y.resolve(m(T))}catch(x){V(x)}};return S.body==null?(k(Buffer.allocUnsafe(0)),Y.promise):(N(S.body,k,V),Y.promise)}function F(S){const m=S.body;return m!=null&&(m.stream.locked||A.isDisturbed(m.stream))}function U(S){const m=S.headersList,b=o(m);return b==="failure"?null:b}return zt={extractBody:l,safelyExtractBody:r,cloneBody:I,mixinBody:E,streamRegistry:y,bodyUnusable:F},zt}var jt,ao;function mi(){if(ao)return jt;ao=1;const A=qA,u=LA(),{channels:d}=He(),N=On(),{RequestContentLengthMismatchError:o,ResponseContentLengthMismatchError:C,RequestAbortedError:g,HeadersTimeoutError:B,HeadersOverflowError:f,SocketError:D,InformationalError:h,BodyTimeoutError:c,HTTPParserError:a,ResponseExceededMaxSizeError:s}=MA(),{kUrl:e,kReset:t,kClient:n,kParser:i,kBlocking:p,kRunning:y,kPending:l,kSize:r,kWriting:I,kQueue:Q,kNoRef:E,kKeepAliveDefaultTimeout:w,kHostHeader:F,kPendingIdx:U,kRunningIdx:S,kError:m,kPipelining:b,kSocket:M,kKeepAliveTimeoutValue:Y,kMaxHeadersSize:V,kKeepAliveMaxTimeout:k,kKeepAliveTimeoutThreshold:T,kHeadersTimeout:x,kBodyTimeout:z,kStrictContentLength:gA,kMaxRequests:QA,kCounter:tA,kMaxResponseSize:DA,kOnError:nA,kResume:eA,kHTTPContext:iA,kClosed:CA}=jA(),NA=Si(),hA=Buffer.alloc(0),kA=Buffer[Symbol.species],xA=u.removeAllListeners,TA=Symbol("kIdleSocketValidation"),AA=Symbol("kIdleSocketValidationTimeout"),G=Symbol("kSocketUsed");let rA;function j(){const EA=process.env.JEST_WORKER_ID?Xs():void 0;let v,W=process.arch!=="ppc64";if(process.env.UNDICI_NO_WASM_SIMD==="1"?W=!1:process.env.UNDICI_NO_WASM_SIMD==="0"&&(W=!0),W)try{v=new WebAssembly.Module(wi())}catch{}return v||(v=new WebAssembly.Module(EA||Xs())),new WebAssembly.Instance(v,{env:{wasm_on_url:(aA,L,Z)=>0,wasm_on_status:(aA,L,Z)=>{A(RA.ptr===aA);const q=L-zA+GA.byteOffset;return RA.onStatus(new kA(GA.buffer,q,Z))},wasm_on_message_begin:aA=>(A(RA.ptr===aA),RA.onMessageBegin()),wasm_on_header_field:(aA,L,Z)=>{A(RA.ptr===aA);const q=L-zA+GA.byteOffset;return RA.onHeaderField(new kA(GA.buffer,q,Z))},wasm_on_header_value:(aA,L,Z)=>{A(RA.ptr===aA);const q=L-zA+GA.byteOffset;return RA.onHeaderValue(new kA(GA.buffer,q,Z))},wasm_on_headers_complete:(aA,L,Z,q)=>(A(RA.ptr===aA),RA.onHeadersComplete(L,Z===1,q===1)),wasm_on_body:(aA,L,Z)=>{A(RA.ptr===aA);const q=L-zA+GA.byteOffset;return RA.onBody(new kA(GA.buffer,q,Z))},wasm_on_message_complete:aA=>(A(RA.ptr===aA),RA.onMessageComplete())}})}let yA=null,RA=null,GA=null,KA=0,zA=null,Ae=null;const oe=0,ne=1,ee=2|ne,ge=4|ne,ce=8|oe;class le{constructor(v,W,{exports:aA}){this.llhttp=aA,this.ptr=this.llhttp.llhttp_alloc(NA.TYPE.RESPONSE),this.client=v,this.socket=W,this.timeout=null,this.timeoutWeakRef=new WeakRef(this),this.timeoutValue=null,this.timeoutType=null,this.statusCode=0,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=v[V],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength=-1,this.connectionKeepAlive=!1,this.maxResponseSize=v[DA]}setTimeout(v,W){v!==this.timeoutValue||W&ne^this.timeoutType&ne?(this.timeout&&(N.clearTimeout(this.timeout),this.timeout=null),v&&(W&ne?this.timeout=N.setFastTimeout(HA,v,this.timeoutWeakRef):(this.timeout=setTimeout(HA,v,this.timeoutWeakRef),this.timeout?.unref())),this.timeoutValue=v):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=W}resume(){this.socket.destroyed||!this.paused||(A(this.ptr!=null),A(RA===null),this.llhttp.llhttp_resume(this.ptr),A(this.timeoutType===ge),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||hA),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){const v=this.socket.read();if(v===null)break;this.execute(v)}}execute(v){A(RA===null),A(this.ptr!=null),A(!this.paused);const{socket:W,llhttp:aA}=this;v.length>KA&&(zA&&aA.free(zA),KA=Math.ceil(v.length/4096)*4096,zA=aA.malloc(KA)),(Ae===null||Ae.buffer!==aA.memory.buffer||Ae.byteOffset!==zA||Ae.byteLength!==KA)&&(Ae=new Uint8Array(aA.memory.buffer,zA,KA)),Ae.set(v);try{let L;try{GA=v,RA=this,L=aA.llhttp_execute(this.ptr,zA,v.length)}finally{RA=null,GA=null}if(L!==NA.ERROR.OK){const Z=v.subarray(aA.llhttp_get_error_pos(this.ptr)-zA);if(L===NA.ERROR.PAUSED_UPGRADE)this.onUpgrade(Z);else if(L===NA.ERROR.PAUSED)this.paused=!0,W.unshift(Z);else throw this.createError(L,Z)}}catch(L){u.destroy(W,L)}}finish(){A(RA===null),A(this.ptr!=null);const{llhttp:v}=this;if(this.paused){let aA;do v.llhttp_resume(this.ptr),this.paused=!1,aA=this.socket.read()||hA,this.execute(aA);while(this.paused&&aA.length>0);this.paused&&(v.llhttp_resume(this.ptr),this.paused=!1)}let W;try{RA=this,W=v.llhttp_finish(this.ptr)}finally{RA=null}return W===NA.ERROR.OK?null:W===NA.ERROR.PAUSED||W===NA.ERROR.PAUSED_UPGRADE?(this.paused=!0,null):this.createError(W,hA)}createError(v,W){const{llhttp:aA,contentLength:L,bytesRead:Z}=this;if(L!==-1&&Z!==L)return new C;const q=aA.llhttp_get_error_reason(this.ptr);let P="";if(q){const K=new Uint8Array(aA.memory.buffer,q).indexOf(0);P="Response does not match the HTTP/1.1 protocol ("+Buffer.from(aA.memory.buffer,q,K).toString()+")"}return new a(P,NA.ERROR[v],W)}destroy(){A(RA===null),A(this.ptr!=null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&N.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(v){return this.statusText=v.toString(),0}onMessageBegin(){const{socket:v,client:W}=this;if(v.destroyed)return-1;if(W[y]===0)return u.destroy(v,new D("bad response",u.getSocketInfo(v))),-1;const aA=W[Q][W[S]];return aA?(aA.onResponseStarted(),0):-1}onHeaderField(v){const W=this.headers.length;return(W&1)===0?this.headers.push(v):this.headers[W-1]=Buffer.concat([this.headers[W-1],v]),this.trackHeader(v.length),0}onHeaderValue(v){let W=this.headers.length;(W&1)===1?(this.headers.push(v),W+=1):this.headers[W-1]=Buffer.concat([this.headers[W-1],v]);const aA=this.headers[W-2];if(aA.length===10){const L=u.bufferToLowerCasedHeaderName(aA);L==="keep-alive"?this.keepAlive+=v.toString():L==="connection"&&(this.connectionKeepAlive=this.headers[W-1].length===10&&u.bufferToLowerCasedHeaderName(this.headers[W-1])==="keep-alive")}else if(aA.length===14&&u.bufferToLowerCasedHeaderName(aA)==="content-length"){this.contentLength===-1&&(this.contentLength=0);for(let L=0;L<v.length;L++)this.contentLength=this.contentLength*10+(v[L]-48)}return this.trackHeader(v.length),0}trackHeader(v){this.headersSize+=v,this.headersSize>=this.headersMaxSize&&u.destroy(this.socket,new f)}onUpgrade(v){const{upgrade:W,client:aA,socket:L,headers:Z,statusCode:q}=this;A(W),A(aA[M]===L),A(!L.destroyed),A(!this.paused),A((Z.length&1)===0);const P=aA[Q][aA[S]];A(P),A(P.upgrade||P.method==="CONNECT"),this.statusCode=0,this.statusText="",this.shouldKeepAlive=!1,this.headers=[],this.headersSize=0,L.unshift(v),L[i].destroy(),L[i]=null,L[n]=null,L[m]=null,xA(L),aA[M]=null,aA[iA]=null,aA[Q][aA[S]++]=null,aA.emit("disconnect",aA[e],[aA],new h("upgrade"));try{P.onRequestUpgrade(q,Z,L)}catch(K){u.destroy(L,K)}aA[eA]()}onHeadersComplete(v,W,aA){const{client:L,socket:Z,headers:q,statusText:P}=this;if(Z.destroyed)return-1;if(L[y]===0)return u.destroy(Z,new D("bad response",u.getSocketInfo(Z))),-1;const K=L[Q][L[S]];if(!K)return-1;if(A(!this.upgrade),A(this.statusCode<200),v===100)return u.destroy(Z,new D("bad response",u.getSocketInfo(Z))),-1;if(W&&!K.upgrade)return u.destroy(Z,new D("bad upgrade",u.getSocketInfo(Z))),-1;if(A(this.timeoutType===ee),this.statusCode=v,this.shouldKeepAlive=aA||K.method==="HEAD"&&!Z[t]&&this.connectionKeepAlive,this.statusCode>=200){const BA=K.bodyTimeout!=null?K.bodyTimeout:L[z];this.setTimeout(BA,ge)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(K.method==="CONNECT")return A(L[y]===1),this.upgrade=!0,2;if(W)return A(L[y]===1),this.upgrade=!0,2;if(A((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&L[b]){const BA=this.keepAlive?u.parseKeepAliveTimeout(this.keepAlive):null;if(BA!=null){const mA=Math.min(BA-L[T],L[k]);mA<=0?Z[t]=!0:L[Y]=mA}else L[Y]=L[w]}else Z[t]=!0;const X=K.onResponseStart(v,q,this.resume,P)===!1;return K.aborted?-1:K.method==="HEAD"||v<200?1:(Z[p]&&(Z[p]=!1,L[eA]()),X?NA.ERROR.PAUSED:0)}onBody(v){const{client:W,socket:aA,statusCode:L,maxResponseSize:Z}=this;if(aA.destroyed)return-1;const q=W[Q][W[S]];return A(q),A(this.timeoutType===ge),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),A(L>=200),Z>-1&&this.bytesRead+v.length>Z?(u.destroy(aA,new s),-1):(this.bytesRead+=v.length,q.onResponseData(v)===!1?NA.ERROR.PAUSED:0)}onMessageComplete(){const{client:v,socket:W,statusCode:aA,upgrade:L,headers:Z,contentLength:q,bytesRead:P,shouldKeepAlive:K}=this;if(W.destroyed&&(!aA||K))return-1;if(L)return 0;A(aA>=100),A((this.headers.length&1)===0);const X=v[Q][v[S]];if(A(X),this.statusCode=0,this.statusText="",this.bytesRead=0,this.contentLength=-1,this.keepAlive="",this.connectionKeepAlive=!1,this.headers=[],this.headersSize=0,aA<200)return 0;if(X.method!=="HEAD"&&q!==-1&&P!==q)return u.destroy(W,new C),-1;if(X.onResponseEnd(Z),v[Q][v[S]++]=null,W[G]=v[l]===0,W[I])return A(v[y]===0),u.destroy(W,new h("reset")),NA.ERROR.PAUSED;if(K){if(W[t]&&v[y]===0)return u.destroy(W,new h("reset")),NA.ERROR.PAUSED;v[b]==null||v[b]===1?setImmediate(v[eA]):v[eA]()}else return u.destroy(W,new h("reset")),NA.ERROR.PAUSED;return 0}}function HA(EA){const v=EA.deref();if(!v)return;const{socket:W,timeoutType:aA,client:L,paused:Z}=v;aA===ee?(!W[I]||W.writableNeedDrain||L[y]>1)&&(A(!Z,"cannot be paused while waiting for headers"),u.destroy(W,new B)):aA===ge?Z||u.destroy(W,new c):aA===ce&&(A(L[y]===0&&L[Y]),u.destroy(W,new h("socket idle timeout")))}function R(EA,v){if(EA[M]=v,yA||(yA=j()),v.errored)throw v.errored;if(v.destroyed)throw new D("destroyed");return v[E]=!1,v[I]=!1,v[t]=!1,v[p]=!1,v[TA]=0,v[AA]=null,v[G]=!1,v[i]=new le(EA,v,yA),u.addListener(v,"error",_),u.addListener(v,"readable",cA),u.addListener(v,"end",dA),u.addListener(v,"close",UA),v[CA]=!1,v.on("close",YA),{version:"h1",defaultPipelining:1,write(W){return uA(EA,W)},resume(){sA(EA)},destroy(W,aA){v[CA]?queueMicrotask(aA):(v.on("close",aA),v.destroy(W))},get destroyed(){return v.destroyed},busy(W){return!!(v[I]||v[t]||v[p]||v[TA]===1||W&&(EA[y]>0&&!W.idempotent||EA[y]>0&&(W.upgrade||W.method==="CONNECT")||EA[y]>0&&u.bodyLength(W.body)!==0&&(u.isStream(W.body)||u.isAsyncIterable(W.body)||u.isFormDataLike(W.body))))}}}function _(EA){A(EA.code!=="ERR_TLS_CERT_ALTNAME_INVALID");const v=this[i];if(EA.code==="ECONNRESET"&&v.statusCode&&!v.shouldKeepAlive){const W=v.finish();W&&(this[m]=W,this[n][nA](W));return}this[m]=EA,this[n][nA](EA)}function cA(){this[i]?.readMore()}function dA(){const EA=this[i];if(EA.statusCode&&!EA.shouldKeepAlive){const v=EA.finish();v&&u.destroy(this,v);return}u.destroy(this,new D("other side closed",u.getSocketInfo(this)))}function UA(){const EA=this[i];vA(this),EA&&(!this[m]&&EA.statusCode&&!EA.shouldKeepAlive&&(this[m]=EA.finish()||this[m]),this[i].destroy(),this[i]=null);const v=this[m]||new D("closed",u.getSocketInfo(this)),W=this[n];if(W[M]=null,W[iA]=null,W.destroyed){A(W[l]===0);const aA=W[Q].splice(W[S]);for(let L=0;L<aA.length;L++){const Z=aA[L];u.errorRequest(W,Z,v)}}else if(W[y]>0&&v.code!=="UND_ERR_INFO"){const aA=W[Q][W[S]];W[Q][W[S]++]=null,u.errorRequest(W,aA,v)}W[U]=W[S],A(W[y]===0),W.emit("disconnect",W[e],[W],v),W[eA]()}function YA(){this[CA]=!0}function vA(EA){EA[AA]&&(clearTimeout(EA[AA]),EA[AA]=null),EA[TA]=0}function O(EA,v){v[TA]=1,v[AA]=setTimeout(()=>{v[AA]=null,v[TA]=2,EA[M]===v&&!v.destroyed&&EA[eA]()},0),v[AA].unref?.()}function sA(EA){const v=EA[M];if(v&&!v.destroyed){if(EA[r]===0?!v[E]&&v.unref&&(v.unref(),v[E]=!0):v[E]&&v.ref&&(v.ref(),v[E]=!1),EA[y]===0&&EA[l]>0&&v[G]){if(v[TA]===0)return O(EA,v),v[i].readMore(),void 0;if(v[TA]===1)return v[i].readMore(),void 0}if(EA[y]===0&&(v[i].readMore(),v.destroyed))return;if(EA[r]===0)v[i].timeoutType!==ce&&v[i].setTimeout(EA[Y],ce);else if(EA[y]>0&&v[i].statusCode<200&&v[i].timeoutType!==ee){const W=EA[Q][EA[S]],aA=W.headersTimeout!=null?W.headersTimeout:EA[x];v[i].setTimeout(aA,ee)}}}function IA(EA){return EA!=="GET"&&EA!=="HEAD"&&EA!=="OPTIONS"&&EA!=="TRACE"&&EA!=="CONNECT"}function uA(EA,v){const{method:W,path:aA,host:L,upgrade:Z,blocking:q,reset:P}=v;let{body:K,headers:X,contentLength:BA}=v;const mA=W==="PUT"||W==="POST"||W==="PATCH"||W==="QUERY"||W==="PROPFIND"||W==="PROPPATCH";if(u.isFormDataLike(K)){rA||(rA=ot().extractBody);const[wA,_A]=rA(K);v.contentType==null&&X.push("content-type",_A),K=wA.stream,BA=wA.length}else u.isBlobLike(K)&&v.contentType==null&&K.type&&X.push("content-type",K.type);K&&typeof K.read=="function"&&K.read(0);const VA=u.bodyLength(K);if(BA=VA??BA,BA===null&&(BA=v.contentLength),BA===0&&!mA&&(BA=null),IA(W)&&BA>0&&v.contentLength!==null&&v.contentLength!==BA){if(EA[gA])return u.errorRequest(EA,v,new o),!1;process.emitWarning(new o)}const pA=EA[M];vA(pA);const SA=wA=>{v.aborted||v.completed||(u.errorRequest(EA,v,wA||new g),u.destroy(K),u.destroy(pA,new h("aborted")))};try{v.onRequestStart(SA,null)}catch(wA){u.errorRequest(EA,v,wA)}if(v.aborted)return!1;W==="HEAD"&&(pA[t]=!0),(Z||W==="CONNECT")&&(pA[t]=!0),P!=null&&(pA[t]=P),EA[QA]&&++pA[tA]>=EA[QA]&&(pA[t]=!0),q&&(pA[p]=!0),pA.setTypeOfService&&pA.setTypeOfService(v.typeOfService);let WA=`${W} ${aA} HTTP/1.1\r
16
- `;if(typeof L=="string"?WA+=`host: ${L}\r
17
- `:WA+=EA[F],Z?WA+=`connection: upgrade\r
18
- upgrade: ${Z}\r
19
- `:EA[b]&&!pA[t]?WA+=`connection: keep-alive\r
20
- `:WA+=`connection: close\r
21
- `,Array.isArray(X))for(let wA=0;wA<X.length;wA+=2){const _A=X[wA+0],ie=X[wA+1];if(Array.isArray(ie))for(let ZA=0;ZA<ie.length;ZA++)WA+=`${_A}: ${ie[ZA]}\r
22
- `;else WA+=`${_A}: ${ie}\r
23
- `}return d.sendHeaders.hasSubscribers&&d.sendHeaders.publish({request:v,headers:WA,socket:pA}),!K||VA===0?FA(SA,null,EA,v,pA,BA,WA,mA):u.isBuffer(K)?FA(SA,K,EA,v,pA,BA,WA,mA):u.isBlobLike(K)?typeof K.stream=="function"?se(SA,K.stream(),EA,v,pA,BA,WA,mA):PA(SA,K,EA,v,pA,BA,WA,mA):u.isStream(K)?bA(SA,K,EA,v,pA,BA,WA,mA):u.isIterable(K)?se(SA,K,EA,v,pA,BA,WA,mA):A(!1),!0}function bA(EA,v,W,aA,L,Z,q,P){A(Z!==0||W[y]===0,"stream body cannot be pipelined");let K=!1;const X=new XA({abort:EA,socket:L,request:aA,contentLength:Z,client:W,expectsPayload:P,header:q}),BA=function(SA){if(!K)try{!X.write(SA)&&this.pause&&this.pause()}catch(WA){u.destroy(this,WA)}},mA=function(){K||v.resume&&v.resume()},VA=function(){if(queueMicrotask(()=>{v.removeListener("error",pA)}),!K){const SA=new g;queueMicrotask(()=>pA(SA))}},pA=function(SA){if(!K){if(K=!0,A(L.destroyed||L[I]&&W[y]<=1),L.off("drain",mA).off("error",pA),v.removeListener("data",BA).removeListener("end",pA).removeListener("close",VA),!SA)try{X.end()}catch(WA){SA=WA}X.destroy(SA),SA&&(SA.code!=="UND_ERR_INFO"||SA.message!=="reset")?u.destroy(v,SA):u.destroy(v)}};v.on("data",BA).on("end",pA).on("error",pA).on("close",VA),v.resume&&v.resume(),L.on("drain",mA).on("error",pA),v.errorEmitted??v.errored?setImmediate(pA,v.errored):(v.endEmitted??v.readableEnded)&&setImmediate(pA,null),(v.closeEmitted??v.closed)&&setImmediate(VA)}function FA(EA,v,W,aA,L,Z,q,P){try{v?u.isBuffer(v)&&(A(Z===v.byteLength,"buffer body must have content length"),L.cork(),L.write(`${q}content-length: ${Z}\r
24
- \r
25
- `,"latin1"),L.write(v),L.uncork(),aA.onBodySent(v),!P&&aA.reset!==!1&&(L[t]=!0)):Z===0?L.write(`${q}content-length: 0\r
26
- \r
27
- `,"latin1"):(A(Z===null,"no body must not have content length"),L.write(`${q}\r
28
- `,"latin1")),aA.onRequestSent(),W[eA]()}catch(K){EA(K)}}async function PA(EA,v,W,aA,L,Z,q,P){try{if(Z!=null&&Z!==v.size)throw new o;const K=Buffer.from(await v.arrayBuffer());L.cork(),L.write(`${q}content-length: ${Z}\r
29
- \r
30
- `,"latin1"),L.write(K),L.uncork(),aA.onBodySent(K),aA.onRequestSent(),!P&&aA.reset!==!1&&(L[t]=!0),W[eA]()}catch(K){EA(K)}}async function se(EA,v,W,aA,L,Z,q,P){A(Z!==0||W[y]===0,"iterator body cannot be pipelined");let K=null;function X(){if(K){const VA=K;K=null,VA()}}const BA=()=>new Promise((VA,pA)=>{A(K===null),L[m]?pA(L[m]):K=VA});L.on("close",X).on("drain",X);const mA=new XA({abort:EA,socket:L,request:aA,contentLength:Z,client:W,expectsPayload:P,header:q});try{for await(const VA of v){if(L[m])throw L[m];mA.write(VA)||await BA()}mA.end()}catch(VA){mA.destroy(VA)}finally{L.off("close",X).off("drain",X)}}class XA{constructor({abort:v,socket:W,request:aA,contentLength:L,client:Z,expectsPayload:q,header:P}){this.socket=W,this.request=aA,this.contentLength=L,this.client=Z,this.bytesWritten=0,this.expectsPayload=q,this.header=P,this.abort=v,W[I]=!0}write(v){const{socket:W,request:aA,contentLength:L,client:Z,bytesWritten:q,expectsPayload:P,header:K}=this;if(W[m])throw W[m];if(W.destroyed)return!1;const X=v instanceof Uint8Array?v.byteLength:Buffer.byteLength(v);if(!X)return!0;if(L!==null&&q+X>L){if(Z[gA])throw new o;process.emitWarning(new o)}W.cork(),q===0&&(!P&&aA.reset!==!1&&(W[t]=!0),L===null?W.write(`${K}transfer-encoding: chunked\r
31
- `,"latin1"):W.write(`${K}content-length: ${L}\r
32
- \r
33
- `,"latin1")),L===null&&W.write(`\r
34
- ${X.toString(16)}\r
35
- `,"latin1"),this.bytesWritten+=X;const BA=W.write(v);return W.uncork(),aA.onBodySent(v),BA||W[i].timeout&&W[i].timeoutType===ee&&W[i].timeout.refresh&&W[i].timeout.refresh(),BA}end(){const{socket:v,contentLength:W,client:aA,bytesWritten:L,expectsPayload:Z,header:q,request:P}=this;if(P.onRequestSent(),v[I]=!1,v[m])throw v[m];if(!v.destroyed){if(L===0?Z?v.write(`${q}content-length: 0\r
36
- \r
37
- `,"latin1"):v.write(`${q}\r
38
- `,"latin1"):W===null&&v.write(`\r
39
- 0\r
40
- \r
41
- `,"latin1"),W!==null&&L!==W){if(aA[gA])throw new o;process.emitWarning(new o)}v[i].timeout&&v[i].timeoutType===ee&&v[i].timeout.refresh&&v[i].timeout.refresh(),aA[eA]()}}destroy(v){const{socket:W,client:aA,abort:L}=this;W[I]=!1,v&&(A(aA[y]<=1,"pipeline should only contain this request"),L(v))}}return jt=R,jt}var $t,go;function Fi(){if(go)return $t;go=1;const A=qA,{pipeline:u}=Ce,d=LA(),{RequestContentLengthMismatchError:N,RequestAbortedError:o,SocketError:C,InformationalError:g,InvalidArgumentError:B,HeadersTimeoutError:f,BodyTimeoutError:D}=MA(),{kUrl:h,kReset:c,kClient:a,kRunning:s,kPending:e,kQueue:t,kPendingIdx:n,kRunningIdx:i,kError:p,kSocket:y,kStrictContentLength:l,kOnError:r,kMaxConcurrentStreams:I,kPingInterval:Q,kHTTP2Session:E,kHTTP2InitialWindowSize:w,kHTTP2ConnectionWindowSize:F,kHostAuthority:U,kResume:S,kSize:m,kHTTPContext:b,kClosed:M,kKeepAliveDefaultTimeout:Y,kHeadersTimeout:V,kBodyTimeout:k,kEnableConnectProtocol:T,kRemoteSettings:x,kHTTP2Stream:z,kHTTP2SessionState:gA}=jA(),{channels:QA}=He(),tA=Symbol("open streams"),DA=Symbol("request stream id"),nA=Symbol("request stream"),eA=Symbol("request stream cleanup"),iA=Symbol("request stream state"),CA=Symbol("received goaway");let NA,hA;try{hA=require("node:http2")}catch{hA={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:kA,HTTP2_HEADER_METHOD:xA,HTTP2_HEADER_PATH:TA,HTTP2_HEADER_SCHEME:AA,HTTP2_HEADER_CONTENT_LENGTH:G,HTTP2_HEADER_EXPECT:rA,HTTP2_HEADER_STATUS:j,HTTP2_HEADER_PROTOCOL:yA,NGHTTP2_NO_ERROR:RA,NGHTTP2_REFUSED_STREAM:GA}}=hA;function KA(H,J){return H[p]||(J===RA?new g(`HTTP/2: "GOAWAY" frame received with code ${J}`):new C(`HTTP/2: "GOAWAY" frame received with code ${J}`,d.getSocketInfo(H[y])))}function zA(H,J){const $=H[a],lA=H[y];if($[E]===H&&($[y]=null,$[b]=null,$[E]=null),lA!=null&&lA[p]==null&&(lA[p]=J),!H.closed&&!H.destroyed)try{H.destroy(J)}catch{}d.destroy(lA,J)}function Ae(H,J){const $=Number.isInteger(J)?J:Number.MAX_SAFE_INTEGER;for(let lA=H[i];lA<H[n];lA++){const oA=H[t][lA];if(oA!=null&&(typeof oA[DA]!="number"||oA[DA]>$))return lA}return H[n]}function oe(H){H[DA]=null,H[nA]=null,H[eA]=null}function ne(H,J,$){const lA=H[eA],oA=H[nA];oe(H),lA?.(oA),H[DA]=J.id,H[nA]=J,H[eA]=$}function ee(H){const J=H[eA],$=H[nA];oe(H),J?.($)}function ge(H,J){H[t].splice(H[n]+1,0,J)}function ce(H,J,$=!1){const lA=H[t].indexOf(J,H[i]);lA===-1||lA>=H[n]||(H[t].splice(lA,1),H[n]--,$&&H[n]<H[i]&&(H[n]=H[i]))}function le(H){const{body:J}=H;return J==null||d.isBuffer(J)||d.isBlobLike(J)}function HA(H,J=GA){if(H!=null&&!H.destroyed&&!H.closed)try{H.close(J)}catch{}}function R(H){const J=H[nA];return ee(H),J}function _(H,J){H[y]=J;const $=H[w],lA=H[F],oA=hA.connect(H[h],{createConnection:()=>J,peerMaxConcurrentStreams:H[I],settings:{enablePush:!1,...$!=null?{initialWindowSize:$}:null}});return H[y]=J,oA[tA]=0,oA[a]=H,oA[y]=J,oA[gA]={idleTimeout:null,ping:{interval:H[Q]===0?null:setInterval(sA,H[Q],oA).unref()}},oA[CA]=!1,oA[T]=!1,oA[x]=!1,lA&&d.addListener(oA,"connect",vA.bind(oA,lA)),d.addListener(oA,"error",IA),d.addListener(oA,"frameError",uA),d.addListener(oA,"end",bA),d.addListener(oA,"goaway",FA),d.addListener(oA,"close",PA),d.addListener(oA,"remoteSettings",O),oA.unref(),H[E]=oA,J[E]=oA,d.addListener(J,"error",XA),d.addListener(J,"end",EA),d.addListener(J,"close",se),J[M]=!1,J.on("close",v),{version:"h2",defaultPipelining:1/0,write(fA){return wA(H,fA)},resume(){cA(H)},destroy(fA,OA){J[M]?queueMicrotask(OA):J.destroy(fA).on("close",OA)},get destroyed(){return J.destroyed},busy(fA){if(oA[x]===!1&&H[s]>0||H[s]>=H[I])return!0;if(fA!=null)if(H[s]>0){if((fA.upgrade==="websocket"||fA.method==="CONNECT")&&oA[x]===!1||d.bodyLength(fA.body)!==0&&(d.isStream(fA.body)||d.isAsyncIterable(fA.body)||d.isFormDataLike(fA.body)))return!0}else return(fA.upgrade==="websocket"||fA.method==="CONNECT")&&oA[x]===!1;return!1}}}function cA(H){const J=H[y],$=H[E];J?.destroyed===!1&&(H[m]===0||H[I]===0?(J.unref(),$.unref()):(J.ref(),$.ref()),H[m]===0&&$[tA]===0?UA($):dA($))}function dA(H){const J=H[gA];J?.idleTimeout!=null&&(clearTimeout(J.idleTimeout),J.idleTimeout=null)}function UA(H){const J=H[a];if(J[E]!==H||H.closed||H.destroyed)return;if(H[tA]!==0||J[m]!==0){dA(H);return}const $=H[gA];$.idleTimeout==null&&($.idleTimeout=setTimeout(YA,J[Y],H).unref())}function YA(H){const J=H[a],$=H[y],lA=H[gA];if(lA.idleTimeout=null,J[E]!==H||H[tA]!==0||J[m]!==0||H.closed||H.destroyed)return;const oA=new g("socket idle timeout");$[p]=oA,d.destroy($,oA)}function vA(H){try{typeof this.setLocalWindowSize=="function"&&this.setLocalWindowSize(H)}catch{}}function O(H){if(this[a][I]=H.maxConcurrentStreams??this[a][I],this[x]===!0&&this[T]===!0&&H.enableConnectProtocol===!1){const J=new g("HTTP/2: Server disabled extended CONNECT protocol against RFC-8441");this[y][p]=J,this[a][r](J);return}this[T]=H.enableConnectProtocol??this[T],this[x]=!0,this[a][S]()}function sA(H){const J=H[gA];if((H.closed||H.destroyed)&&J.ping.interval!=null){clearInterval(J.ping.interval),J.ping.interval=null;return}H.ping($.bind(H));function $(lA,oA){const fA=this[a],OA=this[y];if(lA!=null){const $A=new g(`HTTP/2: "PING" errored - type ${lA.message}`);OA[p]=$A,fA[r]($A)}else fA.emit("ping",oA)}}function IA(H){A(H.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[y][p]=H,!this[CA]&&this[a][r](H)}function uA(H,J,$){if($===0){if(this[CA])return;const lA=new g(`HTTP/2: "frameError" received - type ${H}, code ${J}`);this[y][p]=lA,this[a][r](lA)}}function bA(){const H=new C("other side closed",d.getSocketInfo(this[y]));this.destroy(H),d.destroy(this[y],H)}function FA(H,J){if(this[CA])return;this[CA]=!0;const $=KA(this,H),lA=this[a],oA=lA[n],fA=Ae(lA,J),OA=[],$A=[];for(let JA=fA;JA<oA;JA++){const he=lA[t][JA];he!=null&&($A.push(R(he)),le(he)?OA.push(he):d.errorRequest(lA,he,$))}for(let JA=0;JA<$A.length;JA++)HA($A[JA]);if(fA!==oA){const JA=lA[t].slice(oA);lA[t].length=fA,lA[t].push(...OA,...JA)}lA[E]===this&&(lA[y]=null,lA[b]=null,lA[E]=null),dA(this),!this.closed&&!this.destroyed&&this.close(),lA[n]=fA,lA.emit("disconnect",lA[h],[lA],$),lA[S]()}function PA(){const{[a]:H,[gA]:J,[y]:$}=this,lA=$[p]||this[p]||new C("closed",d.getSocketInfo($));if(H[E]===this&&(H[y]=null,H[b]=null,H[E]=null),dA(this),J.ping.interval!=null&&(clearInterval(J.ping.interval),J.ping.interval=null),H.destroyed){A(H[e]===0);const oA=H[t].splice(H[i]);for(let fA=0;fA<oA.length;fA++){const OA=oA[fA];OA!=null&&d.errorRequest(H,OA,lA)}}}function se(){const H=this[p]||new C("closed",d.getSocketInfo(this)),J=this[E],$=J[a];$[y]!==this&&(J[CA]||$[E]!=null&&$[E]!==J)||($[y]=null,$[b]=null,$[E]===J&&($[E]=null),J.destroy(H),$[n]=$[i],A($[s]===0),$.emit("disconnect",$[h],[$],H),$[S]())}function XA(H){A(H.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[p]=H,!this[E]?.[CA]&&this[a][r](H)}function EA(){d.destroy(this,new C("other side closed",d.getSocketInfo(this)))}function v(){this[M]=!0}function W(){}function aA(H){const J=H[E];H[E]=null,J[tA]-=1,J[tA]===0&&(J.unref(),UA(J))}function L(){this.off("error",W);const H=this[iA];this[iA]=null,BA(H,new g("HTTP/2: stream closed before response headers")),aA(this)}function Z(){const H=this[iA];H&&(ie(this),H.pendingEnd&&!H.request.aborted&&!H.request.completed&&(H.request.onResponseEnd(H.trailers||{}),H.finalizeRequest())),this.off("data",ZA),this.off("error",W),aA(this),this[iA]=null}function q(H){return H!=="GET"&&H!=="HEAD"&&H!=="OPTIONS"&&H!=="TRACE"&&H!=="CONNECT"}function P(H){const J={};for(let $=0;$<H.length;$+=2){const lA=H[$+0],oA=H[$+1],fA=J[lA];if(lA==="cookie"){fA!=null?J[lA]=Array.isArray(fA)?(fA.push(oA),fA):[fA,oA]:J[lA]=oA;continue}if(typeof oA=="string"){J[lA]=fA?`${fA}, ${oA}`:oA;continue}for(let OA=0;OA<oA.length;OA++)J[lA]=J[lA]?`${J[lA]}, ${oA[OA]}`:oA[OA]}return J}function K(H){H.off("response",SA),H.off("error",mA),H.off("end",VA),H.off("timeout",pA),H.off("error",W)}function X(H){if(H==null)return;const J=H[iA];if(J==null)return;const{request:$}=J;$[nA]===H&&oe($),K(H),!H.destroyed&&!H.closed&&H.once("error",W)}function BA(H,J){if(H==null)return;const{request:$}=H;H.responseReceived||$.aborted||$.completed||(X(H.stream),H.abort(J,!0))}function mA(){const H=this[iA];typeof this.rstCode=="number"&&this.rstCode!==0?BA(H,new g(`HTTP/2: "stream error" received - code ${this.rstCode}`)):BA(H,new g("HTTP/2: stream errored before response headers"))}function VA(){BA(this[iA],new g("HTTP/2: stream half-closed (remote)"))}function pA(){const H=this[iA];BA(H,new g(`HTTP/2: "stream timeout after ${H.headersTimeout}"`))}function SA(H,J){const $=this,lA=$[iA],{request:oA}=lA;lA.responseReceived=!0;const fA=H[j];delete H[j],oA.onRequestUpgrade(fA,H,$),!(oA.aborted||oA.completed)&&(K($),oe(oA),lA.finalizeRequest())}function WA(H,J){const{request:$,headersTimeout:lA,session:oA}=J;H[z]=!0,H[E]=oA,H[iA]=J,J.stream=H,ne($,H,X),H.once("response",SA),H.on("error",mA),H.once("end",VA),H.on("timeout",pA),H.once("close",L),dA(oA),++oA[tA],H.setTimeout(lA)}function wA(H,J){const $=J.headersTimeout??H[V],lA=J.bodyTimeout??H[k],oA=H[E],{method:fA,path:OA,host:$A,upgrade:JA,expectContinue:he,signal:pe,protocol:ue,headers:ze}=J;let{body:Re}=J;if(JA!=null&&JA!=="websocket")return d.errorRequest(H,J,new B(`Custom upgrade "${JA}" not supported over HTTP/2`)),!1;const Qe=P(ze);let te=null;Qe[kA]=$A||H[U],Qe[xA]=fA;let ks=!1;const pt=(Ee=!1)=>{ks||(ks=!0,ce(H,J,Ee),H[S]())},ct=(Ee,Ue=!1)=>{J.aborted||J.completed||(Ee=Ee||new o,d.errorRequest(H,J,Ee),te!=null&&(ee(J),te.close(),H[r](Ee),pt(Ue)),d.destroy(Re,Ee))},Rt=(Ee,Ue)=>{try{return oA.request(Ee,Ue)}catch(je){if(je?.code==="ERR_HTTP2_INVALID_SESSION"){const St=new C(je.message,d.getSocketInfo(oA[y]));return St.cause=je,oA[p]=St,zA(oA,St),ge(H,J),null}const $e=new g(je.message,{cause:je});return oA[p]=$e,oA[y][p]=$e,oA.destroy($e),d.destroy(oA[y],$e),ct($e),null}};try{J.onRequestStart(ct,null)}catch(Ee){d.errorRequest(H,J,Ee)}if(J.aborted)return!1;if(JA||fA==="CONNECT"){oA.ref();const Ee={abort:ct,finalizeRequest:pt,request:J,headersTimeout:$,bodyTimeout:lA,responseReceived:!1,session:oA,stream:null};return JA==="websocket"?oA[T]===!1?(d.errorRequest(H,J,new g("HTTP/2: Extended CONNECT protocol not supported by server")),oA.unref(),!1):(Qe[xA]="CONNECT",Qe[yA]="websocket",Qe[TA]=OA,ue==="ws:"||ue==="wss:"?Qe[AA]=ue==="ws:"?"http":"https":Qe[AA]=ue==="http:"?"http":"https",te=Rt(Qe,{endStream:!1,signal:pe}),te==null?(oA.unref(),!1):(WA(te,Ee),!0)):(te=Rt(Qe,{endStream:!1,signal:pe}),te==null?(oA.unref(),!1):(WA(te,Ee),!0))}Qe[TA]=OA,Qe[AA]=ue==="http:"?"http":"https";const bs=fA==="PUT"||fA==="POST"||fA==="PATCH"||fA==="QUERY"||fA==="PROPFIND"||fA==="PROPPATCH";Re&&typeof Re.read=="function"&&Re.read(0);let ye=d.bodyLength(Re);if(d.isFormDataLike(Re)){NA??=ot().extractBody;const[Ee,Ue]=NA(Re);Qe["content-type"]=Ue,Re=Ee.stream,ye=Ee.length}if(ye==null&&(ye=J.contentLength),ye===0&&!bs&&(ye=null),q(fA)&&ye>0&&J.contentLength!=null&&J.contentLength!==ye){if(H[l])return d.errorRequest(H,J,new N),!1;process.emitWarning(new N)}if(ye!=null&&(A(Re||ye===0,"no body must not have content length"),Qe[G]=`${ye}`),oA.ref(),QA.sendHeaders.hasSubscribers){let Ee="";for(const Ue in Qe)Ee+=`${Ue}: ${Qe[Ue]}\r
42
- `;QA.sendHeaders.publish({request:J,headers:Ee,socket:oA[y]})}const ii=Re===null||ye===0,Ms={abort:ct,body:Re,client:H,contentLength:ye,expectsPayload:bs,finalizeRequest:pt,request:J,headersTimeout:$,bodyTimeout:lA,responseReceived:!1,bodySent:!1,session:oA,stream:null};return he&&(Qe[rA]="100-continue"),te=Rt(Qe,{endStream:ii,signal:pe}),te==null?!1:(te[z]=!0,te[iA]=Ms,Ms.stream=te,dA(oA),++oA[tA],te.setTimeout($),te[E]=oA,te.once("close",Z),ne(J,te,ie),he&&te.once("continue",re),te.once("response",fe),te.once("end",Fe),te.once("error",Me),te.once("frameError",Te),te.on("aborted",Ge),te.on("timeout",Ve),te.once("trailers",Be),he||re.call(te),!0)}function _A(H){H.off("error",W),H.off("continue",re),H.off("response",fe),H.off("end",Fe),H.off("error",Me),H.off("frameError",Te),H.off("aborted",Ge),H.off("timeout",Ve),H.off("trailers",Be),H.off("data",ZA)}function ie(H){if(H==null)return;const J=H[iA];if(J==null)return;const{request:$}=J;$[nA]===H&&oe($),_A(H),!H.destroyed&&!H.closed&&H.once("error",W)}function ZA(H){const J=this,{request:$}=J[iA];$.aborted||$.completed||$.onResponseData(H)===!1&&J.pause()}function fe(H){const J=this,$=J[iA],{request:lA}=$;J.off("response",fe),$.body!=null&&!$.bodySent&&!J.writableEnded&&(J.removeListener("continue",re),J.end());const oA=H[j];if(delete H[j],lA.onResponseStarted(),$.responseReceived=!0,J.setTimeout($.bodyTimeout),lA.aborted){ie(J);return}lA.onResponseStart(Number(oA),H,J.resume.bind(J),"")===!1&&J.pause(),J.on("data",ZA)}function Fe(){const H=this,J=H[iA],{request:$}=J;H.off("end",Fe),J.responseReceived?!$.aborted&&!$.completed&&(J.pendingEnd=!0):J.abort(new g("HTTP/2: stream half-closed (remote)"),!0)}function Me(H){const J=this,$=J[iA];J.off("error",Me),$.abort(H)}function Te(H,J){const $=this,lA=$[iA];$.off("frameError",Te),lA.abort(new g(`HTTP/2: "frameError" received - type ${H}, code ${J}`))}function Ge(){this.off("data",ZA)}function Ve(){const H=this,J=H[iA];H.off("timeout",Ve);const $=J.responseReceived?new D(`HTTP/2: "stream timeout after ${J.bodyTimeout}"`):new f(`HTTP/2: "headers timeout after ${J.headersTimeout}"`);J.abort($)}function Be(H){const J=this,$=J[iA],{request:lA}=$;J.off("trailers",Be),J.off("data",ZA),!(lA.aborted||lA.completed)&&($.trailers=H)}function re(){const H=this,J=H[iA];J.bodySent=!0;const{abort:$,body:lA,client:oA,contentLength:fA,expectsPayload:OA,request:$A}=J;!lA||fA===0?de($,H,null,oA,$A,oA[y],fA,OA):d.isBuffer(lA)?de($,H,lA,oA,$A,oA[y],fA,OA):d.isBlobLike(lA)?typeof lA.stream=="function"?Ne($,H,lA.stream(),oA,$A,oA[y],fA,OA):Ke($,H,lA,oA,$A,oA[y],fA,OA):d.isStream(lA)?me($,oA[y],OA,H,lA,oA,$A,fA):d.isIterable(lA)?Ne($,H,lA,oA,$A,oA[y],fA,OA):A(!1)}function de(H,J,$,lA,oA,fA,OA,$A){try{$!=null&&d.isBuffer($)&&(A(OA===$.byteLength,"buffer body must have content length"),J.cork(),J.write($),J.uncork(),J.end(),oA.onBodySent($)),$A||(fA[c]=!0),oA.onRequestSent(),lA[S]()}catch(JA){H(JA)}}function me(H,J,$,lA,oA,fA,OA,$A){A($A!==0||fA[s]===0,"stream body cannot be pipelined");const JA=u(oA,lA,pe=>{pe?(d.destroy(JA,pe),H(pe)):(d.removeAllListeners(JA),OA.onRequestSent(),$||(J[c]=!0),fA[S]())});d.addListener(JA,"data",he);function he(pe){OA.onBodySent(pe)}}async function Ke(H,J,$,lA,oA,fA,OA,$A){try{if(OA!=null&&OA!==$.size)throw new N;const JA=Buffer.from(await $.arrayBuffer());J.cork(),J.write(JA),J.uncork(),J.end(),oA.onBodySent(JA),oA.onRequestSent(),$A||(fA[c]=!0),lA[S]()}catch(JA){H(JA)}}async function Ne(H,J,$,lA,oA,fA,OA,$A){A(OA!==0||lA[s]===0,"iterator body cannot be pipelined");let JA=null;function he(){if(JA){const ue=JA;JA=null,ue()}}const pe=()=>new Promise((ue,ze)=>{A(JA===null),fA[p]?ze(fA[p]):JA=ue});J.on("close",he).on("drain",he);try{for await(const ue of $){if(fA[p])throw fA[p];const ze=J.write(ue);oA.onBodySent(ue),ze||await pe()}J.end(),oA.onRequestSent(),$A||(fA[c]=!0),lA[S]()}catch(ue){H(ue)}finally{J.off("close",he).off("drain",he)}}return $t=_,$t}var Ar,co;function Ye(){if(co)return Ar;co=1;const A=qA,u=et,d=Bt,N=LA(),{ClientStats:o}=Jn(),{channels:C}=He(),g=pi(),B=xe(),{InvalidArgumentError:f,InformationalError:D,ClientDestroyedError:h}=MA(),c=We(),{kUrl:a,kServerName:s,kClient:e,kBusy:t,kConnect:n,kResuming:i,kRunning:p,kPending:y,kSize:l,kQueue:r,kConnected:I,kConnecting:Q,kNeedDrain:E,kKeepAliveDefaultTimeout:w,kHostHeader:F,kPendingIdx:U,kRunningIdx:S,kError:m,kPipelining:b,kKeepAliveTimeoutValue:M,kMaxHeadersSize:Y,kKeepAliveMaxTimeout:V,kKeepAliveTimeoutThreshold:k,kHeadersTimeout:T,kBodyTimeout:x,kStrictContentLength:z,kConnector:gA,kMaxRequests:QA,kCounter:tA,kClose:DA,kDestroy:nA,kDispatch:eA,kLocalAddress:iA,kMaxResponseSize:CA,kOnError:NA,kHTTPContext:hA,kMaxConcurrentStreams:kA,kHostAuthority:xA,kHTTP2InitialWindowSize:TA,kHTTP2ConnectionWindowSize:AA,kResume:G,kPingInterval:rA}=jA(),j=mi(),yA=Fi(),RA=Symbol("kClosedResolve"),GA=d&&d.maxHeaderSize&&Number.isInteger(d.maxHeaderSize)&&d.maxHeaderSize>0?()=>d.maxHeaderSize:()=>{throw new f("http module not available or http.maxHeaderSize invalid")},KA=()=>{};function zA(R){return R[b]??R[hA]?.defaultPipelining??1}function Ae(R){return R[hA]?.version==="h2"?R[kA]:zA(R)}class oe extends B{constructor(_,{maxHeaderSize:cA,headersTimeout:dA,socketTimeout:UA,requestTimeout:YA,connectTimeout:vA,bodyTimeout:O,idleTimeout:sA,keepAlive:IA,keepAliveTimeout:uA,maxKeepAliveTimeout:bA,keepAliveMaxTimeout:FA,keepAliveTimeoutThreshold:PA,socketPath:se,pipelining:XA,tls:EA,strictContentLength:v,maxCachedSessions:W,connect:aA,maxRequestsPerClient:L,localAddress:Z,maxResponseSize:q,autoSelectFamily:P,autoSelectFamilyAttemptTimeout:K,maxConcurrentStreams:X,allowH2:BA,useH2c:mA,initialWindowSize:VA,connectionWindowSize:pA,pingInterval:SA,webSocket:WA}={}){if(IA!==void 0)throw new f("unsupported keepAlive, use pipelining=0 instead");if(UA!==void 0)throw new f("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(YA!==void 0)throw new f("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(sA!==void 0)throw new f("unsupported idleTimeout, use keepAliveTimeout instead");if(bA!==void 0)throw new f("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(cA!=null){if(!Number.isInteger(cA)||cA<1)throw new f("invalid maxHeaderSize")}else cA=GA();if(se!=null&&typeof se!="string")throw new f("invalid socketPath");if(vA!=null&&(!Number.isFinite(vA)||vA<0))throw new f("invalid connectTimeout");if(uA!=null&&(!Number.isFinite(uA)||uA<=0))throw new f("invalid keepAliveTimeout");if(FA!=null&&(!Number.isFinite(FA)||FA<=0))throw new f("invalid keepAliveMaxTimeout");if(PA!=null&&!Number.isFinite(PA))throw new f("invalid keepAliveTimeoutThreshold");if(dA!=null&&(!Number.isInteger(dA)||dA<0))throw new f("headersTimeout must be a positive integer or zero");if(O!=null&&(!Number.isInteger(O)||O<0))throw new f("bodyTimeout must be a positive integer or zero");if(aA!=null&&typeof aA!="function"&&typeof aA!="object")throw new f("connect must be a function or an object");if(L!=null&&(!Number.isInteger(L)||L<0))throw new f("maxRequestsPerClient must be a positive number");if(Z!=null&&(typeof Z!="string"||u.isIP(Z)===0))throw new f("localAddress must be valid string IP address");if(q!=null&&(!Number.isInteger(q)||q<-1))throw new f("maxResponseSize must be a positive number");if(K!=null&&(!Number.isInteger(K)||K<-1))throw new f("autoSelectFamilyAttemptTimeout must be a positive number");if(BA!=null&&typeof BA!="boolean")throw new f("allowH2 must be a valid boolean value");if(X!=null&&(typeof X!="number"||X<1))throw new f("maxConcurrentStreams must be a positive integer, greater than 0");if(mA!=null&&typeof mA!="boolean")throw new f("useH2c must be a valid boolean value");if(VA!=null&&(!Number.isInteger(VA)||VA<1))throw new f("initialWindowSize must be a positive integer, greater than 0");if(pA!=null&&(!Number.isInteger(pA)||pA<1))throw new f("connectionWindowSize must be a positive integer, greater than 0");if(SA!=null&&(typeof SA!="number"||!Number.isInteger(SA)||SA<0))throw new f("pingInterval must be a positive integer, greater or equal to 0");if(super({webSocket:WA}),typeof aA!="function")aA=c({...EA,maxCachedSessions:W,allowH2:BA,useH2c:mA,socketPath:se,timeout:vA,...typeof P=="boolean"?{autoSelectFamily:P,autoSelectFamilyAttemptTimeout:K}:void 0,...aA});else{const wA=aA;aA=(_A,ie)=>wA({..._A,...se!=null?{socketPath:se}:null,...BA!=null?{allowH2:BA}:null},ie)}this[a]=N.parseOrigin(_),this[xA]=`${this[a].hostname}${this[a].port?`:${this[a].port}`:""}`,this[gA]=aA,this[b]=XA??1,this[Y]=cA,this[w]=uA??4e3,this[V]=FA??6e5,this[k]=PA??2e3,this[M]=this[w],this[s]=null,this[iA]=Z??null,this[i]=0,this[E]=0,this[F]=`host: ${this[xA]}\r
43
- `,this[x]=O??3e5,this[T]=dA??3e5,this[z]=v??!0,this[QA]=L,this[RA]=null,this[CA]=q>-1?q:-1,this[hA]=null,this[kA]=X??100,this[TA]=VA??262144,this[AA]=pA??524288,this[rA]=SA??6e4,this[r]=[],this[S]=0,this[U]=0,this[G]=wA=>le(this,wA),this[NA]=wA=>ne(this,wA)}get pipelining(){return this[b]}set pipelining(_){this[b]=_,this[G](!0)}get stats(){return new o(this)}get[y](){return this[r].length-this[U]}get[p](){return this[U]-this[S]}get[l](){return this[r].length-this[S]}get[I](){return!!this[hA]&&!this[Q]&&!this[hA].destroyed}get[t](){const _=this[hA]?.version==="h2";return!!(this[hA]?.busy(null)||this[l]>=(Ae(this)||1)||this[y]>0&&!_)}[n](_){ee(this),this.once("connect",_)}[eA](_,cA){const dA=new g(this[a].origin,_,cA);return this[r].push(dA),this[i]||(N.bodyLength(dA.body)==null&&N.isIterable(dA.body)?(this[i]=1,queueMicrotask(()=>le(this))):this[G](!0)),this[i]&&this[E]!==2&&this[t]&&(this[E]=2),this[E]<2}[DA](){return new Promise(_=>{this[l]?this[RA]=_:_(null)})}[nA](_){return new Promise(cA=>{const dA=this[r].splice(this[U]);for(let YA=0;YA<dA.length;YA++){const vA=dA[YA];vA!=null&&N.errorRequest(this,vA,_)}const UA=()=>{this[RA]&&(this[RA](),this[RA]=null),cA(null)};this[hA]?(this[hA].destroy(_,UA),this[hA]=null):queueMicrotask(UA),this[G]()})}}function ne(R,_){if(R[p]===0&&_.code!=="UND_ERR_INFO"&&_.code!=="UND_ERR_SOCKET"){A(R[U]===R[S]);const cA=R[r].splice(R[S]);for(let dA=0;dA<cA.length;dA++){const UA=cA[dA];UA!=null&&N.errorRequest(R,UA,_)}A(R[l]===0)}}function ee(R){A(!R[Q]),A(!R[hA]);let{host:_,hostname:cA,protocol:dA,port:UA}=R[a];if(cA[0]==="["){const YA=cA.indexOf("]");A(YA!==-1);const vA=cA.substring(1,YA);A(u.isIPv6(vA)),cA=vA}R[Q]=!0,C.beforeConnect.hasSubscribers&&C.beforeConnect.publish({connectParams:{host:_,hostname:cA,protocol:dA,port:UA,version:R[hA]?.version,servername:R[s],localAddress:R[iA]},connector:R[gA]});try{R[gA]({host:_,hostname:cA,protocol:dA,port:UA,servername:R[s],localAddress:R[iA]},(YA,vA)=>{if(YA){ge(R,YA,{host:_,hostname:cA,protocol:dA,port:UA}),R[G]();return}if(R.destroyed){N.destroy(vA.on("error",KA),new h),R[G]();return}A(vA);try{R[hA]=vA.alpnProtocol==="h2"?yA(R,vA):j(R,vA)}catch(O){vA.destroy().on("error",KA),ge(R,O,{host:_,hostname:cA,protocol:dA,port:UA}),R[G]();return}R[Q]=!1,vA[tA]=0,vA[QA]=R[QA],vA[e]=R,vA[m]=null,C.connected.hasSubscribers&&C.connected.publish({connectParams:{host:_,hostname:cA,protocol:dA,port:UA,version:R[hA]?.version,servername:R[s],localAddress:R[iA]},connector:R[gA],socket:vA}),R.emit("connect",R[a],[R]),R[G]()})}catch(YA){ge(R,YA,{host:_,hostname:cA,protocol:dA,port:UA}),R[G]()}}function ge(R,_,{host:cA,hostname:dA,protocol:UA,port:YA}){if(!R.destroyed){if(R[Q]=!1,C.connectError.hasSubscribers&&C.connectError.publish({connectParams:{host:cA,hostname:dA,protocol:UA,port:YA,version:R[hA]?.version,servername:R[s],localAddress:R[iA]},connector:R[gA],error:_}),_.code==="ERR_TLS_CERT_ALTNAME_INVALID"){const vA=R[r].splice(R[S],R[p]);R[U]=R[S];for(let O=0;O<vA.length;O++)N.errorRequest(R,vA[O],_);for(;R[y]>0&&R[r][R[U]].servername===R[s];){const O=R[r].splice(R[U],1)[0];N.errorRequest(R,O,_)}}else ne(R,_);R.emit("connectionError",R[a],[R],_)}}function ce(R){R[E]=0,R.emit("drain",R[a],[R])}function le(R,_){R[i]!==2&&(R[i]=2,HA(R,_),R[i]=0,R[S]>256&&(R[r].splice(0,R[S]),R[U]-=R[S],R[S]=0))}function HA(R,_){for(;;){if(R.destroyed){A(R[y]===0);return}if(R[RA]&&!R[l]){R[RA](),R[RA]=null;return}if(R[hA]&&R[hA].resume(),R[t])R[E]=2;else if(R[E]===2){_?(R[E]=1,queueMicrotask(()=>ce(R))):ce(R);continue}if(R[y]===0||R[p]>=(Ae(R)||1))return;const cA=R[r][R[U]];if(cA===null)return;if(R[a].protocol==="https:"&&R[s]!==cA.servername){if(R[p]>0)return;R[s]=cA.servername,R[hA]?.destroy(new D("servername changed"),()=>{R[hA]=null,le(R)})}if(R[Q])return;if(!R[hA]){ee(R);return}if(R[hA].destroyed||R[hA].busy(cA))return;!cA.aborted&&R[hA].write(cA)?R[U]++:R[r].splice(R[U],1)}}return Ar=oe,Ar}var er,Eo;function Wn(){if(Eo)return er;Eo=1;class A{bottom=0;top=0;list=new Array(2048).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(d){this.list[this.top]=d,this.top=this.top+1&2047}shift(){const d=this.list[this.bottom];return d===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,d)}}return er=class{constructor(){this.head=this.tail=new A}isEmpty(){return this.head.isEmpty()}push(u){this.head.isFull()&&(this.head=this.head.next=new A),this.head.push(u)}shift(){const u=this.tail,d=u.shift();return u.isEmpty()&&u.next!==null&&(this.tail=u.next,u.next=null),d}},er}var tr,lo;function ws(){if(lo)return tr;lo=1;const{PoolStats:A}=Jn(),u=xe(),d=Wn(),{kConnected:N,kSize:o,kRunning:C,kPending:g,kQueued:B,kBusy:f,kFree:D,kUrl:h,kClose:c,kDestroy:a,kDispatch:s}=jA(),e=Symbol("clients"),t=Symbol("needDrain"),n=Symbol("queue"),i=Symbol("closed resolve"),p=Symbol("onDrain"),y=Symbol("onConnect"),l=Symbol("onDisconnect"),r=Symbol("onConnectionError"),I=Symbol("get dispatcher"),Q=Symbol("has dispatcher"),E=Symbol("add client"),w=Symbol("remove client");class F extends u{[n]=new d;[B]=0;[e]=[];[t]=!1;[p](S,m,b){const M=this[n];let Y=!1;for(;!Y;){const V=M.shift();if(!V)break;this[B]--,Y=!S.dispatch(V.opts,V.handler)}if(S[t]=Y,!Y&&this[t]&&(this[t]=!1,this.emit("drain",m,[this,...b])),this[i]&&M.isEmpty()){const V=[];for(let k=0;k<this[e].length;k++){const T=this[e][k];T.destroyed||V.push(T.close())}return Promise.all(V).then(this[i])}}[y]=(S,m)=>{this.emit("connect",S,[this,...m])};[l]=(S,m,b)=>{this.emit("disconnect",S,[this,...m],b)};[r]=(S,m,b)=>{this.emit("connectionError",S,[this,...m],b)};get[f](){return this[t]}get[N](){let S=0;for(const{[N]:m}of this[e])S+=m;return S}get[D](){let S=0;for(const{[N]:m,[t]:b}of this[e])S+=m&&!b;return S}get[g](){let S=this[B];for(const{[g]:m}of this[e])S+=m;return S}get[C](){let S=0;for(const{[C]:m}of this[e])S+=m;return S}get[o](){let S=this[B];for(const{[o]:m}of this[e])S+=m;return S}get stats(){return new A(this)}[c](){if(this[n].isEmpty()){const S=[];for(let m=0;m<this[e].length;m++){const b=this[e][m];b.destroyed||S.push(b.close())}return Promise.all(S)}else return new Promise(S=>{this[i]=S})}[a](S){for(;;){const b=this[n].shift();if(!b)break;b.handler.onResponseError(null,S)}const m=new Array(this[e].length);for(let b=0;b<this[e].length;b++)m[b]=this[e][b].destroy(S);return Promise.all(m)}[s](S,m){const b=this[I]();return b?b.dispatch(S,m)||(b[t]=!0,this[t]=!this[Q]()):(this[t]=!0,this[n].push({opts:S,handler:m}),this[B]++),!this[t]}[Q](){for(let S=0;S<this[e].length;S++){const m=this[e][S];if(!m[t]&&m.closed!==!0&&m.destroyed!==!0)return!0}return!1}[E](S){return S.on("drain",this[p].bind(this,S)).on("connect",this[y]).on("disconnect",this[l]).on("connectionError",this[r]),this[e].push(S),this[t]&&queueMicrotask(()=>{this[t]&&this[p](S,S[h],[S,this])}),this}[w](S){const m=this[e].indexOf(S);m!==-1&&this[e].splice(m,1),S.close(()=>{}),this[t]=!this[e].some(b=>!b[t]&&b.closed!==!0&&b.destroyed!==!0)}}return tr={PoolBase:F,kClients:e,kNeedDrain:t,kAddClient:E,kRemoveClient:w,kGetDispatcher:I,kHasDispatcher:Q},tr}var rr,Qo;function qe(){if(Qo)return rr;Qo=1;const{PoolBase:A,kClients:u,kNeedDrain:d,kAddClient:N,kGetDispatcher:o,kHasDispatcher:C,kRemoveClient:g}=ws(),B=Ye(),{InvalidArgumentError:f}=MA(),D=LA(),{kUrl:h}=jA(),c=We(),a=Symbol("options"),s=Symbol("connections"),e=Symbol("factory");function t(i,p){return new B(i,p)}class n extends A{constructor(p,{connections:y,factory:l=t,connect:r,connectTimeout:I,tls:Q,maxCachedSessions:E,socketPath:w,autoSelectFamily:F,autoSelectFamilyAttemptTimeout:U,allowH2:S,useH2c:m,clientTtl:b,...M}={}){if(y!=null&&(!Number.isFinite(y)||y<0))throw new f("invalid connections");if(typeof l!="function")throw new f("factory must be a function.");if(r!=null&&typeof r!="function"&&typeof r!="object")throw new f("connect must be a function or an object");typeof r!="function"&&(r=c({...Q,maxCachedSessions:E,allowH2:S,useH2c:m,socketPath:w,timeout:I,...typeof F=="boolean"?{autoSelectFamily:F,autoSelectFamilyAttemptTimeout:U}:void 0,...r})),super(M),this[s]=y||null,this[h]=D.parseOrigin(p),this[a]={...D.deepClone(M),connect:r,allowH2:S,useH2c:m,clientTtl:b,socketPath:w},this[e]=l,this.on("connect",(Y,V)=>{if(b!=null&&b>0)for(const k of V)Object.assign(k,{ttl:Date.now()})}),this.on("connectionError",(Y,V,k)=>{for(const T of V){const x=this[u].indexOf(T);x!==-1&&this[u].splice(x,1)}})}[o](){const p=this[a].clientTtl;for(let y=0;y<this[u].length;y++){const l=this[u][y];if(p!=null&&p>0&&l.ttl&&Date.now()-l.ttl>p)this[g](l),y--;else if(!l[d])return l}if(!this[s]||this[u].length<this[s]){const y=this[e](this[h],this[a]);return this[N](y),y}}[C](){const p=this[a].clientTtl;for(let y=0;y<this[u].length;y++){const l=this[u][y];if(p!=null&&p>0&&l.ttl&&Date.now()-l.ttl>p)this[g](l),y--;else if(!l[d])return!0}if(!this[s]||this[u].length<this[s]){const y=this[e](this[h],this[a]);return this[N](y),!0}return!1}}return rr=n,rr}var sr,ho;function Ui(){if(ho)return sr;ho=1;const{BalancedPoolMissingUpstreamError:A,InvalidArgumentError:u}=MA(),{PoolBase:d,kClients:N,kNeedDrain:o,kAddClient:C,kRemoveClient:g,kGetDispatcher:B}=ws(),f=qe(),{kUrl:D}=jA(),h=LA(),c=Symbol("factory"),a=Symbol("options"),s=Symbol("kGreatestCommonDivisor"),e=Symbol("kCurrentWeight"),t=Symbol("kIndex"),n=Symbol("kWeight"),i=Symbol("kMaxWeightPerServer"),p=Symbol("kErrorPenalty");function y(I,Q){if(I===0)return Q;for(;Q!==0;){const E=Q;Q=I%Q,I=E}return I}function l(I,Q){return new f(I,Q)}class r extends d{constructor(Q=[],{factory:E=l,...w}={}){if(typeof E!="function")throw new u("factory must be a function.");super(),this[a]={...h.deepClone(w)},this[t]=-1,this[e]=0,this[i]=this[a].maxWeightPerServer||100,this[p]=this[a].errorPenalty||15,Array.isArray(Q)||(Q=[Q]),this[c]=E;for(const F of Q)this.addUpstream(F);this._updateBalancedPoolStats()}addUpstream(Q){const E=h.parseOrigin(Q).origin;if(this[N].find(F=>F[D].origin===E&&F.closed!==!0&&F.destroyed!==!0))return this;const w=this[c](E,this[a]);this[C](w),w.on("connect",()=>{w[n]=Math.min(this[i],w[n]+this[p])}),w.on("connectionError",()=>{w[n]=Math.max(1,w[n]-this[p]),this._updateBalancedPoolStats()}),w.on("disconnect",(...F)=>{const U=F[2];U&&U.code==="UND_ERR_SOCKET"&&(w[n]=Math.max(1,w[n]-this[p]),this._updateBalancedPoolStats())});for(const F of this[N])F[n]=this[i];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let Q=0;for(let E=0;E<this[N].length;E++)Q=y(this[N][E][n],Q);this[s]=Q}removeUpstream(Q){const E=h.parseOrigin(Q).origin,w=this[N].find(F=>F[D].origin===E&&F.closed!==!0&&F.destroyed!==!0);return w&&this[g](w),this}getUpstream(Q){const E=h.parseOrigin(Q).origin;return this[N].find(w=>w[D].origin===E&&w.closed!==!0&&w.destroyed!==!0)}get upstreams(){return this[N].filter(Q=>Q.closed!==!0&&Q.destroyed!==!0).map(Q=>Q[D].origin)}[B](){if(this[N].length===0)throw new A;let Q=0,E=-1;for(;Q++<this[N].length;){this[t]=(this[t]+1)%this[N].length;const w=this[N][this[t]];if(this[t]===0&&(this[e]=this[e]-this[s],this[e]<=0&&(this[e]=this[i])),!(w[o]||w.closed===!0||w.destroyed===!0)&&((E===-1||w[n]>this[N][E][n])&&(E=this[t]),w[n]>=this[e]))return w}if(E!==-1)return this[e]=this[N][E][n],this[t]=E,this[N][E]}}return sr=r,sr}var or,Io;function ki(){if(Io)return or;Io=1;const{PoolBase:A,kClients:u,kNeedDrain:d,kAddClient:N,kGetDispatcher:o,kHasDispatcher:C,kRemoveClient:g}=ws(),B=Ye(),{InvalidArgumentError:f}=MA(),D=LA(),{kUrl:h}=jA(),c=We(),a=Symbol("options"),s=Symbol("connections"),e=Symbol("factory"),t=Symbol("index");function n(p,y){return new B(p,y)}class i extends A{constructor(y,{connections:l,factory:r=n,connect:I,connectTimeout:Q,tls:E,maxCachedSessions:w,socketPath:F,autoSelectFamily:U,autoSelectFamilyAttemptTimeout:S,allowH2:m,clientTtl:b,...M}={}){if(l!=null&&(!Number.isFinite(l)||l<0))throw new f("invalid connections");if(typeof r!="function")throw new f("factory must be a function.");if(I!=null&&typeof I!="function"&&typeof I!="object")throw new f("connect must be a function or an object");typeof I!="function"&&(I=c({...E,maxCachedSessions:w,allowH2:m,socketPath:F,timeout:Q,...typeof U=="boolean"?{autoSelectFamily:U,autoSelectFamilyAttemptTimeout:S}:void 0,...I})),super(),this[s]=l||null,this[h]=D.parseOrigin(y),this[a]={...D.deepClone(M),connect:I,allowH2:m,clientTtl:b,socketPath:F},this[e]=r,this[t]=-1,this.on("connect",(Y,V)=>{if(b!=null&&b>0)for(const k of V)Object.assign(k,{ttl:Date.now()})}),this.on("connectionError",(Y,V,k)=>{for(const T of V){const x=this[u].indexOf(T);x!==-1&&this[u].splice(x,1)}})}[o](){const y=this[a].clientTtl;if(this[u].length===0){const r=this[e](this[h],this[a]);return this[N](r),r}let l=0;for(;l<this[u].length;){this[t]=(this[t]+1)%this[u].length;const r=this[u][this[t]];if(y!=null&&y>0&&r.ttl&&Date.now()-r.ttl>y){this[g](r),this[t]--;continue}if(!r[d])return r;l++}if(!this[s]||this[u].length<this[s]){const r=this[e](this[h],this[a]);return this[N](r),r}}[C](){const y=this[a].clientTtl;for(let l=0;l<this[u].length;l++){const r=this[u][l];if(y!=null&&y>0&&r.ttl&&Date.now()-r.ttl>y)this[g](r),l<=this[t]&&this[t]--,l--;else if(!r[d])return!0}if(!this[s]||this[u].length<this[s]){const l=this[e](this[h],this[a]);return this[N](l),!0}return!1}}return or=i,or}var nr,Bo;function Pe(){if(Bo)return nr;Bo=1;const{InvalidArgumentError:A,MaxOriginsReachedError:u}=MA(),{kBusy:d,kClients:N,kConnected:o,kRunning:C,kClose:g,kDestroy:B,kDispatch:f,kUrl:D}=jA(),h=xe(),c=qe(),a=Ye(),s=LA(),e=Symbol("onConnect"),t=Symbol("onDisconnect"),n=Symbol("onConnectionError"),i=Symbol("onDrain"),p=Symbol("factory"),y=Symbol("options"),l=Symbol("origins");function r(Q,E){return E&&E.connections===1?new a(Q,E):new c(Q,E)}class I extends h{constructor({factory:E=r,maxOrigins:w=1/0,connect:F,...U}={}){if(typeof E!="function")throw new A("factory must be a function.");if(F!=null&&typeof F!="function"&&typeof F!="object")throw new A("connect must be a function or an object");if(typeof w!="number"||Number.isNaN(w)||w<=0)throw new A("maxOrigins must be a number greater than 0");super(U),F&&typeof F!="function"&&(F={...F}),this[y]={...s.deepClone(U),maxOrigins:w,connect:F},this[p]=E,this[N]=new Map,this[l]=new Set,this[i]=(S,m)=>{this.emit("drain",S,[this,...m])},this[e]=(S,m)=>{this.emit("connect",S,[this,...m])},this[t]=(S,m,b)=>{this.emit("disconnect",S,[this,...m],b)},this[n]=(S,m,b)=>{this.emit("connectionError",S,[this,...m],b)}}get[C](){let E=0;for(const w of this[N].values())E+=w[C];return E}[f](E,w){let F;if(E.origin&&(typeof E.origin=="string"||E.origin instanceof URL))F=String(E.origin);else throw new A("opts.origin must be a non-empty string or URL.");const U=E.allowH2??this[y].allowH2,S=U===!1?`${F}#http1-only`:F;if(this[l].size>=this[y].maxOrigins&&!this[l].has(F))throw new u;let m=this[N].get(S);if(!m){m=this[p](E.origin,U===!1?{...this[y],allowH2:!1}:this[y]);const b=()=>{if(this[N].get(S)!==m||m[o]>0||m[d])return;this[N].delete(S),m.destroyed||m.close();let M=!1;for(const Y of this[N].values())if(Y[D].origin===m[D].origin){M=!0;break}M||this[l].delete(m[D].origin)};m.on("drain",this[i]).on("connect",this[e]).on("disconnect",(M,Y,V)=>{b(),this[t](M,Y,V)}).on("connectionError",(M,Y,V)=>{b(),this[n](M,Y,V)}),this[N].set(S,m),this[l].add(F)}return m.dispatch(E,w)}[g](){const E=[];for(const w of this[N].values())E.push(w.close());return this[N].clear(),Promise.all(E)}[B](E){const w=[];for(const F of this[N].values())w.push(F.destroy(E));return this[N].clear(),Promise.all(w)}get stats(){const E={};for(const w of this[N].values())w.stats&&(E[w[D].origin]=w.stats);return E}}return nr=I,nr}var ir,Co;function qn(){if(Co)return ir;Co=1;const A=rt(),{InvalidArgumentError:u}=MA(),{toRawHeaders:d}=LA();class N{#A;constructor(g){this.#A=g}onRequestStart(g,B){this.#A.onConnect?.(f=>g.abort(f),B)}onRequestUpgrade(g,B,f,D){const h=g?.rawHeaders??d(f??{});this.#A.onUpgrade?.(B,h,D)}onResponseStart(g,B,f,D){const h=g?.rawHeaders??d(f??{});this.#A.onHeaders?.(B,h,()=>g.resume(),D)===!1&&g.pause()}onResponseData(g,B){this.#A.onData?.(B)===!1&&g.pause()}onResponseEnd(g,B){const f=g?.rawTrailers??d(B??{});this.#A.onComplete?.(f)}onResponseError(g,B){if(!this.#A.onError)throw B;this.#A.onError(B)}onBodySent(g){this.#A.onBodySent?.(g)}onRequestSent(){this.#A.onRequestSent?.()}onResponseStarted(){this.#A.onResponseStarted?.()}}class o extends A{#A;constructor(g){if(super(),!g||typeof g.dispatch!="function")throw new u("Argument dispatcher must implement dispatch");this.#A=g}static wrapHandler(g){if(!g||typeof g!="object")throw new u("handler must be an object");return typeof g.onRequestStart=="function"?g:new N(g)}dispatch(g,B){return g.allowH2!==!1&&(g={...g,allowH2:!1}),this.#A.dispatch(g,o.wrapHandler(B))}close(...g){return this.#A.close(...g)}destroy(...g){return this.#A.destroy(...g)}}return ir=o,ir}var ar,uo;function bi(){if(uo)return ar;uo=1;const{Buffer:A}=Oe,u=et,{InvalidArgumentError:d}=MA();function N(f){if(u.isIPv4(f)){const h=f.split(".").map(Number);return{type:1,buffer:A.from(h)}}if(u.isIPv6(f))return{type:4,buffer:o(f)};const D=A.from(f,"utf8");if(D.length>255)throw new d("Domain name too long (max 255 bytes)");return{type:3,buffer:A.concat([A.from([D.length]),D])}}function o(f){const D=A.alloc(16);let h=f;if(f.includes(".")){const a=f.lastIndexOf(":"),s=f.slice(a+1);if(u.isIPv4(s)){const e=s.split(".").map(Number),t=(e[0]<<8|e[1]).toString(16),n=(e[2]<<8|e[3]).toString(16);h=`${f.slice(0,a)}:${t}:${n}`}}const c=h.indexOf("::");if(c!==-1){const a=h.slice(0,c),s=h.slice(c+2),e=a===""?[]:a.split(":"),t=s===""?[]:s.split(":");let n=0;for(const i of e)D.writeUInt16BE(parseInt(i,16),n),n+=2;n=16-t.length*2;for(const i of t)D.writeUInt16BE(parseInt(i,16),n),n+=2}else{const a=h.split(":");for(let s=0;s<a.length;s++)D.writeUInt16BE(parseInt(a[s],16),s*2)}return D}function C(f,D,h){const c=A.allocUnsafe(2);return c.writeUInt16BE(h,0),A.concat([A.from([f]),D,c])}function g(f,D=0){if(f.length<D+1)throw new d("Buffer too small to contain address type");const h=f[D];let c,a=D+1;switch(h){case 1:{if(f.length<a+6)throw new d("Buffer too small for IPv4 address");c=Array.from(f.subarray(a,a+4)).join("."),a+=4;break}case 3:{if(f.length<a+1)throw new d("Buffer too small for domain length");const e=f[a];if(a+=1,f.length<a+e+2)throw new d("Buffer too small for domain address");c=f.subarray(a,a+e).toString("utf8"),a+=e;break}case 4:{if(f.length<a+18)throw new d("Buffer too small for IPv6 address");const e=[];for(let t=0;t<8;t++){const n=f.readUInt16BE(a+t*2);e.push(n.toString(16))}c=e.join(":"),a+=16;break}default:throw new d(`Invalid address type: ${h}`)}if(f.length<a+2)throw new d("Buffer too small for port");const s=f.readUInt16BE(a);return a+=2,{address:c,port:s,bytesRead:a-D}}function B(f){const D={1:"General SOCKS server failure",2:"Connection not allowed by ruleset",3:"Network unreachable",4:"Host unreachable",5:"Connection refused",6:"TTL expired",7:"Command not supported",8:"Address type not supported"}[f]||`Unknown SOCKS5 error code: ${f}`,h=new Error(D);return h.code=`SOCKS5_${f}`,h}return ar={parseAddress:N,parseIPv6:o,buildAddressBuffer:C,parseResponseAddress:g,createReplyError:B},ar}var gr,fo;function Mi(){if(fo)return gr;fo=1;const{EventEmitter:A}=ke,{Buffer:u}=Oe,{InvalidArgumentError:d,Socks5ProxyError:N}=MA(),{debuglog:o}=Se,{parseAddress:C}=bi(),g=o("undici:socks5"),B=u.alloc(0),f=5,D={NO_AUTH:0,GSSAPI:1,USERNAME_PASSWORD:2,NO_ACCEPTABLE:255},h={CONNECT:1,BIND:2,UDP_ASSOCIATE:3},c={IPV4:1,DOMAIN:3,IPV6:4},a={SUCCEEDED:0,GENERAL_FAILURE:1,CONNECTION_NOT_ALLOWED:2,NETWORK_UNREACHABLE:3,HOST_UNREACHABLE:4,CONNECTION_REFUSED:5,TTL_EXPIRED:6,COMMAND_NOT_SUPPORTED:7,ADDRESS_TYPE_NOT_SUPPORTED:8},s={INITIAL:"initial",HANDSHAKING:"handshaking",AUTHENTICATING:"authenticating",AUTHENTICATED:"authenticated",CONNECTING:"connecting",CONNECTED:"connected",ERROR:"error",CLOSED:"closed"};class e extends A{constructor(n,i={}){if(super(),!n)throw new d("socket is required");this.socket=n,this.options=i,this.state=s.INITIAL,this.buffer=B,this.onSocketData=this.onData.bind(this),this.onSocketError=this.onError.bind(this),this.onSocketClose=this.onClose.bind(this),this.authMethods=[],i.username&&i.password&&this.authMethods.push(D.USERNAME_PASSWORD),this.authMethods.push(D.NO_AUTH),this.socket.on("data",this.onSocketData),this.socket.on("error",this.onSocketError),this.socket.on("close",this.onSocketClose)}onData(n){g("received data",n.length,"bytes in state",this.state),this.buffer=u.concat([this.buffer,n]);try{switch(this.state){case s.HANDSHAKING:this.handleHandshakeResponse();break;case s.AUTHENTICATING:this.handleAuthResponse();break;case s.CONNECTING:this.handleConnectResponse();break}}catch(i){this.onError(i)}}onError(n){g("socket error",n),this.state=s.ERROR,this.emit("error",n),this.destroy()}onClose(){g("socket closed"),this.state=s.CLOSED,this.emit("close")}destroy(){this.socket&&!this.socket.destroyed&&this.socket.destroy()}markAuthenticated(){this.state=s.AUTHENTICATED,this.emit("authenticated")}handshake(){if(this.state!==s.INITIAL)throw new d("Handshake already started");g("starting handshake with",this.authMethods.length,"auth methods"),this.state=s.HANDSHAKING;const n=u.alloc(2+this.authMethods.length);n[0]=f,n[1]=this.authMethods.length,this.authMethods.forEach((i,p)=>{n[2+p]=i}),this.socket.write(n)}handleHandshakeResponse(){if(this.buffer.length<2)return;const n=this.buffer[0],i=this.buffer[1];if(n!==f)throw new N(`Invalid SOCKS version: ${n}`,"UND_ERR_SOCKS5_VERSION");if(i===D.NO_ACCEPTABLE)throw new N("No acceptable authentication method","UND_ERR_SOCKS5_AUTH_REJECTED");if(this.buffer=this.buffer.subarray(2),g("server selected auth method",i),i===D.NO_AUTH)this.markAuthenticated();else if(i===D.USERNAME_PASSWORD)this.state=s.AUTHENTICATING,this.sendAuthRequest();else throw new N(`Unsupported authentication method: ${i}`,"UND_ERR_SOCKS5_AUTH_METHOD")}sendAuthRequest(){const{username:n,password:i}=this.options;if(!n||!i)throw new d("Username and password required for authentication");g("sending username/password auth");const p=u.from(n),y=u.from(i);if(p.length>255||y.length>255)throw new d("Username or password too long");const l=u.alloc(3+p.length+y.length);l[0]=1,l[1]=p.length,p.copy(l,2),l[2+p.length]=y.length,y.copy(l,3+p.length),this.socket.write(l)}handleAuthResponse(){if(this.buffer.length<2)return;const n=this.buffer[0],i=this.buffer[1];if(n!==1)throw new N(`Invalid auth sub-negotiation version: ${n}`,"UND_ERR_SOCKS5_AUTH_VERSION");if(i!==0)throw new N("Authentication failed","UND_ERR_SOCKS5_AUTH_FAILED");this.buffer=this.buffer.subarray(2),g("authentication successful"),this.markAuthenticated()}connect(n,i){if(this.state===s.CONNECTING||this.state===s.CONNECTED)throw new d("Connection already in progress");if(this.state!==s.AUTHENTICATED)throw new d("Client must be authenticated before CONNECT");g("connecting to",n,i),this.state=s.CONNECTING;const p=this.buildConnectRequest(h.CONNECT,n,i);this.socket.write(p)}buildConnectRequest(n,i,p){const{type:y,buffer:l}=C(i),r=u.alloc(4+l.length+2);return r[0]=f,r[1]=n,r[2]=0,r[3]=y,l.copy(r,4),r.writeUInt16BE(p,4+l.length),r}handleConnectResponse(){if(this.buffer.length<4)return;const n=this.buffer[0],i=this.buffer[1],p=this.buffer[3];if(n!==f)throw new N(`Invalid SOCKS version in reply: ${n}`,"UND_ERR_SOCKS5_REPLY_VERSION");let y=4;if(p===c.IPV4)y+=6;else if(p===c.DOMAIN){if(this.buffer.length<5)return;y+=1+this.buffer[4]+2}else if(p===c.IPV6)y+=18;else throw new N(`Invalid address type in reply: ${p}`,"UND_ERR_SOCKS5_ADDR_TYPE");if(this.buffer.length<y)return;if(i!==a.SUCCEEDED){const Q=this.getReplyErrorMessage(i);throw new N(`SOCKS5 connection failed: ${Q}`,`UND_ERR_SOCKS5_REPLY_${i}`)}let l,r=4;if(p===c.IPV4)l=Array.from(this.buffer.subarray(r,r+4)).join("."),r+=4;else if(p===c.DOMAIN){const Q=this.buffer[r];r+=1,l=this.buffer.subarray(r,r+Q).toString(),r+=Q}else if(p===c.IPV6){const Q=[];for(let E=0;E<8;E++){const w=this.buffer.readUInt16BE(r+E*2);Q.push(w.toString(16))}l=Q.join(":"),r+=16}const I=this.buffer.readUInt16BE(r);this.buffer=B,this.state=s.CONNECTED,this.socket.removeListener("data",this.onSocketData),g("connected, bound address:",l,"port:",I),this.emit("connected",{address:l,port:I})}getReplyErrorMessage(n){switch(n){case a.GENERAL_FAILURE:return"General SOCKS server failure";case a.CONNECTION_NOT_ALLOWED:return"Connection not allowed by ruleset";case a.NETWORK_UNREACHABLE:return"Network unreachable";case a.HOST_UNREACHABLE:return"Host unreachable";case a.CONNECTION_REFUSED:return"Connection refused";case a.TTL_EXPIRED:return"TTL expired";case a.COMMAND_NOT_SUPPORTED:return"Command not supported";case a.ADDRESS_TYPE_NOT_SUPPORTED:return"Address type not supported";default:return`Unknown error code: ${n}`}}}return gr={Socks5Client:e,AUTH_METHODS:D,COMMANDS:h,ADDRESS_TYPES:c,REPLY_CODES:a,STATES:s},gr}var cr,yo;function Pn(){if(yo)return cr;yo=1;const{URL:A}=Ii;let u;const d=xe(),{InvalidArgumentError:N}=MA(),{Socks5Client:o,STATES:C}=Mi(),{kDispatch:g,kClose:B,kDestroy:f}=jA(),D=qe(),h=We(),{debuglog:c}=Se,a=c("undici:socks5-proxy"),s=Symbol("proxy url"),e=Symbol("proxy headers"),t=Symbol("proxy auth"),n=Symbol("proxy protocol"),i=Symbol("pools"),p=Symbol("connector"),y=Symbol("request tls settings");let l=!1;class r extends d{constructor(Q,E={}){if(super(),l||(process.emitWarning("SOCKS5 proxy support is experimental and subject to change","ExperimentalWarning"),l=!0),!Q)throw new N("Proxy URL is mandatory");const w=typeof Q=="string"?new A(Q):Q;if(w.protocol!=="socks5:"&&w.protocol!=="socks:")throw new N("Proxy URL must use socks5:// or socks:// protocol");this[s]=w,this[e]=E.headers||{},this[n]=E.proxyTls?"https:":"http:",this[y]=E.requestTls,this[t]={username:E.username||(w.username?decodeURIComponent(w.username):null),password:E.password||(w.password?decodeURIComponent(w.password):null)},this[p]=E.connect||h({...E.proxyTls,servername:E.proxyTls?.servername||w.hostname}),this[i]=new Map}async createSocks5Connection(Q,E){const w=this[s].hostname,F=parseInt(this[s].port)||1080;a("creating SOCKS5 connection to",w,F);const U=Promise.withResolvers();this[p]({hostname:w,host:w,port:F,protocol:this[n]},(gA,QA)=>{gA?U.reject(gA):U.resolve(QA)});const S=await U.promise,m=new o(S,this[t]);m.on("error",gA=>{a("SOCKS5 error:",gA),S.destroy()}),await m.handshake();const b=Promise.withResolvers(),M=setTimeout(()=>{b.reject(new Error("SOCKS5 authentication timeout"))},5e3),Y=()=>{clearTimeout(M),m.removeListener("error",V),b.resolve()},V=gA=>{clearTimeout(M),m.removeListener("authenticated",Y),b.reject(gA)};m.state===C.AUTHENTICATED?(clearTimeout(M),b.resolve()):(m.once("authenticated",Y),m.once("error",V)),await b.promise,await m.connect(Q,E);const k=Promise.withResolvers(),T=setTimeout(()=>{k.reject(new Error("SOCKS5 connection timeout"))},5e3),x=gA=>{a("SOCKS5 tunnel established to",Q,E,"via",gA),clearTimeout(T),m.removeListener("error",z),k.resolve()},z=gA=>{clearTimeout(T),m.removeListener("connected",x),k.reject(gA)};return m.once("connected",x),m.once("error",z),await k.promise,S}[g](Q,E){const{origin:w}=Q;a("dispatching request to",w,"via SOCKS5");try{const F=String(w);let U=this[i].get(F);return(!U||U.destroyed||U.closed)&&(U=new D(w,{pipelining:Q.pipelining,connections:Q.connections,connect:async(S,m)=>{try{const b=new A(w),M=b.hostname,Y=parseInt(b.port)||(b.protocol==="https:"?443:80);a("establishing SOCKS5 connection to",M,Y);const V=await this.createSocks5Connection(M,Y);let k=V;if(b.protocol==="https:"){u||(u=require("node:tls")),a("upgrading to TLS"),k=u.connect({...this[y],socket:V,servername:this[y]?.servername||M});const T=Promise.withResolvers();k.once("secureConnect",T.resolve),k.once("error",T.reject),await T.promise}m(null,k)}catch(b){a("SOCKS5 connection error:",b),m(b)}}}),this[i].set(F,U)),U[g](Q,E)}catch(F){if(a("dispatch error:",F),typeof E.onResponseError=="function")return E.onResponseError(null,F),!1;if(typeof E.onError=="function")return E.onError(F),!1;throw F}}async[B](){const Q=[];for(const E of this[i].values())Q.push(E.close());this[i].clear(),await Promise.all(Q)}async[f](Q){const E=[];for(const w of this[i].values())E.push(w.destroy(Q));this[i].clear(),await Promise.all(E)}}return cr=r,cr}var Er,Do;function _n(){if(Do)return Er;Do=1;const{kProxy:A,kClose:u,kDestroy:d,kDispatch:N}=jA(),o=Pe(),C=qe(),g=xe(),{InvalidArgumentError:B,RequestAbortedError:f,SecureProxyConnectionError:D,ProxyConnectionError:h}=MA(),c=We(),a=Ye(),{channels:s}=He(),e=Pn(),t=Symbol("proxy agent"),n=Symbol("proxy client"),i=Symbol("proxy headers"),p=Symbol("request tls settings"),y=Symbol("proxy tls settings"),l=Symbol("connect endpoint function"),r=Symbol("connect endpoint function (http/1.1 only)"),I=Symbol("tunnel proxy"),Q="proxy-authorization";function E(k){return k==="https:"?443:80}function w(k,T){return new C(k,T)}const F=()=>{};function U(k,T){return T.connections===1?new a(k,T):new C(k,T)}class S extends g{#A;constructor(T,{headers:x={},connect:z,factory:gA}){if(!T)throw new B("Proxy URL is mandatory");super(),this[i]=x,gA?this.#A=gA(T,{connect:z}):this.#A=new a(T,{connect:z})}[N](T,x){const z=x.onResponseStart;x.onResponseStart=function(DA,nA,eA,iA){if(nA===407){typeof x.onResponseError=="function"&&x.onResponseError(DA,new B("Proxy Authentication Required (407)"));return}z&&z.call(this,DA,nA,eA,iA)};const{origin:gA,path:QA="/",headers:tA={}}=T;if(T.path=gA+QA,!("host"in tA)&&!("Host"in tA)){const{host:DA}=new URL(gA);tA.host=DA}return T.headers={...this[i],...tA},this.#A[N](T,x)}[u](){return this.#A.close()}[d](T){return this.#A.destroy(T)}}class m extends g{constructor(T){if(!T||typeof T=="object"&&!(T instanceof URL)&&!T.uri)throw new B("Proxy uri is mandatory");const{clientFactory:x=w}=T;if(typeof x!="function")throw new B("Proxy opts.clientFactory must be a function.");const{proxyTunnel:z=!0,connectTimeout:gA}=T;super();const QA=this.#A(T),{href:tA,origin:DA,port:nA,protocol:eA,username:iA,password:CA,hostname:NA}=QA;if(this[A]={uri:tA,protocol:eA},this[p]=T.requestTls,this[y]=T.proxyTls,this[i]=T.headers||{},this[I]=z,T.auth&&T.token)throw new B("opts.auth cannot be used in combination with opts.token");T.auth?this[i]["proxy-authorization"]=`Basic ${T.auth}`:T.token?this[i]["proxy-authorization"]=T.token:iA&&CA?this[i]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(iA)}:${decodeURIComponent(CA)}`).toString("base64")}`:iA&&(this[i]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(iA)}:`).toString("base64")}`);const hA=c({timeout:gA,...T.proxyTls});this[l]=c({timeout:gA,...T.requestTls}),this[r]=c({timeout:gA,...T.requestTls,allowH2:!1});const kA=T.factory||U,xA=(TA,AA)=>{const{protocol:G}=new URL(TA);return this[A].protocol==="socks5:"||this[A].protocol==="socks:"?new e(this[A].uri,{headers:this[i],connect:hA,factory:kA,username:T.username||iA,password:T.password||CA,proxyTls:T.proxyTls,requestTls:T.requestTls}):!this[I]&&G==="http:"&&this[A].protocol==="http:"?new S(this[A].uri,{headers:this[i],connect:hA,factory:kA}):kA(TA,AA)};eA==="socks5:"||eA==="socks:"?this[n]=null:this[n]=x(QA,{connect:hA}),this[t]=new o({...T,factory:xA,connect:async(TA,AA)=>{if(!this[n]){AA(new B("Cannot establish tunnel connection without a proxy client"));return}let G=TA.host;TA.port||(G+=`:${E(TA.protocol)}`);try{const rA={origin:DA,port:nA,path:G,signal:TA.signal,headers:{...this[i],host:TA.host,...TA.connections==null||TA.connections>0?{"proxy-connection":"keep-alive"}:{}},servername:this[y]?.servername||NA},{socket:j,statusCode:yA}=await this[n].connect(rA);if(yA!==200){j.on("error",F).destroy(),AA(new f(`Proxy response (${yA}) !== 200 when HTTP Tunneling`));return}if(s.proxyConnected.hasSubscribers&&s.proxyConnected.publish({socket:j,connectParams:rA}),TA.protocol!=="https:"){AA(null,j);return}let RA;this[p]?RA=this[p].servername:RA=TA.servername,(TA.allowH2===!1?this[r]:this[l])({...TA,servername:RA,httpSocket:j},AA)}catch(rA){rA.code==="ERR_TLS_CERT_ALTNAME_INVALID"?AA(new D(rA)):rA.code==="UND_ERR_SOCKET"?AA(new h(rA)):AA(rA)}}})}dispatch(T,x){const z=b(T.headers);if(M(z),z&&!("host"in z)&&!("Host"in z)){const{host:gA}=new URL(T.origin);z.host=gA}return this[t].dispatch({...T,headers:z},x)}#A(T){return typeof T=="string"?new URL(T):T instanceof URL?T:new URL(T.uri)}[u](){const T=[this[t].close()];return this[n]&&T.push(this[n].close()),Promise.all(T)}[d](){const T=[this[t].destroy()];return this[n]&&T.push(this[n].destroy()),Promise.all(T)}}function b(k){if(Array.isArray(k)){const T={};for(let x=0;x<k.length;x+=2)Y(k[x])&&V(),T[k[x]]=k[x+1];return T}return k}function M(k){for(const T in k)Y(T)&&V()}function Y(k){return k.length===Q.length&&k.toLowerCase()===Q}function V(){throw new B("Proxy-Authorization should be sent in ProxyAgent constructor")}return Er=m,Er}var lr,po;function Ti(){if(po)return lr;po=1;const A=xe(),{kClose:u,kDestroy:d,kClosed:N,kDestroyed:o,kDispatch:C,kNoProxyAgent:g,kHttpProxyAgent:B,kHttpsProxyAgent:f}=jA(),D=_n(),h=Pe(),c={"http:":80,"https:":443};class a extends A{#A=null;#e=null;#t=null;constructor(e={}){super(),this.#t=e;const{httpProxy:t,httpsProxy:n,noProxy:i,...p}=e;this[g]=new h(p);const y=t??process.env.http_proxy??process.env.HTTP_PROXY;y?this[B]=new D({...p,uri:y}):this[B]=this[g];const l=n??process.env.https_proxy??process.env.HTTPS_PROXY;l?this[f]=new D({...p,uri:l}):this[f]=this[B],this.#r()}[C](e,t){const n=new URL(e.origin);return this.#s(n).dispatch(e,t)}[u](){return Promise.all([this[g].close(),!this[B][N]&&this[B].close(),!this[f][N]&&this[f].close()])}[d](e){return Promise.all([this[g].destroy(e),!this[B][o]&&this[B].destroy(e),!this[f][o]&&this[f].destroy(e)])}#s(e){let{protocol:t,host:n,port:i}=e;return n=n.replace(/:\d*$/,"").toLowerCase(),i=Number.parseInt(i,10)||c[t]||0,this.#o(n,i)?t==="https:"?this[f]:this[B]:this[g]}#o(e,t){if(this.#a&&this.#r(),this.#e.length===0)return!0;if(this.#A==="*")return!1;for(let n=0;n<this.#e.length;n++){const i=this.#e[n];if(!(i.port&&i.port!==t)&&(e===i.hostname||e.slice(-(i.hostname.length+1))===`.${i.hostname}`))return!1}return!0}#r(){const e=this.#t.noProxy??this.#n,t=e.split(/[,\s]/),n=[];for(let i=0;i<t.length;i++){const p=t[i];if(!p)continue;const y=p.match(/^(.+):(\d+)$/);n.push({hostname:(y?y[1]:p).replace(/^\*?\./,"").toLowerCase(),port:y?Number.parseInt(y[2],10):0})}this.#A=e,this.#e=n}get#a(){return this.#t.noProxy!==void 0?!1:this.#A!==this.#n}get#n(){return process.env.no_proxy??process.env.NO_PROXY??""}}return lr=a,lr}var Qr,Ro;function Ns(){if(Ro)return Qr;Ro=1;const A=qA,{kRetryHandlerDefaultRetry:u}=jA(),{RequestRetryError:d}=MA(),{isDisturbed:N,parseRangeHeader:o,wrapRequestBody:C}=LA();function g(D){const h=new Date(D).getTime();return isNaN(h)?0:h-Date.now()}class B{constructor(){this.target=null}pause(){this.target?.pause()}resume(){this.target?.resume()}abort(h){this.target?.abort(h)}get paused(){return this.target?.paused??!1}get aborted(){return this.target?.aborted??!1}get reason(){return this.target?.reason??null}get rawHeaders(){return this.target?.rawHeaders??null}get rawTrailers(){return this.target?.rawTrailers??null}}class f{constructor(h,{dispatch:c,handler:a}){const{retryOptions:s,...e}=h,{retry:t,maxRetries:n,maxTimeout:i,minTimeout:p,timeoutFactor:y,methods:l,errorCodes:r,retryAfter:I,statusCodes:Q,throwOnError:E}=s??{};this.error=null,this.dispatch=c,this.handler=a,this.opts={...e,body:C(h.body)},this.retryOpts={throwOnError:E??!0,retry:t??f[u],retryAfter:I??!0,maxTimeout:i??30*1e3,minTimeout:p??500,timeoutFactor:y??2,maxRetries:n??5,methods:l??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE","QUERY"],statusCodes:Q??[500,502,503,504,429],errorCodes:r??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.headersSent=!1,this.start=0,this.end=null,this.etag=null,this.statusCode=null,this.headers=null,this.controllerProxy=new B}onResponseStartWithRetry(h,c,a,s,e){if(this.retryOpts.throwOnError){this.retryOpts.statusCodes.includes(c)===!1?(this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,c,a,s)):this.error=e;return}if(N(this.opts.body)){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,c,a,s);return}function t(n){if(n){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,c,a,s),h.resume();return}this.error=e,h.resume()}h.pause(),this.retryOpts.retry(e,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},t.bind(this))}onRequestStart(h,c){this.controllerProxy.target=h,this.headersSent||this.handler.onRequestStart?.(this.controllerProxy,c)}onRequestUpgrade(h,c,a,s){this.handler.onRequestUpgrade?.(this.controllerProxy,c,a,s)}static[u](h,{state:c,opts:a},s){const{statusCode:e,code:t,headers:n}=h,{method:i,retryOptions:p}=a,{maxRetries:y,minTimeout:l,maxTimeout:r,timeoutFactor:I,statusCodes:Q,errorCodes:E,methods:w}=p,{counter:F}=c;if(t&&t!=="UND_ERR_REQ_RETRY"&&!E.includes(t)){s(h);return}if(Array.isArray(w)&&!w.includes(i)){s(h);return}if(e!=null&&Array.isArray(Q)&&!Q.includes(e)){s(h);return}if(F>y){s(h);return}let U=n?.["retry-after"];U&&(U=Number(U),U=Number.isNaN(U)?g(n["retry-after"]):U*1e3);const S=U>0?Math.min(U,r):Math.min(l*I**(F-1),r);setTimeout(()=>s(null),S)}onResponseStart(h,c,a,s){if(this.error=null,this.retryCount+=1,this.statusCode=c,this.headers=a,c>=300){const e=new d("Request failed",c,{headers:a,data:{count:this.retryCount}});this.onResponseStartWithRetry(h,c,a,s,e);return}if(this.headersSent){if(c!==206&&(this.start>0||c!==200))throw new d("server does not support the range header and the payload was partially consumed",c,{headers:a,data:{count:this.retryCount}});const e=o(a["content-range"]);if(!e)throw new d("Content-Range mismatch",c,{headers:a,data:{count:this.retryCount}});if(this.etag!=null&&this.etag!==a.etag)throw new d("ETag mismatch",c,{headers:a,data:{count:this.retryCount}});const{start:t,size:n,end:i=n?n-1:null}=e;A(this.start===t,"content-range mismatch"),A(this.end==null||this.end===i,"content-range mismatch");return}if(this.end==null){if(c===206){const e=o(a["content-range"]);if(e==null){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,c,a,s);return}const{start:t,size:n,end:i=n?n-1:null}=e;A(t!=null&&Number.isFinite(t),"content-range mismatch"),A(i!=null&&Number.isFinite(i),"invalid content-length"),this.start=t,this.end=i}if(this.end==null){const e=a["content-length"];this.end=e!=null?Number(e)-1:null}A(Number.isFinite(this.start)),A(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=!0,this.etag=a.etag!=null?a.etag:null,this.etag!=null&&this.etag[0]==="W"&&this.etag[1]==="/"&&(this.etag=null),this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,c,a,s)}else throw new d("Request failed",c,{headers:a,data:{count:this.retryCount}})}onResponseData(h,c){this.error||(this.start+=c.length,this.handler.onResponseData?.(this.controllerProxy,c))}onResponseEnd(h,c){if(this.error&&this.retryOpts.throwOnError)throw this.error;if(!this.error){if(this.end!=null&&Number.isFinite(this.end)&&this.start!==this.end+1)throw new d("Content-Range mismatch",this.statusCode,{headers:this.headers,data:{count:this.retryCount}});return this.retryCount=0,this.handler.onResponseEnd?.(this.controllerProxy,c)}this.retry()}retry(){if(this.start!==0){const h={range:`bytes=${this.start}-${this.end??""}`};this.etag!=null&&(h["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...h}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(h){this.handler.onResponseError?.(this.controllerProxy,h)}}onResponseError(h,c){if(h?.aborted||N(this.opts.body)){this.handler.onResponseError?.(this.controllerProxy,c);return}function a(s){if(!s){this.retry();return}this.handler?.onResponseError?.(this.controllerProxy,s)}this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(c,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},a.bind(this))}}return Qr=f,Qr}var hr,So;function Li(){if(So)return hr;So=1;const A=rt(),u=Ns();class d extends A{#A=null;#e=null;constructor(o,C={}){super(C),this.#A=o,this.#e=C}dispatch(o,C){const g=new u({...o,retryOptions:this.#e},{dispatch:this.#A.dispatch.bind(this.#A),handler:C});return this.#A.dispatch(o,g)}close(){return this.#A.close()}destroy(){return this.#A.destroy()}}return hr=d,hr}var Ir,wo;function Hi(){if(wo)return Ir;wo=1;const{InvalidArgumentError:A}=MA(),u=Ye();class d extends u{constructor(o,C){if(typeof o=="string"&&(o=new URL(o)),o.protocol!=="http:")throw new A("h2c-client: Only h2c protocol is supported");const{maxConcurrentStreams:g,pipelining:B,...f}=C??{},D=g??100;let h=100;if(g!=null&&(!Number.isInteger(g)||g<1))throw new A("maxConcurrentStreams must be a positive integer, greater than 0");if(B!=null&&Number.isInteger(B)&&B>0&&(h=B),h>D)throw new A("h2c-client: pipelining cannot be greater than maxConcurrentStreams");super(o,{...f,maxConcurrentStreams:D,pipelining:h,allowH2:!0,useH2c:!0})}}return Ir=d,Ir}var Le={},Qt={exports:{}},Br,No;function Yi(){if(No)return Br;No=1;const A=qA,{addAbortListener:u}=ke,{Readable:d}=Ce,{RequestAbortedError:N,NotSupportedError:o,InvalidArgumentError:C,AbortError:g}=MA(),B=LA(),{ReadableStreamFrom:f}=LA(),D=Symbol("kConsume"),h=Symbol("kReading"),c=Symbol("kBody"),a=Symbol("kAbort"),s=Symbol("kContentType"),e=Symbol("kContentLength"),t=Symbol("kUsed"),n=Symbol("kBytesRead"),i=Symbol("kPreservedBuffer"),p=()=>{};class y extends d{constructor({resume:b,abort:M,contentType:Y="",contentLength:V,highWaterMark:k=64*1024}){super({autoDestroy:!0,read:b,highWaterMark:k}),this._readableState.dataEmitted=!1,this[a]=M,this[D]=null,this[n]=0,this[c]=null,this[t]=!1,this[s]=Y,this[e]=Number.isFinite(V)?V:null,this[h]=!1}_destroy(b,M){!b&&!this._readableState.endEmitted&&(b=new N),b&&this[a](),this[t]?M(b):setImmediate(M,b)}on(b,M){return(b==="data"||b==="readable")&&(this[h]=!0,this[t]=!0),super.on(b,M)}addListener(b,M){return this.on(b,M)}off(b,M){const Y=super.off(b,M);return(b==="data"||b==="readable")&&(this[h]=this.listenerCount("data")>0||this.listenerCount("readable")>0),Y}removeListener(b,M){return this.off(b,M)}push(b){return b&&(this[n]+=b.length,this[D])?(U(this[D],b),this[h]?super.push(b):!0):super.push(b)}text(){return I(this,"text")}json(){return I(this,"json")}blob(){return I(this,"blob")}bytes(){return I(this,"bytes")}arrayBuffer(){return I(this,"arrayBuffer")}async formData(){throw new o}get bodyUsed(){return B.isDisturbed(this)}get body(){return this[c]||(this[c]=f(this),this[D]&&(this[c].getReader(),A(this[c].locked))),this[c]}dump(b){const M=b?.signal;if(M!=null&&(typeof M!="object"||!("aborted"in M)))return Promise.reject(new C("signal must be an AbortSignal"));const Y=b?.limit&&Number.isFinite(b.limit)?b.limit:128*1024;return M?.aborted?Promise.reject(M.reason??new g):this._readableState.closeEmitted?Promise.resolve(null):new Promise((V,k)=>{if((this[e]&&this[e]>Y||this[n]>Y)&&this.destroy(new g),M){const T=u(M,()=>{this.destroy(M.reason??new g)});this.on("close",function(){T[Symbol.dispose](),M.aborted?k(M.reason??new g):V(null)})}else this.on("close",V);this.on("error",p).on("data",()=>{this[n]>Y&&this.destroy()}).resume()})}setEncoding(b){if(Buffer.isEncoding(b)){const M=this._readableState,Y=M.buffer;if(Y&&M.length>0){const V=M.bufferIndex??0,k=[],T=typeof Y.slice=="function"?Y.slice(V):Y;for(const x of T)Buffer.isBuffer(x)&&k.push(x);k.length>0&&(this[i]=(this[i]||[]).concat(k))}super.setEncoding(b)}return this}}function l(m){return m[c]?.locked===!0||m[D]!==null}function r(m){return B.isDisturbed(m)||l(m)}function I(m,b){return A(!m[D]),new Promise((M,Y)=>{if(r(m)){const V=m._readableState;V.destroyed&&V.closeEmitted===!1?m.on("error",Y).on("close",()=>{Y(new TypeError("unusable"))}):Y(V.errored??new TypeError("unusable"))}else queueMicrotask(()=>{m[D]={type:b,stream:m,resolve:M,reject:Y,length:0,body:[]},m.on("error",function(V){S(this[D],V)}).on("close",function(){this[D].body!==null&&S(this[D],new N)}),Q(m[D])})})}function Q(m){if(m.body===null)return;const{_readableState:b}=m.stream,M=m.stream[i];if(M&&M.length>0){for(const Y of M)U(m,Y);m.stream[i]=null}else if(b.bufferIndex){const Y=b.bufferIndex,V=b.buffer.length;for(let k=Y;k<V;k++)U(m,b.buffer[k])}else for(const Y of b.buffer)U(m,Y);for(b.endEmitted?F(this[D],this._readableState.encoding):m.stream.on("end",function(){F(this[D],this._readableState.encoding)}),m.stream.resume();m.stream.read()!=null;);}function E(m,b,M){if(m.length===0||b===0)return"";const Y=m.length===1?m[0]:Buffer.concat(m,b),V=Y.length,k=V>2&&Y[0]===239&&Y[1]===187&&Y[2]===191?3:0;return!M||M==="utf8"||M==="utf-8"?Y.utf8Slice(k,V):Y.subarray(k,V).toString(M)}function w(m,b){if(m.length===0||b===0)return new Uint8Array(0);if(m.length===1)return new Uint8Array(m[0]);const M=new Uint8Array(Buffer.allocUnsafeSlow(b).buffer);let Y=0;for(let V=0;V<m.length;++V){const k=m[V];M.set(k,Y),Y+=k.length}return M}function F(m,b){const{type:M,body:Y,resolve:V,stream:k,length:T}=m;try{M==="text"?V(E(Y,T,b)):M==="json"?V(JSON.parse(E(Y,T,b))):M==="arrayBuffer"?V(w(Y,T).buffer):M==="blob"?V(new Blob(Y,{type:k[s]})):M==="bytes"&&V(w(Y,T)),S(m)}catch(x){k.destroy(x)}}function U(m,b){m.length+=b.length,m.body.push(b)}function S(m,b){m.body!==null&&(b?m.reject(b):m.resolve(),m.type=null,m.stream=null,m.resolve=null,m.reject=null,m.length=0,m.body=null)}return Br={Readable:y,chunksDecode:E},Br}var mo;function vi(){if(mo)return Qt.exports;mo=1;const A=qA,{AsyncResource:u}=tt,{Readable:d}=Yi(),{InvalidArgumentError:N,RequestAbortedError:o}=MA(),C=LA();function g(){}class B extends u{constructor(h,c){if(!h||typeof h!="object")throw new N("invalid opts");const{signal:a,method:s,opaque:e,body:t,onInfo:n,responseHeaders:i,highWaterMark:p}=h;try{if(typeof c!="function")throw new N("invalid callback");if(p!=null&&(!Number.isFinite(p)||p<0))throw new N("invalid highWaterMark");if(a&&typeof a.on!="function"&&typeof a.addEventListener!="function")throw new N("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new N("invalid method");if(n&&typeof n!="function")throw new N("invalid onInfo callback");super("UNDICI_REQUEST")}catch(y){throw C.isStream(t)&&C.destroy(t.on("error",g),y),y}this.method=s,this.responseHeaders=i||null,this.opaque=e||null,this.callback=c,this.res=null,this.abort=null,this.body=t,this.trailers={},this.context=null,this.controller=null,this.onInfo=n||null,this.highWaterMark=p,this.reason=null,this.removeAbortListener=null,a?.aborted?this.reason=a.reason??new o:a&&(this.removeAbortListener=C.addAbortListener(a,()=>{if(this.reason=a.reason??new o,this.res){const y=this.res;this.res=null,C.destroy(y.on("error",g),this.reason)}else this.abort&&this.abort(this.reason)}))}onRequestStart(h,c){if(this.reason){h.abort(this.reason);return}A(this.callback),this.controller=h,this.abort=a=>h.abort(a),this.context=c}onResponseStart(h,c,a,s){const{callback:e,opaque:t,context:n,responseHeaders:i,highWaterMark:p}=this,y=h?.rawHeaders,l=i==="raw"?C.parseRawHeaders(y):a;if(c<200){this.onInfo&&this.onInfo({statusCode:c,headers:l});return}const r=a,I=r?.["content-type"],Q=r?.["content-length"],E=new d({resume:()=>h.resume(),abort:w=>h.abort(w),contentType:I,contentLength:this.method!=="HEAD"&&Q?Number(Q):null,highWaterMark:p});if(this.removeAbortListener&&(E.on("close",this.removeAbortListener),this.removeAbortListener=null),this.callback=null,this.res=E,e!==null)try{this.runInAsyncScope(e,null,null,{statusCode:c,statusText:s,headers:l,trailers:this.trailers,opaque:t,body:E,context:n})}catch(w){this.res=null,C.destroy(E.on("error",g),w),queueMicrotask(()=>{throw w})}}onResponseData(h,c){this.res&&this.res.push(c)===!1&&h.pause()}onResponseEnd(h,c){if(c&&typeof c=="object")for(const a of Object.keys(c))a==="__proto__"?Object.defineProperty(this.trailers,a,{value:c[a],enumerable:!0,configurable:!0,writable:!0}):this.trailers[a]=c[a];this.res?.push(null)}onResponseError(h,c){const{res:a,callback:s,body:e,opaque:t}=this;s&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(s,null,c,{opaque:t})})),a&&(this.res=null,queueMicrotask(()=>{C.destroy(a.on("error",g),c)})),e&&(this.body=null,C.isStream(e)&&(e.on("error",g),C.destroy(e,c))),this.removeAbortListener&&(this.removeAbortListener(),this.removeAbortListener=null)}}function f(D,h){if(h===void 0)return new Promise((c,a)=>{f.call(this,D,(s,e)=>s?a(s):c(e))});try{const c=new B(D,h);this.dispatch(D,c)}catch(c){if(typeof h!="function")throw c;const a=D?.opaque;queueMicrotask(()=>h(c,{opaque:a}))}}return Qt.exports=f,Qt.exports.RequestHandler=B,Qt.exports}var Cr,Fo;function dt(){if(Fo)return Cr;Fo=1;const{addAbortListener:A}=LA(),{RequestAbortedError:u}=MA(),d=Symbol("kListener"),N=Symbol("kSignal");function o(B){B.abort?B.abort(B[N]?.reason):B.reason=B[N]?.reason??new u,g(B)}function C(B,f){if(B.reason=null,B[N]=null,B[d]=null,!!f){if(f.aborted){o(B);return}B[N]=f,B[d]=()=>{o(B)},A(B[N],B[d])}}function g(B){B[N]&&("removeEventListener"in B[N]?B[N].removeEventListener("abort",B[d]):B[N].removeListener("abort",B[d]),B[N]=null,B[d]=null)}return Cr={addSignal:C,removeSignal:g},Cr}var ur,Uo;function Gi(){if(Uo)return ur;Uo=1;const A=qA,{AsyncResource:u}=tt,{InvalidArgumentError:d,InvalidReturnValueError:N}=MA(),o=LA(),{addSignal:C,removeSignal:g}=dt();function B(){}function f(s){return s.errored??s.writableErrored??s._writableState?.errored}function D(){const s=new Error("Premature close");return s.code="ERR_STREAM_PREMATURE_CLOSE",s}function h(s,e){let t=!1;const n=()=>{s.removeListener("close",p),s.removeListener("error",y),s.removeListener("finish",l)},i=(r,I=!1)=>{t||(t=!0,n(),e(r,I))},p=()=>{const r=f(s);i(r??(s.writableFinished?void 0:D()))},y=r=>i(r,!0),l=()=>i();s.on("close",p),s.on("error",y),s.on("finish",l),s.closed?process.nextTick(p):s.writableFinished&&process.nextTick(l)}class c extends u{constructor(e,t,n){if(!e||typeof e!="object")throw new d("invalid opts");const{signal:i,method:p,opaque:y,body:l,onInfo:r,responseHeaders:I}=e;try{if(typeof n!="function")throw new d("invalid callback");if(typeof t!="function")throw new d("invalid factory");if(i&&typeof i.on!="function"&&typeof i.addEventListener!="function")throw new d("signal must be an EventEmitter or EventTarget");if(p==="CONNECT")throw new d("invalid method");if(r&&typeof r!="function")throw new d("invalid onInfo callback");super("UNDICI_STREAM")}catch(Q){throw o.isStream(l)&&o.destroy(l.on("error",B),Q),Q}this.responseHeaders=I||null,this.opaque=y||null,this.factory=t,this.callback=n,this.res=null,this.abort=null,this.context=null,this.controller=null,this.trailers=null,this.body=l,this.onInfo=r||null,o.isStream(l)&&l.on("error",Q=>{this.onResponseError(this.controller,Q)}),C(this,i)}onRequestStart(e,t){if(this.reason){e.abort(this.reason);return}A(this.callback),this.controller=e,this.abort=n=>e.abort(n),this.context=t}onResponseStart(e,t,n,i){const{factory:p,opaque:y,context:l,responseHeaders:r}=this,I=e?.rawHeaders,Q=r==="raw"?o.parseRawHeaders(I):n;if(t<200){this.onInfo&&this.onInfo({statusCode:t,headers:Q});return}if(this.factory=null,p===null)return;const E=this.runInAsyncScope(p,null,{statusCode:t,headers:Q,opaque:y,context:l});if(!E||typeof E.write!="function"||typeof E.end!="function"||typeof E.on!="function")throw new N("expected Writable");h(E,(w,F)=>{const{callback:U,res:S,opaque:m,trailers:b,abort:M}=this;this.res=null,(w||!S?.readable)&&o.destroy(S,F?void 0:w),this.callback=null,this.runInAsyncScope(U,null,w||null,{opaque:m,trailers:b}),w&&M(w)}),E.on("drain",()=>e.resume()),this.res=E,(E.writableNeedDrain!==void 0?E.writableNeedDrain:E._writableState?.needDrain)===!0&&e.pause()}onResponseData(e,t){const{res:n}=this;n&&n.write(t)===!1&&e.pause()}onResponseEnd(e,t){const{res:n}=this;g(this),n&&(t&&typeof t=="object"&&(this.trailers=t),n.end())}onResponseError(e,t){const{res:n,callback:i,opaque:p,body:y}=this;g(this),this.factory=null,n?(this.res=null,o.destroy(n,t)):i&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(i,null,t,{opaque:p})})),y&&(this.body=null,o.destroy(y,t))}}function a(s,e,t){if(t===void 0)return new Promise((n,i)=>{a.call(this,s,e,(p,y)=>p?i(p):n(y))});try{const n=new c(s,e,t);this.dispatch(s,n)}catch(n){if(typeof t!="function")throw n;const i=s?.opaque;queueMicrotask(()=>t(n,{opaque:i}))}}return ur=a,ur}var dr,ko;function Vi(){if(ko)return dr;ko=1;const{Readable:A,Duplex:u,PassThrough:d}=Ce,N=qA,{AsyncResource:o}=tt,{InvalidArgumentError:C,InvalidReturnValueError:g,RequestAbortedError:B}=MA(),f=LA(),{kBodyUsed:D}=jA(),{addSignal:h,removeSignal:c}=dt();function a(){}const s=Symbol("resume");class e extends A{constructor(){super({autoDestroy:!0}),this[s]=null,this[D]=!0}_read(){const{[s]:y}=this;y&&(this[s]=null,y())}_destroy(y,l){this._read(),l(y)}}class t extends A{constructor(y){super({autoDestroy:!0}),this[s]=y}_read(){this[s]()}_destroy(y,l){!y&&!this._readableState.endEmitted&&(y=new B),l(y)}}class n extends o{constructor(y,l){if(!y||typeof y!="object")throw new C("invalid opts");if(typeof l!="function")throw new C("invalid handler");const{signal:r,method:I,opaque:Q,onInfo:E,responseHeaders:w}=y;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new C("signal must be an EventEmitter or EventTarget");if(I==="CONNECT")throw new C("invalid method");if(E&&typeof E!="function")throw new C("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=Q||null,this.responseHeaders=w||null,this.handler=l,this.abort=null,this.context=null,this.onInfo=E||null,this.req=new e().on("error",a),this.ret=new u({readableObjectMode:y.objectMode,autoDestroy:!0,read:()=>{const{body:F}=this;F?.resume&&F.resume()},write:(F,U,S)=>{const{req:m}=this;m.push(F,U)||m._readableState.destroyed?S():m[s]=S},destroy:(F,U)=>{const{body:S,req:m,res:b,ret:M,abort:Y}=this;!F&&!M._readableState.endEmitted&&(F=new B),Y&&F&&Y(),f.destroy(S,F),f.destroy(m,F),f.destroy(b,F),c(this),U(F)}}).on("prefinish",()=>{const{req:F}=this;F.push(null)}),this.res=null,h(this,r)}onRequestStart(y,l){const{res:r}=this;if(this.reason){y.abort(this.reason);return}N(!r,"pipeline cannot be retried"),this.abort=I=>y.abort(I),this.context=l}onResponseStart(y,l,r,I){const{opaque:Q,handler:E,context:w}=this;if(l<200){if(this.onInfo){const U=y?.rawHeaders,S=this.responseHeaders==="raw"?f.parseRawHeaders(U):r;this.onInfo({statusCode:l,headers:S})}return}this.res=new t(()=>y.resume());let F;try{this.handler=null;const U=y?.rawHeaders,S=this.responseHeaders==="raw"?f.parseRawHeaders(U):r;F=this.runInAsyncScope(E,null,{statusCode:l,headers:S,opaque:Q,body:this.res,context:w})}catch(U){throw this.res.on("error",a),U}if(!F||typeof F.on!="function")throw new g("expected Readable");F.on("data",U=>{const{ret:S,body:m}=this;!S.push(U)&&m.pause&&m.pause()}).on("error",U=>{const{ret:S}=this;f.destroy(S,U)}).on("end",()=>{const{ret:U}=this;U.push(null)}).on("close",()=>{const{ret:U}=this;U._readableState.ended||f.destroy(U,new B)}),this.body=F}onResponseData(y,l){const{res:r}=this;r.push(l)===!1&&y.pause()}onResponseEnd(y,l){const{res:r}=this;r.push(null)}onResponseError(y,l){const{ret:r}=this;this.handler=null,f.destroy(r,l)}}function i(p,y){try{const l=new n(p,y);return this.dispatch({...p,body:l.req},l),l.ret}catch(l){return new d().destroy(l)}}return dr=i,dr}var fr,bo;function Oi(){if(bo)return fr;bo=1;const{InvalidArgumentError:A,SocketError:u}=MA(),{AsyncResource:d}=tt,N=qA,o=LA(),{kHTTP2Stream:C}=jA(),{addSignal:g,removeSignal:B}=dt();class f extends d{constructor(c,a){if(!c||typeof c!="object")throw new A("invalid opts");if(typeof a!="function")throw new A("invalid callback");const{signal:s,opaque:e,responseHeaders:t}=c;if(s&&typeof s.on!="function"&&typeof s.addEventListener!="function")throw new A("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=t||null,this.opaque=e||null,this.callback=a,this.abort=null,this.context=null,g(this,s)}onRequestStart(c,a){if(this.reason){c.abort(this.reason);return}N(this.callback),this.abort=s=>c.abort(s),this.context=a}onResponseStart(){throw new u("bad upgrade",null)}onRequestUpgrade(c,a,s,e){const t=e[C]===!0?200:101;if(a!==t){const r=e[C]===!0?null:o.getSocketInfo(e);c.abort(new u("bad upgrade",r));return}const{callback:n,opaque:i,context:p}=this;B(this),this.callback=null;const y=c?.rawHeaders,l=this.responseHeaders==="raw"?o.parseRawHeaders(y):s;this.runInAsyncScope(n,null,null,{headers:l,socket:e,opaque:i,context:p})}onResponseError(c,a){const{callback:s,opaque:e}=this;B(this),s&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(s,null,a,{opaque:e})}))}}function D(h,c){if(c===void 0)return new Promise((a,s)=>{D.call(this,h,(e,t)=>e?s(e):a(t))});try{const a=new f(h,c),s={...h,method:h.method||"GET",upgrade:h.protocol||"Websocket"};this.dispatch(s,a)}catch(a){if(typeof c!="function")throw a;const s=h?.opaque;queueMicrotask(()=>c(a,{opaque:s}))}}return fr=D,fr}var yr,Mo;function Ji(){if(Mo)return yr;Mo=1;const A=qA,{AsyncResource:u}=tt,{InvalidArgumentError:d,SocketError:N}=MA(),o=LA(),{addSignal:C,removeSignal:g}=dt();class B extends u{constructor(h,c){if(!h||typeof h!="object")throw new d("invalid opts");if(typeof c!="function")throw new d("invalid callback");const{signal:a,opaque:s,responseHeaders:e}=h;if(a&&typeof a.on!="function"&&typeof a.addEventListener!="function")throw new d("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=s||null,this.responseHeaders=e||null,this.callback=c,this.abort=null,C(this,a)}onRequestStart(h,c){if(this.reason){h.abort(this.reason);return}A(this.callback),this.abort=a=>h.abort(a),this.context=c}onResponseStart(){throw new N("bad connect",null)}onRequestUpgrade(h,c,a,s){const{callback:e,opaque:t,context:n}=this;g(this),this.callback=null;let i=a;const p=h?.rawHeaders;i!=null&&(i=this.responseHeaders==="raw"?o.parseRawHeaders(p):a),this.runInAsyncScope(e,null,null,{statusCode:c,headers:i,socket:s,opaque:t,context:n})}onResponseError(h,c){const{callback:a,opaque:s}=this;g(this),a&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(a,null,c,{opaque:s})}))}}function f(D,h){if(h===void 0)return new Promise((c,a)=>{f.call(this,D,(s,e)=>s?a(s):c(e))});try{const c=new B(D,h),a={...D,method:"CONNECT"};this.dispatch(a,c)}catch(c){if(typeof h!="function")throw c;const a=D?.opaque;queueMicrotask(()=>h(c,{opaque:a}))}}return yr=f,yr}var To;function xi(){return To||(To=1,Le.request=vi(),Le.stream=Gi(),Le.pipeline=Vi(),Le.upgrade=Oi(),Le.connect=Ji()),Le}var Dr,Lo;function Zn(){if(Lo)return Dr;Lo=1;const{UndiciError:A}=MA(),u=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");class d extends A{constructor(o){super(o),this.name="MockNotMatchedError",this.message=o||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}static[Symbol.hasInstance](o){return o&&o[u]===!0}get[u](){return!0}}return Dr={MockNotMatchedError:d},Dr}var pr,Ho;function _e(){return Ho||(Ho=1,pr={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOriginalDispatch:Symbol("original dispatch"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected"),kIgnoreTrailingSlash:Symbol("ignore trailing slash"),kMockAgentMockCallHistoryInstance:Symbol("mock agent mock call history name"),kMockAgentRegisterCallHistory:Symbol("mock agent register mock call history"),kMockAgentAddCallHistoryLog:Symbol("mock agent add call history log"),kMockAgentIsCallHistoryEnabled:Symbol("mock agent is call history enabled"),kMockAgentAcceptsNonStandardSearchParameters:Symbol("mock agent accepts non standard search parameters"),kMockCallHistoryAddLog:Symbol("mock call history add log"),kTotalDispatchCount:Symbol("total dispatch count")}),pr}var Rr,Yo;function ft(){if(Yo)return Rr;Yo=1;const{MockNotMatchedError:A}=Zn(),{kDispatches:u,kMockAgent:d,kOriginalDispatch:N,kOrigin:o,kGetNetConnect:C,kTotalDispatchCount:g}=_e(),{serializePathWithQuery:B,parseHeaders:f}=LA(),{STATUS_CODES:D}=Bt,{types:{isPromise:h}}=Se,{InvalidArgumentError:c}=MA();function a(k,T){return typeof k=="string"?k===T:k instanceof RegExp?k.test(T):typeof k=="function"?k(T)===!0:!1}function s(k){return Object.fromEntries(Object.entries(k).map(([T,x])=>[T.toLocaleLowerCase(),x]))}function e(k,T){if(Array.isArray(k)){for(let x=0;x<k.length;x+=2)if(k[x].toLocaleLowerCase()===T.toLocaleLowerCase())return k[x+1];return}else return typeof k.get=="function"?k.get(T):s(k)[T.toLocaleLowerCase()]}function t(k){const T=k.slice(),x=[];for(let z=0;z<T.length;z+=2)x.push([T[z],T[z+1]]);return Object.fromEntries(x)}function n(k,T){if(typeof k.headers=="function")return Array.isArray(T)&&(T=t(T)),k.headers(T?s(T):{});if(typeof k.headers>"u")return!0;if(typeof T!="object"||typeof k.headers!="object")return!1;for(const[x,z]of Object.entries(k.headers)){const gA=e(T,x);if(!a(z,gA))return!1}return!0}function i(k){if(typeof k!="string")return k;const T=new URLSearchParams(k),x=new URLSearchParams;for(let[z,gA]of T.entries()){if(z=z.replace("[]",""),/^(['"]).*\1$/.test(gA)){x.append(z,gA);continue}if(gA.includes(",")){const QA=gA.split(",");for(const tA of QA)x.append(z,tA);continue}x.append(z,gA)}return x}function p(k){if(typeof k!="string")return k;const T=k.split("?",3);if(T.length!==2)return k;const x=new URLSearchParams(T.pop());return x.sort(),[...T,x.toString()].join("?")}function y(k,{path:T,method:x,body:z,headers:gA}){const QA=a(k.path,T),tA=a(k.method,x),DA=typeof k.body<"u"?a(k.body,z):!0,nA=n(k,gA);return QA&&tA&&DA&&nA}function l(k){return Buffer.isBuffer(k)||k instanceof Uint8Array||k instanceof ArrayBuffer?k:typeof k=="object"?JSON.stringify(k):k?k.toString():""}function r(k,T){const x=T.query?B(T.path,T.query):T.path,z=typeof x=="string"?p(x):x,gA=E(z);let QA=k.filter(({consumed:tA})=>!tA).filter(({path:tA,ignoreTrailingSlash:DA})=>DA?a(E(p(tA)),gA):a(p(tA),z));if(QA.length===0)throw new A(`Mock dispatch not matched for path '${z}'`);if(QA=QA.filter(({method:tA})=>a(tA,T.method)),QA.length===0)throw new A(`Mock dispatch not matched for method '${T.method}' on path '${z}'`);if(QA=QA.filter(({body:tA})=>typeof tA<"u"?a(tA,T.body):!0),QA.length===0)throw new A(`Mock dispatch not matched for body '${T.body}' on path '${z}'`);if(QA=QA.filter(tA=>n(tA,T.headers)),QA.length===0){const tA=typeof T.headers=="object"?JSON.stringify(T.headers):T.headers;throw new A(`Mock dispatch not matched for headers '${tA}' on path '${z}'`)}return QA[0]}function I(k,T,x,z){const gA={timesInvoked:0,times:1,persist:!1,consumed:!1,...z},QA=typeof x=="function"?{callback:x}:{...x},tA={...gA,...T,pending:!0,data:{error:null,...QA}};return k.push(tA),k[g]=(k[g]||0)+1,tA}function Q(k,T){const x=k.findIndex(z=>z.consumed?y(z,T):!1);x!==-1&&k.splice(x,1)}function E(k){for(;k.endsWith("/");)k=k.slice(0,-1);return k.length===0&&(k="/"),k}function w(k){const{path:T,method:x,body:z,headers:gA,query:QA}=k;return{path:T,method:x,body:z,headers:gA,query:QA}}function F(k){const T=Object.keys(k),x=[];for(let z=0;z<T.length;++z){const gA=T[z],QA=k[gA],tA=Buffer.from(`${gA}`);if(Array.isArray(QA))for(let DA=0;DA<QA.length;++DA)x.push(tA,Buffer.from(`${QA[DA]}`));else x.push(tA,Buffer.from(`${QA}`))}return x}function U(k){return D[k]||"unknown"}async function S(k){const T=[];for await(const x of k)T.push(x);return Buffer.concat(T).toString("utf8")}function m(k,T){const x=w(k),z=r(this[u],x);z.timesInvoked++,z.data.callback&&(z.data={...z.data,...z.data.callback(k)});const{data:{statusCode:gA,data:QA,headers:tA,trailers:DA,error:nA},delay:eA,persist:iA}=z,{timesInvoked:CA,times:NA}=z;if(z.consumed=!iA&&CA>=NA,z.pending=CA<NA,nA!==null)return Q(this[u],x),T.onResponseError(null,nA),!0;let hA=!1,kA=null;const xA={paused:!1,rawHeaders:null,rawTrailers:null,pause(){this.paused=!0},resume(){this.paused=!1},abort:AA=>{hA||(hA=!0,kA!==null&&(clearTimeout(kA),kA=null),T.onResponseError?.(xA,AA))}};T.onRequestStart?.(xA,null),typeof eA=="number"&&eA>0?kA=setTimeout(()=>{kA=null,TA(this[u])},eA):TA(this[u]);function TA(AA,G=QA){if(hA)return;const rA=Array.isArray(k.headers)?t(k.headers):k.headers,j=typeof G=="function"?G({...k,headers:rA}):G;if(h(j))return j.then(KA=>TA(AA,KA));if(hA)return;const yA=l(j),RA=F(tA),GA=F(DA);xA.rawHeaders=RA,xA.rawTrailers=GA,T.onResponseStart?.(xA,gA,f(RA),U(gA)),T.onResponseData?.(xA,Buffer.from(yA)),T.onResponseEnd?.(xA,f(GA)),Q(AA,x)}return!0}function b(){const k=this[d],T=this[o],x=this[N];return function(z,gA){if(k.isMockActive)try{m.call(this,z,gA)}catch(QA){if(QA.code==="UND_MOCK_ERR_MOCK_NOT_MATCHED"){const tA=k[C](),DA=this[u][g]||this[u].length,nA=`, ${this[u].filter(({consumed:eA})=>!eA).length} interceptor(s) remaining out of ${DA} defined`;if(tA===!1)throw new A(`${QA.message}: subsequent request to origin ${T} was not allowed (net.connect disabled)${nA}`);if(M(tA,T))x.call(this,"__mockAgentBodyForDispatch"in z?{...z,body:z.__mockAgentBodyForDispatch}:z,gA);else throw new A(`${QA.message}: subsequent request to origin ${T} was not allowed (net.connect is not enabled for this origin)${nA}`)}else throw QA}else x.call(this,z,gA)}}function M(k,T){const x=new URL(T);return k===!0?!0:!!(Array.isArray(k)&&k.some(z=>a(z,x.host)))}function Y(k){return typeof k!="string"&&!(k instanceof URL)?k:k instanceof URL?k.origin:k.toLowerCase()}function V(k){const{agent:T,...x}=k;if("enableCallHistory"in x&&typeof x.enableCallHistory!="boolean")throw new c("options.enableCallHistory must to be a boolean");if("acceptNonStandardSearchParameters"in x&&typeof x.acceptNonStandardSearchParameters!="boolean")throw new c("options.acceptNonStandardSearchParameters must to be a boolean");if("ignoreTrailingSlash"in x&&typeof x.ignoreTrailingSlash!="boolean")throw new c("options.ignoreTrailingSlash must to be a boolean");return x}return Rr={getResponseData:l,getMockDispatch:r,addMockDispatch:I,deleteMockDispatch:Q,buildKey:w,generateKeyValues:F,matchValue:a,getResponse:S,getStatusText:U,mockDispatch:m,buildMockDispatch:b,checkNetConnect:M,buildAndValidateMockOptions:V,getHeaderByName:e,buildHeadersFromArray:t,normalizeSearchParams:i,normalizeOrigin:Y},Rr}var ht={},vo;function Xn(){if(vo)return ht;vo=1;const{getResponseData:A,buildKey:u,addMockDispatch:d}=ft(),{kDispatches:N,kDispatchKey:o,kDefaultHeaders:C,kDefaultTrailers:g,kContentLength:B,kMockDispatch:f,kIgnoreTrailingSlash:D}=_e(),{InvalidArgumentError:h}=MA(),{serializePathWithQuery:c}=LA();class a{constructor(t){this[f]=t}delay(t){if(typeof t!="number"||!Number.isInteger(t)||t<=0)throw new h("waitInMs must be a valid integer > 0");return this[f].delay=t,this}persist(){return this[f].persist=!0,this}times(t){if(typeof t!="number"||!Number.isInteger(t)||t<=0)throw new h("repeatTimes must be a valid integer > 0");return this[f].times=t,this}}class s{constructor(t,n){if(typeof t!="object")throw new h("opts must be an object");if(typeof t.path>"u")throw new h("opts.path must be defined");if(typeof t.method>"u"&&(t.method="GET"),typeof t.path=="string")if(t.query)t.path=c(t.path,t.query);else{const i=new URL(t.path,"data://");t.path=i.pathname+i.search}typeof t.method=="string"&&(t.method=t.method.toUpperCase()),this[o]=u(t),this[N]=n,this[D]=t.ignoreTrailingSlash??!1,this[C]={},this[g]={},this[B]=!1}createMockScopeDispatchData({statusCode:t,data:n,responseOptions:i}){const p=A(n),y=this[B]?{"content-length":p.length}:{},l={...this[C],...y,...i.headers},r={...this[g],...i.trailers};return{statusCode:t,data:n,headers:l,trailers:r}}validateReplyParameters(t){if(typeof t.statusCode>"u")throw new h("statusCode must be defined");if(typeof t.responseOptions!="object"||t.responseOptions===null)throw new h("responseOptions must be an object")}reply(t){if(typeof t=="function"){const y=r=>{const I=t(r);if(typeof I!="object"||I===null)throw new h("reply options callback must return an object");const Q={data:"",responseOptions:{},...I};return this.validateReplyParameters(Q),{...this.createMockScopeDispatchData(Q)}},l=d(this[N],this[o],y,{ignoreTrailingSlash:this[D]});return new a(l)}const n={statusCode:t,data:arguments[1]===void 0?"":arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(n);const i=this.createMockScopeDispatchData(n),p=d(this[N],this[o],i,{ignoreTrailingSlash:this[D]});return new a(p)}replyWithError(t){if(typeof t>"u")throw new h("error must be defined");const n=d(this[N],this[o],{error:t},{ignoreTrailingSlash:this[D]});return new a(n)}defaultReplyHeaders(t){if(typeof t>"u")throw new h("headers must be defined");return this[C]=t,this}defaultReplyTrailers(t){if(typeof t>"u")throw new h("trailers must be defined");return this[g]=t,this}replyContentLength(){return this[B]=!0,this}}return ht.MockInterceptor=s,ht.MockScope=a,ht}var Sr,Go;function Kn(){if(Go)return Sr;Go=1;const{promisify:A}=Se,u=Ye(),{buildMockDispatch:d}=ft(),{kDispatches:N,kMockAgent:o,kClose:C,kOriginalClose:g,kOrigin:B,kOriginalDispatch:f,kConnected:D,kIgnoreTrailingSlash:h}=_e(),{MockInterceptor:c}=Xn(),a=jA(),{InvalidArgumentError:s}=MA();class e extends u{constructor(n,i){if(!i||!i.agent||typeof i.agent.dispatch!="function")throw new s("Argument opts.agent must implement Agent");super(n,i),this[o]=i.agent,this[B]=n,this[h]=i.ignoreTrailingSlash??!1,this[N]=[],this[D]=1,this[f]=this.dispatch,this[g]=this.close.bind(this),this.dispatch=d.call(this),this.close=this[C]}get[a.kConnected](){return this[D]}intercept(n){return new c(n&&{ignoreTrailingSlash:this[h],...n},this[N])}cleanMocks(){this[N]=[]}async[C](){await A(this[g])(),this[D]=0,this[o][a.kClients].delete(this[B])}}return Sr=e,Sr}var It={},Vo;function zn(){if(Vo)return It;Vo=1;const{kMockCallHistoryAddLog:A}=_e(),{InvalidArgumentError:u}=MA();function d(f,D,h,c,a){switch(D.operator){case"OR":return c.push(...h(f,a)),c;case"AND":return h(f,c);default:throw new u("options.operator must to be a case insensitive string equal to 'OR' or 'AND'")}}function N(f={}){const D={};if("operator"in f){if(typeof f.operator!="string"||f.operator.toUpperCase()!=="OR"&&f.operator.toUpperCase()!=="AND")throw new u("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");return{...D,operator:f.operator.toUpperCase()}}return D}function o(f){return(D,h=this.logs)=>{if(typeof D=="string"||D==null)return h.filter(c=>c[f]===D);if(D instanceof RegExp)return h.filter(c=>D.test(c[f]));throw new u(`${f} parameter should be one of string, regexp, undefined or null`)}}function C(f){try{const D=new URL(f.path,f.origin);return D.search.length!==0||(D.search=new URLSearchParams(f.query).toString()),D}catch(D){throw new u("An error occurred when computing MockCallHistoryLog.url",{cause:D})}}class g{constructor(D={}){this.body=D.body,this.headers=D.headers,this.method=D.method;const h=C(D);this.fullUrl=h.toString(),this.origin=h.origin,this.path=h.pathname,this.searchParams=Object.fromEntries(h.searchParams),this.protocol=h.protocol,this.host=h.host,this.port=h.port,this.hash=h.hash}toMap(){return new Map([["protocol",this.protocol],["host",this.host],["port",this.port],["origin",this.origin],["path",this.path],["hash",this.hash],["searchParams",this.searchParams],["fullUrl",this.fullUrl],["method",this.method],["body",this.body],["headers",this.headers]])}toString(){const D={betweenKeyValueSeparator:"->",betweenPairSeparator:"|"};let h="";return this.toMap().forEach((c,a)=>{(typeof c=="string"||c===void 0||c===null)&&(h=`${h}${a}${D.betweenKeyValueSeparator}${c}${D.betweenPairSeparator}`),(typeof c=="object"&&c!==null||Array.isArray(c))&&(h=`${h}${a}${D.betweenKeyValueSeparator}${JSON.stringify(c)}${D.betweenPairSeparator}`)}),h.slice(0,-1)}}class B{logs=[];calls(){return this.logs}firstCall(){return this.logs.at(0)}lastCall(){return this.logs.at(-1)}nthCall(D){if(typeof D!="number")throw new u("nthCall must be called with a number");if(!Number.isInteger(D))throw new u("nthCall must be called with an integer");if(Math.sign(D)!==1)throw new u("nthCall must be called with a positive value. use firstCall or lastCall instead");return this.logs.at(D-1)}filterCalls(D,h){if(this.logs.length===0)return this.logs;if(typeof D=="function")return this.logs.filter(D);if(D instanceof RegExp)return this.logs.filter(c=>D.test(c.toString()));if(typeof D=="object"&&D!==null){if(Object.keys(D).length===0)return this.logs;const c={operator:"OR",...N(h)};let a=c.operator==="AND"?this.logs:[];return"protocol"in D&&(a=d(D.protocol,c,this.filterCallsByProtocol,a,this.logs)),"host"in D&&(a=d(D.host,c,this.filterCallsByHost,a,this.logs)),"port"in D&&(a=d(D.port,c,this.filterCallsByPort,a,this.logs)),"origin"in D&&(a=d(D.origin,c,this.filterCallsByOrigin,a,this.logs)),"path"in D&&(a=d(D.path,c,this.filterCallsByPath,a,this.logs)),"hash"in D&&(a=d(D.hash,c,this.filterCallsByHash,a,this.logs)),"fullUrl"in D&&(a=d(D.fullUrl,c,this.filterCallsByFullUrl,a,this.logs)),"method"in D&&(a=d(D.method,c,this.filterCallsByMethod,a,this.logs)),[...new Set(a)]}throw new u("criteria parameter should be one of function, regexp, or object")}filterCallsByProtocol=o.call(this,"protocol");filterCallsByHost=o.call(this,"host");filterCallsByPort=o.call(this,"port");filterCallsByOrigin=o.call(this,"origin");filterCallsByPath=o.call(this,"path");filterCallsByHash=o.call(this,"hash");filterCallsByFullUrl=o.call(this,"fullUrl");filterCallsByMethod=o.call(this,"method");clear(){this.logs=[]}[A](D){const h=new g(D);return this.logs.push(h),h}*[Symbol.iterator](){for(const D of this.calls())yield D}}return It.MockCallHistory=B,It.MockCallHistoryLog=g,It}var wr,Oo;function jn(){if(Oo)return wr;Oo=1;const{promisify:A}=Se,u=qe(),{buildMockDispatch:d}=ft(),{kDispatches:N,kMockAgent:o,kClose:C,kOriginalClose:g,kOrigin:B,kOriginalDispatch:f,kConnected:D,kIgnoreTrailingSlash:h}=_e(),{MockInterceptor:c}=Xn(),a=jA(),{InvalidArgumentError:s}=MA();class e extends u{constructor(n,i){if(!i||!i.agent||typeof i.agent.dispatch!="function")throw new s("Argument opts.agent must implement Agent");super(n,i),this[o]=i.agent,this[B]=n,this[h]=i.ignoreTrailingSlash??!1,this[N]=[],this[D]=1,this[f]=this.dispatch,this[g]=this.close.bind(this),this.dispatch=d.call(this),this.close=this[C]}get[a.kConnected](){return this[D]}intercept(n){return new c(n&&{ignoreTrailingSlash:this[h],...n},this[N])}cleanMocks(){this[N]=[]}async[C](){await A(this[g])(),this[D]=0,this[o][a.kClients].delete(this[B])}}return wr=e,wr}var Nr,Jo;function Wi(){if(Jo)return Nr;Jo=1;const{Transform:A}=Ce,{Console:u}=Bi,d=process.versions.icu?"✅":"Y ",N=process.versions.icu?"❌":"N ";return Nr=class{constructor({disableColors:o}={}){this.transform=new A({transform(C,g,B){B(null,C)}}),this.logger=new u({stdout:this.transform,inspectOptions:{colors:!o&&!process.env.CI}})}format(o){const C=o.map(({method:g,path:B,data:{statusCode:f},persist:D,times:h,timesInvoked:c,origin:a})=>({Method:g,Origin:a,Path:B,"Status code":f,Persistent:D?d:N,Invocations:c,Remaining:D?1/0:h-c}));return this.logger.table(C),this.transform.read().toString()}},Nr}var mr,xo;function $n(){if(xo)return mr;xo=1;const{kClients:A}=jA(),u=Pe(),{kAgent:d,kMockAgentSet:N,kMockAgentGet:o,kDispatches:C,kIsMockActive:g,kNetConnect:B,kGetNetConnect:f,kOptions:D,kFactory:h,kMockAgentRegisterCallHistory:c,kMockAgentIsCallHistoryEnabled:a,kMockAgentAddCallHistoryLog:s,kMockAgentMockCallHistoryInstance:e,kMockAgentAcceptsNonStandardSearchParameters:t,kMockCallHistoryAddLog:n,kIgnoreTrailingSlash:i}=_e(),p=Kn(),y=jn(),{matchValue:l,normalizeSearchParams:r,buildAndValidateMockOptions:I,normalizeOrigin:Q}=ft(),{InvalidArgumentError:E,UndiciError:w}=MA(),F=rt(),U=Wi(),{MockCallHistory:S}=zn();class m extends F{constructor(M={}){super(M);const Y=I(M);if(this[B]=!0,this[g]=!0,this[a]=Y.enableCallHistory??!1,this[t]=Y.acceptNonStandardSearchParameters??!1,this[i]=Y.ignoreTrailingSlash??!1,M?.agent&&typeof M.agent.dispatch!="function")throw new E("Argument opts.agent must implement Agent");const V=M?.agent?M.agent:new u(M);this[d]=V,this[A]=V[A],this[D]=Y,this[a]&&this[c]()}get(M){const Y=Q(M),V=this[i]?Y.replace(/\/$/,""):Y;let k=this[o](V);return k||(k=this[h](V),this[N](V,k)),k}dispatch(M,Y){M.origin=Q(M.origin),this.get(M.origin),this[s](M);const V=this[t],k={...M};if(V&&k.path){const[T,x]=k.path.split("?"),z=r(x,V);k.path=`${T}?${z}`}return this[d].dispatch(k,Y)}async close(){this.clearCallHistory(),await this[d].close(),this[A].clear()}deactivate(){this[g]=!1}activate(){this[g]=!0}enableNetConnect(M){if(typeof M=="string"||typeof M=="function"||M instanceof RegExp)Array.isArray(this[B])?this[B].push(M):this[B]=[M];else if(typeof M>"u")this[B]=!0;else throw new E("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[B]=!1}enableCallHistory(){return this[a]=!0,this}disableCallHistory(){return this[a]=!1,this}getCallHistory(){return this[e]}clearCallHistory(){this[e]!==void 0&&this[e].clear()}get isMockActive(){return this[g]}[c](){this[e]===void 0&&(this[e]=new S)}[s](M){this[a]&&(this[c](),this[e][n](M))}[N](M,Y){this[A].set(M,Y)}[h](M){const Y=Object.assign({agent:this},this[D]);return this[D]&&this[D].connections===1?new p(M,Y):new y(M,Y)}[o](M){const Y=this[A].get(M);if(Y)return Y;if(typeof M!="string"){const V=this[h]("http://localhost:9999");return this[N](M,V),V}for(const[V,k]of Array.from(this[A]))if(k&&typeof V!="string"&&l(V,M)){const T=this[h](M);return this[N](M,T),T[C]=k[C],T}}[f](){return this[B]}pendingInterceptors(){const M=this[A];return Array.from(M.entries()).flatMap(([Y,V])=>V[C].map(k=>({...k,origin:Y}))).filter(({pending:Y})=>Y)}assertNoPendingInterceptors({pendingInterceptorsFormatter:M=new U}={}){const Y=this.pendingInterceptors();if(Y.length!==0)throw new w(Y.length===1?`1 interceptor is pending:
44
-
45
- ${M.format(Y)}`.trim():`${Y.length} interceptors are pending:
46
-
47
- ${M.format(Y)}`.trim())}}return mr=m,mr}var Fr,Wo;function Ai(){if(Wo)return Fr;Wo=1;const{InvalidArgumentError:A}=MA(),{runtimeFeatures:u}=st();function d(h={}){const{ignoreHeaders:c=[],excludeHeaders:a=[],matchHeaders:s=[],caseSensitive:e=!1}=h;return{ignore:new Set(c.map(t=>e?t:t.toLowerCase())),exclude:new Set(a.map(t=>e?t:t.toLowerCase())),match:new Set(s.map(t=>e?t:t.toLowerCase()))}}const N=u.has("crypto")?Je:null,o=N?.hash?h=>N.hash("sha256",h,"base64url"):h=>Buffer.from(h).toString("base64url");function C(h){return Array.isArray(h)&&(h.length&1)===0}function g(h=[]){return h.length===0?()=>!1:function(c){let a;for(const s of h)if(typeof s=="string"){if(a||(a=c.toLowerCase()),a.includes(s.toLowerCase()))return!0}else if(s instanceof RegExp&&s.test(c))return!0;return!1}}function B(h){const c={};if(!h)return c;if(C(h)){for(let a=0;a<h.length;a+=2){const s=h[a],e=h[a+1];if(s&&e!==void 0){const t=Buffer.isBuffer(s)?s.toString():s,n=Buffer.isBuffer(e)?e.toString():e;c[t.toLowerCase()]=n}}return c}if(h&&typeof h=="object")for(const[a,s]of Object.entries(h))a&&typeof a=="string"&&(c[a.toLowerCase()]=Array.isArray(s)?s.join(", "):String(s));return c}const f=["record","playback","update"];function D(h){if(!f.includes(h))throw new A(`Invalid snapshot mode: ${h}. Must be one of: ${f.join(", ")}`)}return Fr={createHeaderFilters:d,hashId:o,isUndiciHeaders:C,normalizeHeaders:B,isUrlExcludedFactory:g,validateSnapshotMode:D},Fr}var Ur,qo;function qi(){if(qo)return Ur;qo=1;const{writeFile:A,readFile:u,mkdir:d}=Ci,{dirname:N,resolve:o}=ui,{setTimeout:C,clearTimeout:g}=di,{InvalidArgumentError:B,UndiciError:f}=MA(),{hashId:D,isUrlExcludedFactory:h,normalizeHeaders:c,createHeaderFilters:a}=Ai();function s(l,r,I){if(r===!1)return`${l.origin}${l.pathname}`;if(I){const Q=String(I(l.searchParams)??"");return Q?`${l.origin}${l.pathname}?${Q}`:`${l.origin}${l.pathname}`}return l.toString()}function e(l,r,I){return r===!1?"":I?String(I(l)??""):l?String(l):""}function t(l,r,I={}){const Q=new URL(l.path,l.origin),E=l._normalizedHeaders||c(l.headers);return l._normalizedHeaders||(l._normalizedHeaders=E),{method:l.method||"GET",url:s(Q,I.matchQuery,I.normalizeQuery),headers:n(E,r,I),body:e(l.body,I.matchBody,I.normalizeBody)}}function n(l,r,I={}){if(!l||typeof l!="object")return{};const{caseSensitive:Q=!1}=I,E={},{ignore:w,exclude:F,match:U}=r;for(const[S,m]of Object.entries(l)){const b=Q?S:S.toLowerCase();F.has(b)||w.has(b)||U.size!==0&&!U.has(b)||(E[b]=m)}return E}function i(l,r,I={}){if(!l||typeof l!="object")return{};const{caseSensitive:Q=!1}=I,E={},{exclude:w}=r;for(const[F,U]of Object.entries(l)){const S=Q?F:F.toLowerCase();w.has(S)||(E[S]=U)}return E}function p(l){const r=[l.method,l.url];if(l.headers&&typeof l.headers=="object"){const Q=Object.keys(l.headers).sort();for(const E of Q){const w=Array.isArray(l.headers[E])?l.headers[E]:[l.headers[E]];r.push(E);for(const F of w.sort())r.push(String(F))}}r.push(l.body);const I=r.join("|");return D(I)}class y{#A;#e;#t=new Map;#s;#o=1/0;#r=!1;#a;constructor(r={}){this.#s=r.snapshotPath,this.#o=r.maxSnapshots||1/0,this.#r=r.autoFlush||!1,this.flushInterval=r.flushInterval||3e4,this._flushTimer=null,this.matchOptions={matchHeaders:r.matchHeaders||[],ignoreHeaders:r.ignoreHeaders||[],excludeHeaders:r.excludeHeaders||[],matchBody:r.matchBody!==!1,normalizeBody:r.normalizeBody||void 0,matchQuery:r.matchQuery!==!1,normalizeQuery:r.normalizeQuery||void 0,caseSensitive:r.caseSensitive||!1},this.#a=a(this.matchOptions),this.shouldRecord=r.shouldRecord||(()=>!0),this.shouldPlayback=r.shouldPlayback||(()=>!0),this.#e=h(r.excludeUrls),this.#r&&this.#s&&this.#n()}async record(r,I){if(!this.shouldRecord(r)||this.isUrlExcluded(r))return;const Q=t(r,this.#a,this.matchOptions),E=p(Q),w=c(I.headers),F={statusCode:I.statusCode,headers:i(w,this.#a,this.matchOptions),body:Buffer.isBuffer(I.body)?I.body.toString("base64"):Buffer.from(String(I.body||"")).toString("base64"),trailers:I.trailers};if(this.#t.size>=this.#o&&!this.#t.has(E)){const S=this.#t.keys().next().value;this.#t.delete(S)}const U=this.#t.get(E);U&&U.responses?(U.responses.push(F),U.timestamp=new Date().toISOString()):this.#t.set(E,{request:Q,responses:[F],callCount:0,timestamp:new Date().toISOString()}),this.#r&&this.#s&&this.#g()}isUrlExcluded(r){const I=new URL(r.path,r.origin).toString();return this.#e(I)}findSnapshot(r){if(!this.shouldPlayback(r)||this.isUrlExcluded(r))return;const I=t(r,this.#a,this.matchOptions),Q=p(I),E=this.#t.get(Q);if(!E)return;const w=E.callCount||0,F=Math.min(w,E.responses.length-1);return E.callCount=w+1,{...E,response:E.responses[F]}}async loadSnapshots(r){const I=r||this.#s;if(!I)throw new B("Snapshot path is required");try{const Q=await u(o(I),"utf8"),E=JSON.parse(Q);if(Array.isArray(E)){this.#t.clear();for(const{hash:w,snapshot:F}of E)this.#t.set(w,F)}else this.#t=new Map(Object.entries(E))}catch(Q){if(Q.code==="ENOENT")this.#t.clear();else throw new f(`Failed to load snapshots from ${I}`,{cause:Q})}}async saveSnapshots(r){const I=r||this.#s;if(!I)throw new B("Snapshot path is required");const Q=o(I);await d(N(Q),{recursive:!0});const E=Array.from(this.#t.entries()).map(([w,F])=>({hash:w,snapshot:F}));await A(Q,JSON.stringify(E,null,2),{flush:!0})}clear(){this.#t.clear()}getSnapshots(){return Array.from(this.#t.values())}size(){return this.#t.size}resetCallCounts(){for(const r of this.#t.values())r.callCount=0}deleteSnapshot(r){const I=t(r,this.#a,this.matchOptions),Q=p(I);return this.#t.delete(Q)}getSnapshotInfo(r){const I=t(r,this.#a,this.matchOptions),Q=p(I),E=this.#t.get(Q);return E?{hash:Q,request:E.request,responseCount:E.responses?E.responses.length:E.response?1:0,callCount:E.callCount||0,timestamp:E.timestamp}:null}replaceSnapshots(r){if(this.#t.clear(),Array.isArray(r))for(const{hash:I,snapshot:Q}of r)this.#t.set(I,Q);else r&&typeof r=="object"&&(this.#t=new Map(Object.entries(r)))}#n(){return this.#g()}#i(){this.#A&&(g(this.#A),this.saveSnapshots().catch(()=>{}),this.#A=null)}#g(){this.#A=C(()=>{this.saveSnapshots().catch(()=>{}),this.#r?this.#A?.refresh():this.#A=null},1e3)}destroy(){this.#i(),this.#A&&(g(this.#A),this.#A=null)}async close(){this.#s&&this.#t.size!==0&&await this.saveSnapshots(),this.destroy()}}return Ur={SnapshotRecorder:y,formatRequestKey:t,createRequestHash:p,filterHeadersForMatching:n,filterHeadersForStorage:i,createHeaderFilters:a},Ur}var kr,Po;function Pi(){if(Po)return kr;Po=1;const A=Pe(),u=$n(),{SnapshotRecorder:d}=qi(),{InvalidArgumentError:N,UndiciError:o}=MA(),C=LA(),{validateSnapshotMode:g}=Ai(),B=Symbol("kSnapshotRecorder"),f=Symbol("kSnapshotMode"),D=Symbol("kSnapshotPath"),h=Symbol("kSnapshotLoaded"),c=Symbol("kRealAgent");let a=!1;class s extends u{constructor(t={}){a||(process.emitWarning("SnapshotAgent is experimental and subject to change","ExperimentalWarning"),a=!0);const{mode:n="record",snapshotPath:i=null,...p}=t;if(super(p),g(n),(n==="playback"||n==="update")&&!i)throw new N(`snapshotPath is required when mode is '${n}'`);this[f]=n,this[D]=i,this[B]=new d({snapshotPath:this[D],mode:this[f],maxSnapshots:t.maxSnapshots,autoFlush:t.autoFlush,flushInterval:t.flushInterval,matchHeaders:t.matchHeaders,ignoreHeaders:t.ignoreHeaders,excludeHeaders:t.excludeHeaders,matchBody:t.matchBody,normalizeBody:t.normalizeBody,matchQuery:t.matchQuery,normalizeQuery:t.normalizeQuery,caseSensitive:t.caseSensitive,shouldRecord:t.shouldRecord,shouldPlayback:t.shouldPlayback,excludeUrls:t.excludeUrls}),this[h]=!1,(this[f]==="record"||this[f]==="update"||this[f]==="playback"&&t.excludeUrls&&t.excludeUrls.length>0)&&(this[c]=new A(t)),(this[f]==="playback"||this[f]==="update")&&this[D]&&this.loadSnapshots().catch(()=>{})}dispatch(t,n){const i=this[f];if(this[B].isUrlExcluded(t))return this[c].dispatch(t,n);if(i==="playback"||i==="update"){if(!this[h])return this.#A(t,n);const p=this[B].findSnapshot(t);if(p)return this.#t(p,n);if(i==="update")return this.#e(t,n);{const y=new o(`No snapshot found for ${t.method||"GET"} ${t.path}`);if(n.onResponseError){n.onResponseError(null,y);return}throw y}}else if(i==="record")return this.#e(t,n)}async#A(t,n){return await this.loadSnapshots(),this.dispatch(t,n)}#e(t,n){const i={statusCode:null,headers:{},trailers:{},body:[]},p=this,y={onRequestStart(l,r){return n.onRequestStart(l,{...r,history:this.history})},onRequestUpgrade(l,r,I,Q){return n.onRequestUpgrade(l,r,I,Q)},onResponseStart(l,r,I,Q){return i.statusCode=r,i.headers=I,n.onResponseStart(l,r,I,Q)},onResponseData(l,r){return i.body.push(r),n.onResponseData(l,r)},onResponseEnd(l,r){i.trailers=r;const I=Buffer.concat(i.body);p[B].record(t,{statusCode:i.statusCode,headers:i.headers,body:I,trailers:i.trailers}).then(()=>n.onResponseEnd(l,r)).catch(Q=>n.onResponseError(l,Q))},onResponseError(l,r){return n.onResponseError(l,r)}};return this[c].dispatch(t,y)}#t(t,n){try{const{response:i}=t,p=i.headers?C.toRawHeaders(i.headers):[],y=i.trailers?C.toRawHeaders(i.trailers):[],l={rawHeaders:p,rawTrailers:y,pause(){},resume(){},abort(I){this.aborted=!0,this.reason=I},aborted:!1,paused:!1};n.onRequestStart(l),n.onResponseStart(l,i.statusCode,i.headers,i.statusMessage);const r=Buffer.from(i.body,"base64");n.onResponseData(l,r),n.onResponseEnd(l,i.trailers)}catch(i){n.onResponseError?.(null,i)}}async loadSnapshots(t){await this[B].loadSnapshots(t||this[D]),this[h]=!0,this[f]==="playback"&&this.#s()}async saveSnapshots(t){return this[B].saveSnapshots(t||this[D])}#s(){for(const t of this[B].getSnapshots()){const{request:n,responses:i,response:p}=t,y=new URL(n.url),l=this.get(y.origin),r=i?i[0]:p;r&&l.intercept({path:y.pathname+y.search,method:n.method,headers:n.headers,body:n.body}).reply(r.statusCode,r.body,{headers:r.headers,trailers:r.trailers}).persist()}}getRecorder(){return this[B]}getMode(){return this[f]}clearSnapshots(){this[B].clear()}resetCallCounts(){this[B].resetCallCounts()}deleteSnapshot(t){return this[B].deleteSnapshot(t)}getSnapshotInfo(t){return this[B].getSnapshotInfo(t)}replaceSnapshots(t){this[B].replaceSnapshots(t)}async close(){this[f]==="playback"?this[B].destroy():await this[B].close(),await this[c]?.close(),await super.close()}}return kr=s,kr}var br,_o;function ms(){if(_o)return br;_o=1;const A=Symbol.for("undici.globalDispatcher.2"),u=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:d}=MA(),N=Pe(),o=qn();g()===void 0&&C(new N);function C(f){if(!f||typeof f.dispatch!="function")throw new d("Argument agent must implement Agent");Object.defineProperty(globalThis,A,{value:f,writable:!0,enumerable:!1,configurable:!1});const D=f instanceof o?f:new o(f);Object.defineProperty(globalThis,u,{value:D,writable:!0,enumerable:!1,configurable:!1})}function g(){return globalThis[A]}return br={setGlobalDispatcher:C,getGlobalDispatcher:g,installedExports:["fetch","Headers","Response","Request","FormData","WebSocket","CloseEvent","ErrorEvent","MessageEvent","EventSource"]},br}var Mr,Zo;function nt(){if(Zo)return Mr;Zo=1;const A=qA;return Mr=class{#A;#e=!1;#t=!1;#s=!1;constructor(u){if(typeof u!="object"||u===null)throw new TypeError("handler must be an object");this.#A=u}onRequestStart(...u){this.#A.onRequestStart?.(...u)}onRequestUpgrade(...u){return A(!this.#e),A(!this.#t),this.#A.onRequestUpgrade?.(...u)}onResponseStart(...u){return A(!this.#e),A(!this.#t),A(!this.#s),this.#s=!0,this.#A.onResponseStart?.(...u)}onResponseData(...u){return A(!this.#e),A(!this.#t),this.#A.onResponseData?.(...u)}onResponseEnd(...u){return A(!this.#e),A(!this.#t),this.#e=!0,this.#A.onResponseEnd?.(...u)}onResponseError(...u){return this.#t=!0,this.#A.onResponseError?.(...u)}onBodySent(){}},Mr}var Tr,Xo;function ei(){if(Xo)return Tr;Xo=1;const A=LA(),u=qA,{InvalidArgumentError:d}=MA(),N=[300,301,302,303,307,308],o=()=>{};class C{static buildDispatch(h,c){if(c!=null&&(!Number.isInteger(c)||c<0))throw new d("maxRedirections must be a positive number");const a=h.dispatch.bind(h);return(s,e)=>a(s,new C(a,c,s,e))}constructor(h,c,a,s){if(c!=null&&(!Number.isInteger(c)||c<0))throw new d("maxRedirections must be a positive number");if(a.throwOnMaxRedirect!=null&&typeof a.throwOnMaxRedirect!="boolean")throw new d("throwOnMaxRedirect must be a boolean");this.dispatch=h,this.location=null;const{maxRedirections:e,stripHeadersOnRedirect:t,stripHeadersOnCrossOriginRedirect:n,...i}=a;this.opts=i,this.opts.body=A.wrapRequestBody(this.opts.body),this.stripHeadersOnRedirect=B(t,"stripHeadersOnRedirect"),this.stripHeadersOnCrossOriginRedirect=B(n,"stripHeadersOnCrossOriginRedirect"),this.maxRedirections=c,this.handler=s,this.history=[]}onRequestStart(h,c){this.handler.onRequestStart?.(h,{...c,history:this.history})}onRequestUpgrade(h,c,a,s){this.handler.onRequestUpgrade?.(h,c,a,s)}onResponseStart(h,c,a,s){if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections)throw new Error("max redirects");if((c===301||c===302)&&this.opts.method==="POST"&&(this.opts.method="GET",A.isStream(this.opts.body)&&A.destroy(this.opts.body.on("error",o)),this.opts.body=null),c===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",A.isStream(this.opts.body)&&A.destroy(this.opts.body.on("error",o)),this.opts.body=null),this.location=this.history.length>=this.maxRedirections||A.isDisturbed(this.opts.body)||N.indexOf(c)===-1?null:a.location,this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location){this.handler.onResponseStart?.(h,c,a,s);return}const{origin:e,pathname:t,search:n}=A.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),i=n?`${t}${n}`:t,p=`${e}${i}`;for(const y of this.history)if(y.toString()===p)throw new d(`Redirect loop detected. Cannot redirect to ${e}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);this.opts.headers=f(this.opts.headers,c===303,this.opts.origin!==e,this.stripHeadersOnRedirect,this.stripHeadersOnCrossOriginRedirect),this.opts.path=i,this.opts.origin=e,this.opts.query=null}onResponseData(h,c){this.location||this.handler.onResponseData?.(h,c)}onResponseEnd(h,c){this.location?this.dispatch(this.opts,this):this.handler.onResponseEnd(h,c)}onResponseError(h,c){this.handler.onResponseError?.(h,c)}}function g(D,h,c,a,s){const e=A.headerNameToString(D);return e==="host"||a?.has(e)||c&&s?.has(e)||h&&e.startsWith("content-")?!0:c?e==="authorization"||e==="cookie"||e==="proxy-authorization":!1}function B(D,h){if(D==null)return null;if(!Array.isArray(D))throw new d(`${h} must be an array`);const c=new Set;for(const a of D){if(typeof a!="string")throw new d(`${h} must contain header names`);c.add(A.headerNameToString(a))}return c}function f(D,h,c,a,s){const e=[];if(Array.isArray(D))for(let t=0;t<D.length;t+=2)g(D[t],h,c,a,s)||e.push(D[t],D[t+1]);else if(D&&typeof D=="object"){const t=A.hasSafeIterator(D)?D:Object.entries(D);for(const[n,i]of t)g(n,h,c,a,s)||e.push(n,i)}else u(D==null,"headers must be an object or an array");return e}return Tr=C,Tr}var Lr,Ko;function _i(){if(Ko)return Lr;Ko=1;const A=ei();function u({maxRedirections:d,throwOnMaxRedirect:N,stripHeadersOnRedirect:o,stripHeadersOnCrossOriginRedirect:C}={}){return g=>function(B,f){const{maxRedirections:D=d,throwOnMaxRedirect:h=N,stripHeadersOnRedirect:c=o,stripHeadersOnCrossOriginRedirect:a=C,...s}=B;if(D==null||D===0)return g(B,f);const e={...s,throwOnMaxRedirect:h,stripHeadersOnRedirect:c,stripHeadersOnCrossOriginRedirect:a},t=new A(g,D,e,f);return g(e,t)}}return Lr=u,Lr}var Hr,zo;function Zi(){if(zo)return Hr;zo=1;const A=nt(),{ResponseError:u}=MA();class d extends A{#A;#e;#t;#s;#o;constructor(o,{handler:C}){super(C)}#r(o){return(this.#e??"").indexOf(o)===0}onRequestStart(o,C){return this.#A=0,this.#e=null,this.#t=null,this.#s=null,this.#o="",super.onRequestStart(o,C)}onResponseStart(o,C,g,B){if(this.#A=C,this.#s=g,this.#e=g["content-type"],this.#A<400)return super.onResponseStart(o,C,g,B);(this.#r("application/json")||this.#r("text/plain"))&&(this.#t=new TextDecoder("utf-8"))}onResponseData(o,C){if(this.#A<400)return super.onResponseData(o,C);this.#o+=this.#t?.decode(C,{stream:!0})??""}onResponseEnd(o,C){if(this.#A>=400){if(this.#o+=this.#t?.decode(void 0,{stream:!1})??"",this.#r("application/json"))try{this.#o=JSON.parse(this.#o)}catch{}let g;const B=Error.stackTraceLimit;Error.stackTraceLimit=0;try{g=new u("Response Error",this.#A,{body:this.#o,headers:this.#s})}finally{Error.stackTraceLimit=B}super.onResponseError(o,g)}else super.onResponseEnd(o,C)}onResponseError(o,C){super.onResponseError(o,C)}}return Hr=()=>N=>function(o,C){return N(o,new d(o,{handler:C}))},Hr}var Yr,jo;function Xi(){if(jo)return Yr;jo=1;const A=Ns();return Yr=u=>d=>function(N,o){return d(N,new A({...N,retryOptions:{...u,...N.retryOptions}},{handler:o,dispatch:d}))},Yr}var vr,$o;function Ki(){if($o)return vr;$o=1;const{InvalidArgumentError:A,RequestAbortedError:u}=MA(),d=nt();class N extends d{#A=1024*1024;#e=!1;#t=0;#s=null;aborted=!1;reason=!1;constructor({maxSize:g,signal:B},f){if(g!=null&&(!Number.isFinite(g)||g<1))throw new A("maxSize must be a number greater than 0");super(f),this.#A=g??this.#A}#o(g){this.aborted=!0,this.reason=g}onRequestStart(g,B){return g.abort=this.#o.bind(this),this.#s=g,super.onRequestStart(g,B)}onResponseStart(g,B,f,D){const h=f["content-length"];if(h!=null&&h>this.#A)throw new u(`Response size (${h}) larger than maxSize (${this.#A})`);return this.aborted===!0?!0:super.onResponseStart(g,B,f,D)}onResponseError(g,B){this.#e||(B=this.#s?.reason??B,super.onResponseError(g,B))}onResponseData(g,B){return this.#t=this.#t+B.length,this.#t>=this.#A&&(this.#e=!0,this.aborted===!0?super.onResponseError(g,this.reason):super.onResponseEnd(g,{})),!0}onResponseEnd(g,B){if(!this.#e){if(this.#s.aborted===!0){super.onResponseError(g,this.reason);return}super.onResponseEnd(g,B)}}}function o({maxSize:C}={maxSize:1024*1024}){return g=>function(B,f){const{dumpMaxSize:D=C}=B,h=new N({maxSize:D,signal:B.signal},f);return g(B,h)}}return vr=o,vr}var Gr,An;function zi(){if(An)return Gr;An=1;const{isIP:A}=et,{lookup:u}=fi,d=nt(),{InvalidArgumentError:N,InformationalError:o}=MA(),C=Math.pow(2,31)-1;function g(e){const t=Object.getPrototypeOf(e);return Object.hasOwn(e,Symbol.iterator)||t!=null&&t!==Object.prototype&&typeof e[Symbol.iterator]=="function"}function B(e){return typeof e=="string"&&e.toLowerCase()==="host"}function f(e){if(e==null)return null;if(Array.isArray(e)){if(e.length===0||!Array.isArray(e[0]))return e;const t=[];for(const n of e)Array.isArray(n)&&n.length===2?t.push(n[0],n[1]):t.push(n);return t}if(typeof e=="object"&&g(e)){const t=[];for(const n of e)Array.isArray(n)&&n.length===2?t.push(n[0],n[1]):t.push(n);return t}return e}function D(e){if(e==null)return!1;if(Array.isArray(e)){if(e.length===0)return!1;for(let t=0;t<e.length;t+=2)if(B(e[t]))return!0;return!1}if(typeof e=="object"){for(const t in e)if(B(t))return!0}return!1}function h(e,t){const n=f(t);return D(n)?n:Array.isArray(n)?["host",e,...n]:n&&typeof n=="object"?{host:e,...n}:{host:e}}class c{#A=0;#e=new Map;constructor(t){this.#A=t.maxItems}get size(){return this.#e.size}get(t){return this.#e.get(t)??null}set(t,n){this.#e.set(t,n)}delete(t){this.#e.delete(t)}full(){return this.size>=this.#A}}class a{#A=0;#e=0;dualStack=!0;affinity=null;lookup=null;pick=null;storage=null;constructor(t){this.#A=t.maxTTL,this.#e=t.maxItems,this.dualStack=t.dualStack,this.affinity=t.affinity,this.lookup=t.lookup??this.#t,this.pick=t.pick??this.#s,this.storage=t.storage??new c(t)}runLookup(t,n,i){const p=this.storage.get(t.hostname);if(p==null&&this.storage.full()){i(null,t);return}const y={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...n.dns,maxTTL:this.#A,maxItems:this.#e};if(p==null)this.lookup(t,y,(l,r)=>{if(l||r==null||r.length===0){i(l??new o("No DNS entries found"));return}this.setRecords(t,r);const I=this.storage.get(t.hostname),Q=this.pick(t,I,y.affinity);let E;typeof Q.port=="number"?E=`:${Q.port}`:t.port!==""?E=`:${t.port}`:E="",i(null,new URL(`${t.protocol}//${Q.family===6?`[${Q.address}]`:Q.address}${E}`))});else{const l=this.pick(t,p,y.affinity);if(l==null){this.storage.delete(t.hostname),this.runLookup(t,n,i);return}let r;typeof l.port=="number"?r=`:${l.port}`:t.port!==""?r=`:${t.port}`:r="",i(null,new URL(`${t.protocol}//${l.family===6?`[${l.address}]`:l.address}${r}`))}}#t(t,n,i){u(t.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(p,y)=>{if(p)return i(p);const l=new Map;for(const r of y)l.set(`${r.address}:${r.family}`,r);i(null,l.values())})}#s(t,n,i){let p=null;const{records:y,offset:l}=n;let r;if(this.dualStack?(i==null&&(l==null||l===C?(n.offset=0,i=4):(n.offset++,i=(n.offset&1)===1?6:4)),y[i]!=null&&y[i].ips.length>0?r=y[i]:r=y[i===4?6:4]):r=y[i],r==null||r.ips.length===0)return p;r.offset==null||r.offset===C?r.offset=0:r.offset++;const I=r.offset%r.ips.length;return p=r.ips[I]??null,p==null?p:Date.now()-p.timestamp>p.ttl?(r.ips.splice(I,1),this.pick(t,n,i)):p}pickFamily(t,n){const i=this.storage.get(t.hostname)?.records;if(!i)return null;const p=i[n];if(!p)return null;p.offset==null||p.offset===C?p.offset=0:p.offset++;const y=p.offset%p.ips.length,l=p.ips[y]??null;return l==null||Date.now()-l.timestamp>l.ttl&&p.ips.splice(y,1),l}setRecords(t,n){const i=Date.now(),p={records:{4:null,6:null}};let y=this.#A;for(const l of n){l.timestamp=i,typeof l.ttl=="number"?(l.ttl=Math.min(l.ttl,this.#A),y=Math.min(y,l.ttl)):l.ttl=this.#A;const r=p.records[l.family]??{ips:[]};r.ips.push(l),p.records[l.family]=r}this.storage.set(t.hostname,p,{ttl:y})}deleteRecords(t){this.storage.delete(t.hostname)}getHandler(t,n){return new s(this,t,n)}}class s extends d{#A=null;#e=null;#t=null;#s=null;#o=null;#r=null;#a=!0;constructor(t,{origin:n,handler:i,dispatch:p,newOrigin:y},l){super(i),this.#s=n,this.#r=y,this.#e={...l},this.#A=t,this.#t=p}onResponseError(t,n){switch(n.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#A.dualStack){if(!this.#a){super.onResponseError(t,n);return}this.#a=!1;const i=this.#r.hostname[0]==="["?4:6,p=this.#A.pickFamily(this.#s,i);if(p==null){super.onResponseError(t,n);return}let y;typeof p.port=="number"?y=`:${p.port}`:this.#s.port!==""?y=`:${this.#s.port}`:y="";const l={...this.#e,origin:`${this.#s.protocol}//${p.family===6?`[${p.address}]`:p.address}${y}`,headers:h(this.#s.host,this.#e.headers)};this.#t(l,this);return}super.onResponseError(t,n);break}case"ENOTFOUND":this.#A.deleteRecords(this.#s),super.onResponseError(t,n);break;default:super.onResponseError(t,n);break}}}return Gr=e=>{if(e?.maxTTL!=null&&(typeof e?.maxTTL!="number"||e?.maxTTL<0))throw new N("Invalid maxTTL. Must be a positive number");if(e?.maxItems!=null&&(typeof e?.maxItems!="number"||e?.maxItems<1))throw new N("Invalid maxItems. Must be a positive number and greater than zero");if(e?.affinity!=null&&e?.affinity!==4&&e?.affinity!==6)throw new N("Invalid affinity. Must be either 4 or 6");if(e?.dualStack!=null&&typeof e?.dualStack!="boolean")throw new N("Invalid dualStack. Must be a boolean");if(e?.lookup!=null&&typeof e?.lookup!="function")throw new N("Invalid lookup. Must be a function");if(e?.pick!=null&&typeof e?.pick!="function")throw new N("Invalid pick. Must be a function");if(e?.storage!=null&&(typeof e?.storage?.get!="function"||typeof e?.storage?.set!="function"||typeof e?.storage?.full!="function"||typeof e?.storage?.delete!="function"))throw new N("Invalid storage. Must be a object with methods: { get, set, full, delete }");const t=e?.dualStack??!0;let n;t?n=e?.affinity??null:n=e?.affinity??4;const i={maxTTL:e?.maxTTL??1e4,lookup:e?.lookup??null,pick:e?.pick??null,dualStack:t,affinity:n,maxItems:e?.maxItems??1/0,storage:e?.storage},p=new a(i);return y=>function(l,r){if(l.origin==null)return y(l,r);const I=l.origin.constructor===URL?l.origin:new URL(l.origin);return A(I.hostname)!==0?y(l,r):(p.runLookup(I,l,(Q,E)=>{if(Q)return r.onResponseError(null,Q);const w={...l,servername:I.hostname,origin:E.origin,headers:h(I.host,l.headers)};y(w,p.getHandler({origin:I,dispatch:y,handler:r,newOrigin:E},l))}),!0)}},Gr}var Vr,en;function it(){if(en)return Vr;en=1;const{safeHTTPMethods:A,pathHasQueryOrFragment:u,hasSafeIterator:d}=LA(),{serializePathWithQuery:N}=LA();function o(e){if(!e.origin)throw new Error("opts.origin is undefined");let t=e.path||"/";return e.query&&!u(t)&&(t=N(t,e.query)),{origin:e.origin.toString(),method:e.method,path:t,headers:e.headers}}function C(e){let t;if(e.headers==null)t={};else if(typeof e.headers=="object")if(t={},d(e.headers))for(const n of e.headers){if(!Array.isArray(n))throw new Error("opts.headers is not a valid header map");const[i,p]=n;if(typeof i!="string"||typeof p!="string")throw new Error("opts.headers is not a valid header map");t[i.toLowerCase()]=p}else for(const n of Object.keys(e.headers))t[n.toLowerCase()]=e.headers[n];else throw new Error("opts.headers is not an object");return t}function g(e){if(typeof e!="object")throw new TypeError(`expected key to be object, got ${typeof e}`);for(const t of["origin","method","path"])if(typeof e[t]!="string")throw new TypeError(`expected key.${t} to be string, got ${typeof e[t]}`);if(e.headers!==void 0&&typeof e.headers!="object")throw new TypeError(`expected headers to be object, got ${typeof e}`)}function B(e){if(typeof e!="object")throw new TypeError(`expected value to be object, got ${typeof e}`);for(const t of["statusCode","cachedAt","staleAt","deleteAt"])if(typeof e[t]!="number")throw new TypeError(`expected value.${t} to be number, got ${typeof e[t]}`);if(typeof e.statusMessage!="string")throw new TypeError(`expected value.statusMessage to be string, got ${typeof e.statusMessage}`);if(e.headers!=null&&typeof e.headers!="object")throw new TypeError(`expected value.rawHeaders to be object, got ${typeof e.headers}`);if(e.vary!==void 0&&typeof e.vary!="object")throw new TypeError(`expected value.vary to be object, got ${typeof e.vary}`);if(e.etag!==void 0&&typeof e.etag!="string")throw new TypeError(`expected value.etag to be string, got ${typeof e.etag}`)}function f(e){const t={};let n;if(Array.isArray(e)){n=[];for(const i of e)n.push(...i.split(","))}else n=e.split(",");for(let i=0;i<n.length;i++){const p=n[i].toLowerCase(),y=p.indexOf("=");let l,r;switch(y!==-1?(l=p.substring(0,y).trimStart(),r=p.substring(y+1)):l=p.trim(),l){case"min-fresh":case"max-stale":case"max-age":case"s-maxage":case"stale-while-revalidate":case"stale-if-error":{if(r===void 0||r[0]===" ")continue;r.length>=2&&r[0]==='"'&&r[r.length-1]==='"'&&(r=r.substring(1,r.length-1));const I=parseInt(r,10);if(I!==I||l==="max-age"&&l in t&&t[l]>=I)continue;t[l]=I;break}case"private":case"no-cache":if(r){if(r[0]==='"'){const I=[r.substring(1)];let Q=r[r.length-1]==='"';if(!Q)for(let E=i+1;E<n.length;E++){const w=n[E],F=w.length;if(I.push(w.trim()),F!==0&&w[F-1]==='"'){Q=!0;break}}if(Q){let E=I[I.length-1];E[E.length-1]==='"'&&(E=E.substring(0,E.length-1),I[I.length-1]=E);for(let w=0;w<I.length;w++)I[w]=I[w].trim();l in t?t[l]=t[l].concat(I):t[l]=I}}else{const I=r.trim();l in t?t[l]=t[l].concat(I):t[l]=[I]}break}case"public":case"no-store":case"must-revalidate":case"proxy-revalidate":case"immutable":case"no-transform":case"must-understand":case"only-if-cached":if(r)continue;t[l]=!0;break;default:continue}}return t}function D(e,t){if(typeof e=="string"&&e.includes("*"))return t;const n={},i=typeof e=="string"?e.split(","):e;for(const p of i){const y=p.trim().toLowerCase();n[y]=t[y]??null}return n}function h(e){return e.length<=2?!1:e[0]==='"'&&e[e.length-1]==='"'?!(e[1]==='"'||e.startsWith('"W/')):e.startsWith('W/"')&&e[e.length-1]==='"'?e.length!==4:!1}function c(e,t="CacheStore"){if(typeof e!="object"||e===null)throw new TypeError(`expected type of ${t} to be a CacheStore, got ${e===null?"null":typeof e}`);for(const n of["get","createWriteStream","delete"])if(typeof e[n]!="function")throw new TypeError(`${t} needs to have a \`${n}()\` function`)}function a(e,t="CacheMethods"){if(!Array.isArray(e))throw new TypeError(`expected type of ${t} needs to be an array, got ${e===null?"null":typeof e}`);if(e.length===0)throw new TypeError(`${t} needs to have at least one method`);for(const n of e)if(!A.includes(n))throw new TypeError(`element of ${t}-array needs to be one of following values: ${A.join(", ")}, got ${n}`)}function s(e,t){const n={};if(e.headers){const i=Object.keys(e.headers).sort();for(const p of i)t?.has(p.toLowerCase())||(n[p]=e.headers[p])}return JSON.stringify([e.origin,e.method,e.path,n])}return Vr={makeCacheKey:o,normalizeHeaders:C,assertCacheKey:g,assertCacheValue:B,parseCacheControlHeader:f,parseVaryHeader:D,isEtagUsable:h,assertCacheMethods:a,assertCacheStore:c,makeDeduplicationKey:s},Vr}var Or,tn;function ji(){if(tn)return Or;tn=1;function A(o){switch(o[3]){case",":return u(o);case" ":return d(o);default:return N(o)}}function u(o){if(o.length!==29||o[4]!==" "||o[7]!==" "||o[11]!==" "||o[16]!==" "||o[19]!==":"||o[22]!==":"||o[25]!==" "||o[26]!=="G"||o[27]!=="M"||o[28]!=="T")return;let C=-1;if(o[0]==="S"&&o[1]==="u"&&o[2]==="n")C=0;else if(o[0]==="M"&&o[1]==="o"&&o[2]==="n")C=1;else if(o[0]==="T"&&o[1]==="u"&&o[2]==="e")C=2;else if(o[0]==="W"&&o[1]==="e"&&o[2]==="d")C=3;else if(o[0]==="T"&&o[1]==="h"&&o[2]==="u")C=4;else if(o[0]==="F"&&o[1]==="r"&&o[2]==="i")C=5;else if(o[0]==="S"&&o[1]==="a"&&o[2]==="t")C=6;else return;let g=0;if(o[5]==="0"){const i=o.charCodeAt(6);if(i<49||i>57)return;g=i-48}else{const i=o.charCodeAt(5);if(i<49||i>51)return;const p=o.charCodeAt(6);if(p<48||p>57)return;g=(i-48)*10+(p-48)}let B=-1;if(o[8]==="J"&&o[9]==="a"&&o[10]==="n")B=0;else if(o[8]==="F"&&o[9]==="e"&&o[10]==="b")B=1;else if(o[8]==="M"&&o[9]==="a")if(o[10]==="r")B=2;else if(o[10]==="y")B=4;else return;else if(o[8]==="J")if(o[9]==="a"&&o[10]==="n")B=0;else if(o[9]==="u")if(o[10]==="n")B=5;else if(o[10]==="l")B=6;else return;else return;else if(o[8]==="A")if(o[9]==="p"&&o[10]==="r")B=3;else if(o[9]==="u"&&o[10]==="g")B=7;else return;else if(o[8]==="S"&&o[9]==="e"&&o[10]==="p")B=8;else if(o[8]==="O"&&o[9]==="c"&&o[10]==="t")B=9;else if(o[8]==="N"&&o[9]==="o"&&o[10]==="v")B=10;else if(o[8]==="D"&&o[9]==="e"&&o[10]==="c")B=11;else return;const f=o.charCodeAt(12);if(f<48||f>57)return;const D=o.charCodeAt(13);if(D<48||D>57)return;const h=o.charCodeAt(14);if(h<48||h>57)return;const c=o.charCodeAt(15);if(c<48||c>57)return;const a=(f-48)*1e3+(D-48)*100+(h-48)*10+(c-48);let s=0;if(o[17]==="0"){const i=o.charCodeAt(18);if(i<48||i>57)return;s=i-48}else{const i=o.charCodeAt(17);if(i<48||i>50)return;const p=o.charCodeAt(18);if(p<48||p>57||i===50&&p>51)return;s=(i-48)*10+(p-48)}let e=0;if(o[20]==="0"){const i=o.charCodeAt(21);if(i<48||i>57)return;e=i-48}else{const i=o.charCodeAt(20);if(i<48||i>53)return;const p=o.charCodeAt(21);if(p<48||p>57)return;e=(i-48)*10+(p-48)}let t=0;if(o[23]==="0"){const i=o.charCodeAt(24);if(i<48||i>57)return;t=i-48}else{const i=o.charCodeAt(23);if(i<48||i>53)return;const p=o.charCodeAt(24);if(p<48||p>57)return;t=(i-48)*10+(p-48)}const n=new Date(Date.UTC(a,B,g,s,e,t));return n.getUTCDay()===C?n:void 0}function d(o){if(o.length!==24||o[7]!==" "||o[10]!==" "||o[19]!==" ")return;let C=-1;if(o[0]==="S"&&o[1]==="u"&&o[2]==="n")C=0;else if(o[0]==="M"&&o[1]==="o"&&o[2]==="n")C=1;else if(o[0]==="T"&&o[1]==="u"&&o[2]==="e")C=2;else if(o[0]==="W"&&o[1]==="e"&&o[2]==="d")C=3;else if(o[0]==="T"&&o[1]==="h"&&o[2]==="u")C=4;else if(o[0]==="F"&&o[1]==="r"&&o[2]==="i")C=5;else if(o[0]==="S"&&o[1]==="a"&&o[2]==="t")C=6;else return;let g=-1;if(o[4]==="J"&&o[5]==="a"&&o[6]==="n")g=0;else if(o[4]==="F"&&o[5]==="e"&&o[6]==="b")g=1;else if(o[4]==="M"&&o[5]==="a")if(o[6]==="r")g=2;else if(o[6]==="y")g=4;else return;else if(o[4]==="J")if(o[5]==="a"&&o[6]==="n")g=0;else if(o[5]==="u")if(o[6]==="n")g=5;else if(o[6]==="l")g=6;else return;else return;else if(o[4]==="A")if(o[5]==="p"&&o[6]==="r")g=3;else if(o[5]==="u"&&o[6]==="g")g=7;else return;else if(o[4]==="S"&&o[5]==="e"&&o[6]==="p")g=8;else if(o[4]==="O"&&o[5]==="c"&&o[6]==="t")g=9;else if(o[4]==="N"&&o[5]==="o"&&o[6]==="v")g=10;else if(o[4]==="D"&&o[5]==="e"&&o[6]==="c")g=11;else return;let B=0;if(o[8]===" "){const i=o.charCodeAt(9);if(i<49||i>57)return;B=i-48}else{const i=o.charCodeAt(8);if(i<49||i>51)return;const p=o.charCodeAt(9);if(p<48||p>57)return;B=(i-48)*10+(p-48)}let f=0;if(o[11]==="0"){const i=o.charCodeAt(12);if(i<48||i>57)return;f=i-48}else{const i=o.charCodeAt(11);if(i<48||i>50)return;const p=o.charCodeAt(12);if(p<48||p>57||i===50&&p>51)return;f=(i-48)*10+(p-48)}let D=0;if(o[14]==="0"){const i=o.charCodeAt(15);if(i<48||i>57)return;D=i-48}else{const i=o.charCodeAt(14);if(i<48||i>53)return;const p=o.charCodeAt(15);if(p<48||p>57)return;D=(i-48)*10+(p-48)}let h=0;if(o[17]==="0"){const i=o.charCodeAt(18);if(i<48||i>57)return;h=i-48}else{const i=o.charCodeAt(17);if(i<48||i>53)return;const p=o.charCodeAt(18);if(p<48||p>57)return;h=(i-48)*10+(p-48)}const c=o.charCodeAt(20);if(c<48||c>57)return;const a=o.charCodeAt(21);if(a<48||a>57)return;const s=o.charCodeAt(22);if(s<48||s>57)return;const e=o.charCodeAt(23);if(e<48||e>57)return;const t=(c-48)*1e3+(a-48)*100+(s-48)*10+(e-48),n=new Date(Date.UTC(t,g,B,f,D,h));return n.getUTCDay()===C?n:void 0}function N(o){let C=-1,g=-1;if(o[0]==="S")o[1]==="u"&&o[2]==="n"&&o[3]==="d"&&o[4]==="a"&&o[5]==="y"?(g=0,C=6):o[1]==="a"&&o[2]==="t"&&o[3]==="u"&&o[4]==="r"&&o[5]==="d"&&o[6]==="a"&&o[7]==="y"&&(g=6,C=8);else if(o[0]==="M"&&o[1]==="o"&&o[2]==="n"&&o[3]==="d"&&o[4]==="a"&&o[5]==="y")g=1,C=6;else if(o[0]==="T")o[1]==="u"&&o[2]==="e"&&o[3]==="s"&&o[4]==="d"&&o[5]==="a"&&o[6]==="y"?(g=2,C=7):o[1]==="h"&&o[2]==="u"&&o[3]==="r"&&o[4]==="s"&&o[5]==="d"&&o[6]==="a"&&o[7]==="y"&&(g=4,C=8);else if(o[0]==="W"&&o[1]==="e"&&o[2]==="d"&&o[3]==="n"&&o[4]==="e"&&o[5]==="s"&&o[6]==="d"&&o[7]==="a"&&o[8]==="y")g=3,C=9;else if(o[0]==="F"&&o[1]==="r"&&o[2]==="i"&&o[3]==="d"&&o[4]==="a"&&o[5]==="y")g=5,C=6;else return;if(o[C]!==","||o.length-C-1!==23||o[C+1]!==" "||o[C+4]!=="-"||o[C+8]!=="-"||o[C+11]!==" "||o[C+14]!==":"||o[C+17]!==":"||o[C+20]!==" "||o[C+21]!=="G"||o[C+22]!=="M"||o[C+23]!=="T")return;let B=0;if(o[C+2]==="0"){const n=o.charCodeAt(C+3);if(n<49||n>57)return;B=n-48}else{const n=o.charCodeAt(C+2);if(n<49||n>51)return;const i=o.charCodeAt(C+3);if(i<48||i>57)return;B=(n-48)*10+(i-48)}let f=-1;if(o[C+5]==="J"&&o[C+6]==="a"&&o[C+7]==="n")f=0;else if(o[C+5]==="F"&&o[C+6]==="e"&&o[C+7]==="b")f=1;else if(o[C+5]==="M"&&o[C+6]==="a"&&o[C+7]==="r")f=2;else if(o[C+5]==="A"&&o[C+6]==="p"&&o[C+7]==="r")f=3;else if(o[C+5]==="M"&&o[C+6]==="a"&&o[C+7]==="y")f=4;else if(o[C+5]==="J"&&o[C+6]==="u"&&o[C+7]==="n")f=5;else if(o[C+5]==="J"&&o[C+6]==="u"&&o[C+7]==="l")f=6;else if(o[C+5]==="A"&&o[C+6]==="u"&&o[C+7]==="g")f=7;else if(o[C+5]==="S"&&o[C+6]==="e"&&o[C+7]==="p")f=8;else if(o[C+5]==="O"&&o[C+6]==="c"&&o[C+7]==="t")f=9;else if(o[C+5]==="N"&&o[C+6]==="o"&&o[C+7]==="v")f=10;else if(o[C+5]==="D"&&o[C+6]==="e"&&o[C+7]==="c")f=11;else return;const D=o.charCodeAt(C+9);if(D<48||D>57)return;const h=o.charCodeAt(C+10);if(h<48||h>57)return;let c=(D-48)*10+(h-48);c+=c<70?2e3:1900;let a=0;if(o[C+12]==="0"){const n=o.charCodeAt(C+13);if(n<48||n>57)return;a=n-48}else{const n=o.charCodeAt(C+12);if(n<48||n>50)return;const i=o.charCodeAt(C+13);if(i<48||i>57||n===50&&i>51)return;a=(n-48)*10+(i-48)}let s=0;if(o[C+15]==="0"){const n=o.charCodeAt(C+16);if(n<48||n>57)return;s=n-48}else{const n=o.charCodeAt(C+15);if(n<48||n>53)return;const i=o.charCodeAt(C+16);if(i<48||i>57)return;s=(n-48)*10+(i-48)}let e=0;if(o[C+18]==="0"){const n=o.charCodeAt(C+19);if(n<48||n>57)return;e=n-48}else{const n=o.charCodeAt(C+18);if(n<48||n>53)return;const i=o.charCodeAt(C+19);if(i<48||i>57)return;e=(n-48)*10+(i-48)}const t=new Date(Date.UTC(c,f,B,a,s,e));return t.getUTCDay()===g?t:void 0}return Or={parseHttpDate:A},Or}var Jr,rn;function $i(){if(rn)return Jr;rn=1;const A=LA(),{parseCacheControlHeader:u,parseVaryHeader:d,isEtagUsable:N}=it(),{parseHttpDate:o}=ji();function C(){}const g=[200,203,204,206,300,301,308,404,405,410,414,501],B=[206],f=2147483647e3;class D{#A;#e;#t;#s;#o;#r;constructor({store:i,type:p,cacheByDefault:y},l,r){this.#s=i,this.#e=p,this.#t=y,this.#A=l,this.#o=r}onRequestStart(i,p){this.#r?.destroy(),this.#r=void 0,this.#o.onRequestStart?.(i,p)}onRequestUpgrade(i,p,y,l){this.#o.onRequestUpgrade?.(i,p,y,l)}onResponseStart(i,p,y,l){const r=()=>this.#o.onResponseStart?.(i,p,y,l),I=this;if(!A.safeHTTPMethods.includes(this.#A.method)&&p>=200&&p<=399){try{this.#s.delete(this.#A)?.catch?.(C)}catch{}return r()}const Q=y["cache-control"],E=y["last-modified"]&&g.includes(p);if(!Q&&!y.expires&&!E&&!this.#t)return r();const w=Q?u(Q):{};if(!h(this.#e,p,y,w,this.#A.headers))return r();const F=Date.now(),U=y.age?c(y.age):void 0;if(U&&U>=f)return r();const S=typeof y.date=="string"?o(y.date):void 0,m=a(this.#e,F,U,y,S,w)??this.#t;if(m===void 0||U&&U>m)return r();const b=S?S.getTime():F,M=m+b;if(F>=M)return r();let Y;if(this.#A.headers&&y.vary&&(Y=d(y.vary,this.#A.headers),!Y))return r();const V=U?F-U:F,k=s(b,V,w,M),T=e(y,w),x={statusCode:p,statusMessage:l,headers:T,vary:Y,cacheControlDirectives:w,cachedAt:V,staleAt:M,deleteAt:k};if(p===304){const z=QA=>{if(!QA)return r();if(x.statusCode=QA.statusCode,x.statusMessage=QA.statusMessage,x.etag=QA.etag,x.headers={...QA.headers,...T},r(),this.#r=this.#s.createWriteStream(this.#A,x),!(!this.#r||!QA?.body))if(typeof QA.body.values=="function"){const tA=QA.body.values(),DA=()=>{for(const nA of tA){const eA=this.#r.write(nA)===!1;if(this.#o.onResponseData?.(i,nA),eA)break}};this.#r.on("error",function(){I.#r=void 0,I.#s.delete(I.#A)}).on("drain",()=>{DA()}).on("close",function(){I.#r===this&&(I.#r=void 0)}),DA()}else typeof QA.body.on=="function"&&(QA.body.on("data",tA=>{this.#r.write(tA),this.#o.onResponseData?.(i,tA)}).on("end",()=>{this.#r.end()}).on("error",()=>{this.#r=void 0,this.#s.delete(this.#A)}),this.#r.on("error",function(){I.#r=void 0,I.#s.delete(I.#A)}).on("close",function(){I.#r===this&&(I.#r=void 0)}))},gA=this.#s.get(this.#A);gA&&typeof gA.then=="function"?gA.then(z):z(gA)}else{if(typeof y.etag=="string"&&N(y.etag)&&(x.etag=y.etag),this.#r=this.#s.createWriteStream(this.#A,x),!this.#r)return r();this.#r.on("drain",()=>i.resume()).on("error",function(){I.#r=void 0,I.#s.delete(I.#A)}).on("close",function(){I.#r===this&&(I.#r=void 0),i.resume()}),r()}}onResponseData(i,p){this.#r?.write(p)===!1&&i.pause(),this.#o.onResponseData?.(i,p)}onResponseEnd(i,p){this.#r?.end(),this.#o.onResponseEnd?.(i,p)}onResponseError(i,p){this.#r?.destroy(p),this.#r=void 0,this.#o.onResponseError?.(i,p)}}function h(n,i,p,y,l){return!(i<200||B.includes(i)||!g.includes(i)&&!p.expires&&!y.public&&y["max-age"]===void 0&&!(y.private&&n==="private")&&!(y["s-maxage"]!==void 0&&n==="shared")||y["no-store"]||n==="shared"&&y.private===!0||p.vary?.includes("*")||l?.authorization&&(!y.public&&!y["s-maxage"]&&!y["must-revalidate"]||typeof l.authorization!="string"||Array.isArray(y["no-cache"])&&y["no-cache"].includes("authorization")||Array.isArray(y.private)&&y.private.includes("authorization")))}function c(n){const i=parseInt(Array.isArray(n)?n[0]:n);return isNaN(i)?void 0:i*1e3}function a(n,i,p,y,l,r){if(n==="shared"){const Q=r["s-maxage"];if(Q!==void 0)return Q>0?Q*1e3:void 0}const I=r["max-age"];if(I!==void 0)return I>0?I*1e3:void 0;if(typeof y.expires=="string"){const Q=o(y.expires);if(Q)return i>=Q.getTime()||l&&(l>=Q||p!==void 0&&p>Q-l)?void 0:Q.getTime()-i}if(typeof y["last-modified"]=="string"){const Q=new Date(y["last-modified"]);if(t(Q))return Q.getTime()>=i?void 0:(i-Q.getTime())*.1}if(r.immutable)return 31536e6}function s(n,i,p,y){let l=-1/0,r=-1/0,I=-1/0;if(p["stale-while-revalidate"]&&(l=y+p["stale-while-revalidate"]*1e3),p["stale-if-error"]&&(r=y+p["stale-if-error"]*1e3),p.immutable&&l===-1/0&&r===-1/0&&(I=i+31536e6),l===-1/0&&r===-1/0&&I===-1/0){const Q=y-n,E=Math.min(Math.max(i-n,0),1e3);return y+Q+E}return Math.max(y,l,r,I)}function e(n,i){const p=["connection","proxy-authenticate","proxy-authentication-info","proxy-authorization","proxy-connection","te","transfer-encoding","upgrade","age"];n.connection&&(Array.isArray(n.connection)?p.push(...n.connection.map(l=>l.trim())):p.push(...n.connection.split(",").map(l=>l.trim()))),Array.isArray(i["no-cache"])&&p.push(...i["no-cache"]),Array.isArray(i.private)&&p.push(...i.private);let y;for(const l of p)n[l]&&(y??={...n},delete y[l]);return y??n}function t(n){return n instanceof Date&&Number.isFinite(n.valueOf())}return Jr=D,Jr}var xr,sn;function ti(){if(sn)return xr;sn=1;const{Writable:A}=Ce,{EventEmitter:u}=ke,{assertCacheKey:d,assertCacheValue:N}=it();class o extends u{#A=1024;#e=104857600;#t=5242880;#s=0;#o=0;#r=new Map;#a=!1;constructor(B){if(super(),B){if(typeof B!="object")throw new TypeError("MemoryCacheStore options must be an object");if(B.maxCount!==void 0){if(typeof B.maxCount!="number"||!Number.isInteger(B.maxCount)||B.maxCount<0)throw new TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");this.#A=B.maxCount}if(B.maxSize!==void 0){if(typeof B.maxSize!="number"||!Number.isInteger(B.maxSize)||B.maxSize<0)throw new TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");this.#e=B.maxSize}if(B.maxEntrySize!==void 0){if(typeof B.maxEntrySize!="number"||!Number.isInteger(B.maxEntrySize)||B.maxEntrySize<0)throw new TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");this.#t=B.maxEntrySize}}}get size(){return this.#s}isFull(){return this.#s>=this.#e||this.#o>=this.#A}get(B){d(B);const f=`${B.origin}:${B.path}`,D=Date.now(),h=this.#r.get(f),c=h?C(B,h,D):null;return c==null?void 0:{statusMessage:c.statusMessage,statusCode:c.statusCode,headers:c.headers,body:c.body,vary:c.vary?c.vary:void 0,etag:c.etag,cacheControlDirectives:c.cacheControlDirectives,cachedAt:c.cachedAt,staleAt:c.staleAt,deleteAt:c.deleteAt}}createWriteStream(B,f){d(B),N(f);const D=`${B.origin}:${B.path}`,h=this,c={...B,...f,body:[],size:0};return new A({write(a,s,e){typeof a=="string"&&(a=Buffer.from(a,s)),c.size+=a.byteLength,c.size>h.#t?this.destroy():c.body.push(a),e(null)},final(a){let s=h.#r.get(D);s||(s=[],h.#r.set(D,s));const e=C(B,s,Date.now());if(e){const t=s.indexOf(e);s.splice(t,1,c),h.#s-=e.size}else s.push(c),h.#o+=1;if(h.#s+=c.size,h.#s>h.#e||h.#o>h.#A){h.#a||(h.emit("maxSizeExceeded",{size:h.#s,maxSize:h.#e,count:h.#o,maxCount:h.#A}),h.#a=!0);for(const[t,n]of h.#r){for(const i of n.splice(0,n.length/2))h.#s-=i.size,h.#o-=1;n.length===0&&h.#r.delete(t)}h.#s<h.#e&&h.#o<h.#A&&(h.#a=!1)}a(null)}})}delete(B){if(typeof B!="object")throw new TypeError(`expected key to be object, got ${typeof B}`);const f=`${B.origin}:${B.path}`;for(const D of this.#r.get(f)??[])this.#s-=D.size,this.#o-=1;this.#r.delete(f)}}function C(g,B,f){return B.find(D=>D.deleteAt>f&&D.method===g.method&&(D.vary==null||Object.keys(D.vary).every(h=>D.vary[h]===null?g.headers[h]===void 0:D.vary[h]===g.headers[h])))}return xr=o,xr}var Wr,on;function Aa(){if(on)return Wr;on=1;const A=qA;class u{#A=!1;#e;#t;#s;#o;constructor(N,o,C){if(typeof N!="function")throw new TypeError("callback must be a function");this.#e=N,this.#t=o,this.#o=C}onRequestStart(N,o){this.#A=!1,this.#s=o}onRequestUpgrade(N,o,C,g){this.#t.onRequestUpgrade?.(N,o,C,g)}onResponseStart(N,o,C,g){if(A(this.#e!=null),this.#A=o===304||this.#o&&o>=500&&o<=504,this.#e(this.#A,this.#s),this.#e=null,this.#A)return!0;this.#t.onRequestStart?.(N,this.#s),this.#t.onResponseStart?.(N,o,C,g)}onResponseData(N,o){if(!this.#A)return this.#t.onResponseData?.(N,o)}onResponseEnd(N,o){this.#A||this.#t.onResponseEnd?.(N,o)}onResponseError(N,o){if(!this.#A)if(this.#e&&(this.#e(!1),this.#e=null),typeof this.#t.onResponseError=="function")this.#t.onResponseError(N,o);else throw o}}return Wr=u,Wr}var qr,nn;function ea(){if(nn)return qr;nn=1;const A=qA,{Readable:u}=Ce,d=LA(),N=$i(),o=ti(),C=Aa(),{assertCacheStore:g,assertCacheMethods:B,makeCacheKey:f,normalizeHeaders:D,parseCacheControlHeader:h}=it(),{AbortError:c}=MA();function a(l,r){if(l!==void 0){if(!Array.isArray(l))throw new TypeError(`expected ${r} to be an array or undefined, got ${typeof l}`);for(let I=0;I<l.length;I++){const Q=l[I];if(typeof Q!="string"&&!(Q instanceof RegExp))throw new TypeError(`expected ${r}[${I}] to be a string or RegExp, got ${typeof Q}`)}}}const s=()=>{};function e(l,r,{headers:I={}}){return!!(r?.["no-cache"]||l.cacheControlDirectives?.["no-cache"]&&!Array.isArray(l.cacheControlDirectives["no-cache"])||I["if-modified-since"]||I["if-none-match"])}function t(l,r){const I=Date.now();if(I>l.staleAt){if(r?.["max-stale"]){const Q=l.staleAt+r["max-stale"]*1e3;return I>Q}return!0}if(r?.["min-fresh"]){const Q=l.staleAt-I,E=r["min-fresh"]*1e3;return Q<=E}return!1}function n(l){const r=l.cacheControlDirectives?.["stale-while-revalidate"];if(!r)return!1;const I=Date.now(),Q=l.staleAt+r*1e3;return I<=Q}function i(l,r,I,Q,E,w){if(w?.["only-if-cached"]){let F=!1;const U={paused:!1,rawHeaders:[],rawTrailers:[],pause(){this.paused=!0},resume(){this.paused=!1},abort:S=>{F=!0,Q.onResponseError?.(U,S??new c)}};try{if(Q.onRequestStart?.(U,null),F||(Q.onResponseStart?.(U,504,{},"Gateway Timeout"),F))return;Q.onResponseEnd?.(U,{})}catch(S){typeof Q.onResponseError=="function"&&Q.onResponseError(U,S)}return!0}return l(E,new N(r,I,Q))}function p(l,r,I,Q,E,w){const F=d.isStream(I.body)?I.body:u.from(I.body??[]);A(!F.destroyed,"stream should not be destroyed"),A(!F.readableDidRead,"stream should not be readableDidRead");const U={rawHeaders:[],rawTrailers:[],resume(){F.resume()},pause(){F.pause()},get paused(){return F.isPaused()},get aborted(){return F.destroyed},get reason(){return F.errored},abort(m){F.destroy(m??new c)}};if(F.on("error",function(m){if(!this.readableEnded)if(typeof l.onResponseError=="function")l.onResponseError(U,m);else throw m}).on("close",function(){this.errored||l.onResponseEnd?.(U,{})}),l.onRequestStart?.(U,E),F.destroyed)return;const S={...I.headers,age:String(Q)};w&&(S.warning='110 - "response is stale"'),U.rawHeaders=d.toRawHeaders(S),l.onResponseStart?.(U,I.statusCode,S,I.statusMessage),r.method==="HEAD"?F.destroy():F.on("data",function(m){l.onResponseData?.(U,m)})}function y(l,r,I,Q,E,w,F){if(!F)return i(l,r,I,Q,E,w);const U=Date.now();if(U>F.deleteAt)return l(E,new N(r,I,Q));const S=Math.round((U-F.cachedAt)/1e3);if(w?.["max-age"]&&S>=w["max-age"])return l(E,Q);const m=t(F,w),b=e(F,w,E);if(m||b){if(d.isStream(E.body)&&d.bodyLength(E.body)!==0)return l(E,new N(r,I,Q));if(!b&&n(F))return p(Q,E,F,S,null,!0),queueMicrotask(()=>{const k={...E.headers,"if-modified-since":new Date(F.cachedAt).toUTCString()};if(F.etag&&(k["if-none-match"]=F.etag),F.vary)for(const T in F.vary)F.vary[T]!=null&&(k[T]=F.vary[T]);l({...E,headers:k},new N(r,I,{onRequestStart(){},onRequestUpgrade(){},onResponseStart(){},onResponseData(){},onResponseEnd(){},onResponseError(){}}))}),!0;let M=!1;const Y=F.cacheControlDirectives["stale-if-error"]??w?.["stale-if-error"];Y&&(M=U<F.staleAt+Y*1e3);const V={...E.headers,"if-modified-since":new Date(F.cachedAt).toUTCString()};if(F.etag&&(V["if-none-match"]=F.etag),F.vary)for(const k in F.vary)F.vary[k]!=null&&(V[k]=F.vary[k]);return l({...E,headers:V},new C((k,T)=>{k?p(Q,E,F,S,T,m):d.isStream(F.body)&&F.body.on("error",s).destroy()},new N(r,I,Q),M))}d.isStream(E.body)&&E.body.on("error",s).destroy(),p(Q,E,F,S,null,!1)}return qr=(l={})=>{const{store:r=new o,methods:I=["GET"],cacheByDefault:Q=void 0,type:E="shared",origins:w=void 0}=l;if(typeof l!="object"||l===null)throw new TypeError(`expected type of opts to be an Object, got ${l===null?"null":typeof l}`);if(g(r,"opts.store"),B(I,"opts.methods"),a(w,"opts.origins"),typeof Q<"u"&&typeof Q!="number")throw new TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof Q}`);if(typeof E<"u"&&E!=="shared"&&E!=="private")throw new TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof E}`);const F={store:r,methods:I,cacheByDefault:Q,type:E},U=d.safeHTTPMethods.filter(S=>I.includes(S)===!1);return S=>(m,b)=>{if(!m.origin||U.includes(m.method))return S(m,b);if(w!==void 0){const k=m.origin.toString().toLowerCase();let T=!1;for(let x=0;x<w.length;x++){const z=w[x];if(typeof z=="string"){if(z.toLowerCase()===k){T=!0;break}}else if(z.test(k)){T=!0;break}}if(!T)return S(m,b)}m={...m,headers:D(m)};const M=m.headers?.["cache-control"]?h(m.headers["cache-control"]):void 0;if(M?.["no-store"])return S(m,b);const Y=f(m),V=r.get(Y);return V&&typeof V.then=="function"?V.then(k=>y(S,F,Y,b,m,M,k)):y(S,F,Y,b,m,M,V)}},qr}var Pr,an;function ta(){if(an)return Pr;an=1;const{createInflate:A,createGunzip:u,createBrotliDecompress:d,createZstdDecompress:N}=Ct,{pipeline:o}=Ce,C=nt(),g={gzip:u,"x-gzip":u,br:d,deflate:A,compress:A,"x-compress":A,zstd:N},B=[204,304];let f=!1;class D extends C{#A=[];#e;#t;constructor(a,{skipStatusCodes:s=B,skipErrorResponses:e=!0}={}){super(a),this.#e=s,this.#t=e}#s(a,s){return!!(!a||s<200||this.#e.includes(s)||this.#t&&s>=400)}#o(a){const s=a.split(","),e=5;if(s.length>e)throw new Error(`too many content-encodings in response: ${s.length}, maximum allowed is ${e}`);const t=[];for(let n=s.length-1;n>=0;n--){const i=s[n].trim();if(i){if(!g[i])return t.length=0,t;t.push(g[i]())}}return t}#r(a,s){a.on("readable",()=>{let e;for(;(e=a.read())!==null&&super.onResponseData(s,e)!==!1;);}),a.on("error",e=>{super.onResponseError(s,e)})}#a(a){const s=this.#A[0];this.#r(s,a),s.on("end",()=>{super.onResponseEnd(a,{})})}#n(a){const s=this.#A[this.#A.length-1];this.#r(s,a),o(this.#A,e=>{if(e){super.onResponseError(a,e);return}super.onResponseEnd(a,{})})}#i(){this.#A.length=0}onResponseStart(a,s,e,t){const n=e["content-encoding"];if(this.#s(n,s))return super.onResponseStart(a,s,e,t);const i=this.#o(n.toLowerCase());if(i.length===0)return this.#i(),super.onResponseStart(a,s,e,t);this.#A=i;const{"content-encoding":p,"content-length":y,...l}=e;if(a?.rawHeaders){const r=a.rawHeaders;if(Array.isArray(r)){const I=[];for(let Q=0;Q<r.length;Q+=2){const E=r[Q],w=(Buffer.isBuffer(E)?E.toString("latin1"):`${E}`).toLowerCase();w==="content-encoding"||w==="content-length"||I.push(r[Q],r[Q+1])}a.rawHeaders=I}else if(typeof r=="object")for(const I of Object.keys(r)){const Q=I.toLowerCase();(Q==="content-encoding"||Q==="content-length")&&delete r[I]}}return this.#A.length===1?this.#a(a):this.#n(a),super.onResponseStart(a,s,l,t)}onResponseData(a,s){if(this.#A.length>0){this.#A[0].write(s);return}super.onResponseData(a,s)}onResponseEnd(a,s){if(this.#A.length>0){this.#A[0].end(),this.#i();return}super.onResponseEnd(a,s)}onResponseError(a,s){if(this.#A.length>0){for(const e of this.#A)e.destroy(s);this.#i()}super.onResponseError(a,s)}}function h(c={}){return f||(process.emitWarning("DecompressInterceptor is experimental and subject to change","ExperimentalWarning"),f=!0),a=>(s,e)=>{const t=new D(e,c);return a(s,t)}}return Pr=h,Pr}var _r,gn;function ra(){if(gn)return _r;gn=1;const{RequestAbortedError:A}=MA(),u=5*1024*1024;class d{#A;#e=[];#t=u;#s=0;#o={};#r="";#a=!1;#n=!1;#i=!1;#g=!1;#E=null;#c=null;constructor(o,C,g=u){this.#A=o,this.#c=C,this.#t=g}addWaitingHandler(o){if(this.#g||this.#i)return!1;const C=this.#l(o),g=C.controller;try{if(o.onRequestStart?.(g,null),g.aborted)return C.done=!0,!0;this.#n&&o.onResponseStart?.(g,this.#s,this.#o,this.#r)}catch{return C.done=!0,!0}return g.aborted||this.#e.push(C),!0}onRequestStart(o,C){this.#E=o,this.#A.onRequestStart?.(o,C)}onRequestUpgrade(o,C,g,B){this.#A.onRequestUpgrade?.(o,C,g,B)}onResponseStart(o,C,g,B){this.#n=!0,this.#s=C,this.#o=g,this.#r=B,this.#A.onResponseStart?.(o,C,g,B);for(const f of this.#e){const{handler:D,controller:h}=f;if(f.done||h.aborted){f.done=!0;continue}try{D.onResponseStart?.(h,C,g,B)}catch{}h.aborted&&(f.done=!0)}this.#I()}onResponseData(o,C){if(!(this.#a||this.#g)){this.#i=!0,this.#A.onResponseData?.(o,C);for(const g of this.#e){const{handler:B,controller:f}=g;if(g.done||f.aborted){g.done=!0;continue}if(f.paused){this.#Q(g,C);continue}try{B.onResponseData?.(f,C)}catch{}f.aborted&&(g.done=!0,g.bufferedChunks=[],g.bufferedBytes=0)}this.#I()}}onResponseEnd(o,C){if(!(this.#a||this.#g)){this.#g=!0,this.#A.onResponseEnd?.(o,C);for(const g of this.#e){if(g.done||g.controller.aborted){g.done=!0;continue}if(this.#h(g),g.done||g.controller.aborted){g.done=!0;continue}if(g.controller.paused&&g.bufferedChunks.length>0){g.pendingTrailers=C;continue}try{g.handler.onResponseEnd?.(g.controller,C)}catch{}g.done=!0}this.#I(),this.#c?.()}}onResponseError(o,C){if(!this.#g){this.#a=!0,this.#g=!0,this.#A.onResponseError?.(o,C);for(const g of this.#e)this.#B(g,C);this.#e=[],this.#c?.()}}#l(o){const C={handler:o,controller:null,bufferedChunks:[],bufferedBytes:0,pendingTrailers:null,done:!1},g={aborted:!1,paused:!1,reason:null};return C.controller={resume:()=>{if(!g.aborted){if(g.paused=!1,this.#h(C),this.#g&&C.pendingTrailers&&C.bufferedChunks.length===0&&!g.paused&&!g.aborted){try{C.handler.onResponseEnd?.(C.controller,C.pendingTrailers)}catch{}C.pendingTrailers=null,C.done=!0}this.#I()}},pause:()=>{g.aborted||(g.paused=!0)},get paused(){return g.paused},get aborted(){return g.aborted},get reason(){return g.reason},abort:B=>{g.aborted=!0,g.reason=B??null,C.done=!0,C.pendingTrailers=null,C.bufferedChunks=[],C.bufferedBytes=0}},C}#Q(o,C){if(o.done||o.controller.aborted){o.done=!0,o.bufferedChunks=[],o.bufferedBytes=0;return}const g=Buffer.from(C);if(o.bufferedChunks.push(g),o.bufferedBytes+=g.length,o.bufferedBytes>this.#t){const B=new A(`Deduplicated waiting handler exceeded maxBufferSize (${this.#t} bytes) while paused`);this.#B(o,B)}}#h(o){const{handler:C,controller:g}=o;for(;!o.done&&!g.aborted&&!g.paused&&o.bufferedChunks.length>0;){const B=o.bufferedChunks.shift();o.bufferedBytes-=B.length;try{C.onResponseData?.(g,B)}catch{}if(g.aborted){o.done=!0,o.pendingTrailers=null,o.bufferedChunks=[],o.bufferedBytes=0;break}}}#B(o,C){if(!o.done){o.done=!0,o.pendingTrailers=null,o.bufferedChunks=[],o.bufferedBytes=0;try{o.controller.abort(C),o.handler.onResponseError?.(o.controller,C)}catch{}}}#I(){this.#e=this.#e.filter(o=>o.done===!1)}}return _r=d,_r}var Zr,cn;function sa(){if(cn)return Zr;cn=1;const A=Gn,u=LA(),d=ra(),{normalizeHeaders:N,makeCacheKey:o,makeDeduplicationKey:C}=it(),g=A.channel("undici:request:pending-requests");return Zr=(B={})=>{const{methods:f=["GET"],skipHeaderNames:D=[],excludeHeaderNames:h=[],maxBufferSize:c=5*1024*1024}=B;if(typeof B!="object"||B===null)throw new TypeError(`expected type of opts to be an Object, got ${B===null?"null":typeof B}`);if(!Array.isArray(f))throw new TypeError(`expected opts.methods to be an array, got ${typeof f}`);for(const t of f)if(!u.safeHTTPMethods.includes(t))throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${t}`);if(!Array.isArray(D))throw new TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof D}`);if(!Array.isArray(h))throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof h}`);if(!Number.isFinite(c)||c<=0)throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${c}`);const a=new Set(D.map(t=>t.toLowerCase())),s=new Set(h.map(t=>t.toLowerCase())),e=new Map;return t=>(n,i)=>{if(!n.origin||f.includes(n.method)===!1)return t(n,i);if(n={...n,headers:N(n)},a.size>0){for(const I of Object.keys(n.headers))if(a.has(I.toLowerCase()))return t(n,i)}const p=o(n),y=C(p,s),l=e.get(y);if(l)return l.addWaitingHandler(i)?!0:t(n,i);const r=new d(i,()=>{e.delete(y),g.hasSubscribers&&g.publish({size:e.size,key:y,type:"removed"})},c);return e.set(y,r),g.hasSubscribers&&g.publish({size:e.size,key:y,type:"added"}),t(n,r)}},Zr}var Xr,En;function oa(){if(En)return Xr;En=1;const{Writable:A}=Ce,{assertCacheKey:u,assertCacheValue:d}=it();let N;const o=3,C=2*1e3*1e3*1e3;Xr=class{#A=C;#e=1/0;#t;#s;#o;#r;#a;#n;#i;#g;constructor(B){if(B){if(typeof B!="object")throw new TypeError("SqliteCacheStore options must be an object");if(B.maxEntrySize!==void 0){if(typeof B.maxEntrySize!="number"||!Number.isInteger(B.maxEntrySize)||B.maxEntrySize<0)throw new TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");if(B.maxEntrySize>C)throw new TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");this.#A=B.maxEntrySize}if(B.maxCount!==void 0){if(typeof B.maxCount!="number"||!Number.isInteger(B.maxCount)||B.maxCount<0)throw new TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");this.#e=B.maxCount}}N||(N=Vn.DatabaseSync),this.#t=new N(B?.location??":memory:"),this.#t.exec(`
48
- PRAGMA journal_mode = WAL;
49
- PRAGMA synchronous = NORMAL;
50
- PRAGMA temp_store = memory;
51
- PRAGMA optimize;
52
-
53
- CREATE TABLE IF NOT EXISTS cacheInterceptorV${o} (
54
- -- Data specific to us
55
- id INTEGER PRIMARY KEY AUTOINCREMENT,
56
- url TEXT NOT NULL,
57
- method TEXT NOT NULL,
58
-
59
- -- Data returned to the interceptor
60
- body BUF NULL,
61
- deleteAt INTEGER NOT NULL,
62
- statusCode INTEGER NOT NULL,
63
- statusMessage TEXT NOT NULL,
64
- headers TEXT NULL,
65
- cacheControlDirectives TEXT NULL,
66
- etag TEXT NULL,
67
- vary TEXT NULL,
68
- cachedAt INTEGER NOT NULL,
69
- staleAt INTEGER NOT NULL
70
- );
71
-
72
- CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${o}_getValuesQuery ON cacheInterceptorV${o}(url, method, deleteAt);
73
- CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${o}_deleteByUrlQuery ON cacheInterceptorV${o}(deleteAt);
74
- `),this.#s=this.#t.prepare(`
75
- SELECT
76
- id,
77
- body,
78
- deleteAt,
79
- statusCode,
80
- statusMessage,
81
- headers,
82
- etag,
83
- cacheControlDirectives,
84
- vary,
85
- cachedAt,
86
- staleAt
87
- FROM cacheInterceptorV${o}
88
- WHERE
89
- url = ?
90
- AND method = ?
91
- ORDER BY
92
- deleteAt ASC
93
- `),this.#o=this.#t.prepare(`
94
- UPDATE cacheInterceptorV${o} SET
95
- body = ?,
96
- deleteAt = ?,
97
- statusCode = ?,
98
- statusMessage = ?,
99
- headers = ?,
100
- etag = ?,
101
- cacheControlDirectives = ?,
102
- vary = ?,
103
- cachedAt = ?,
104
- staleAt = ?
105
- WHERE
106
- id = ?
107
- `),this.#r=this.#t.prepare(`
108
- INSERT INTO cacheInterceptorV${o} (
109
- url,
110
- method,
111
- body,
112
- deleteAt,
113
- statusCode,
114
- statusMessage,
115
- headers,
116
- etag,
117
- cacheControlDirectives,
118
- vary,
119
- cachedAt,
120
- staleAt
121
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
122
- `),this.#n=this.#t.prepare(`DELETE FROM cacheInterceptorV${o} WHERE url = ?`),this.#i=this.#t.prepare(`SELECT COUNT(*) AS total FROM cacheInterceptorV${o}`),this.#a=this.#t.prepare(`DELETE FROM cacheInterceptorV${o} WHERE deleteAt <= ?`),this.#g=this.#e===1/0?null:this.#t.prepare(`
123
- DELETE FROM cacheInterceptorV${o}
124
- WHERE id IN (
125
- SELECT
126
- id
127
- FROM cacheInterceptorV${o}
128
- ORDER BY cachedAt ASC
129
- LIMIT ?
1
+ import{createRequire as u}from"node:module";let _;const $=t=>(_??=u(import.meta.url))(t),p=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,h=t=>{if(typeof p<"u"&&p.versions&&p.versions.node){const[i,e]=p.versions.node.split(".").map(Number);if(i>22||i===22&&e>=3||i===20&&e>=16)return p.getBuiltinModule(t)}return $(t)},f=h("node:assert");function g(t,i){return`#compdef ${t}
2
+ compdef _${t} ${t}
3
+
4
+ # zsh completion for ${t} -*- shell-script -*-
5
+
6
+ __${t}_debug() {
7
+ local file="$BASH_COMP_DEBUG_FILE"
8
+ if [[ -n \${file} ]]; then
9
+ echo "$*" >> "\${file}"
10
+ fi
11
+ }
12
+
13
+ _${t}() {
14
+ local shellCompDirectiveError=${n.ShellCompDirectiveError}
15
+ local shellCompDirectiveNoSpace=${n.ShellCompDirectiveNoSpace}
16
+ local shellCompDirectiveNoFileComp=${n.ShellCompDirectiveNoFileComp}
17
+ local shellCompDirectiveFilterFileExt=${n.ShellCompDirectiveFilterFileExt}
18
+ local shellCompDirectiveFilterDirs=${n.ShellCompDirectiveFilterDirs}
19
+ local shellCompDirectiveKeepOrder=${n.ShellCompDirectiveKeepOrder}
20
+
21
+ local lastParam lastChar flagPrefix requestComp out directive comp lastComp noSpace keepOrder
22
+ local -a completions
23
+
24
+ __${t}_debug "\\n========= starting completion logic =========="
25
+ __${t}_debug "CURRENT: \${CURRENT}, words[*]: \${words[*]}"
26
+
27
+ # The user could have moved the cursor backwards on the command-line.
28
+ # We need to trigger completion from the $CURRENT location, so we need
29
+ # to truncate the command-line ($words) up to the $CURRENT location.
30
+ # (We cannot use $CURSOR as its value does not work when a command is an alias.)
31
+ words=( "\${=words[1,CURRENT]}" )
32
+ __${t}_debug "Truncated words[*]: \${words[*]},"
33
+
34
+ lastParam=\${words[-1]}
35
+ lastChar=\${lastParam[-1]}
36
+ __${t}_debug "lastParam: \${lastParam}, lastChar: \${lastChar}"
37
+
38
+ # For zsh, when completing a flag with an = (e.g., ${t} -n=<TAB>)
39
+ # completions must be prefixed with the flag
40
+ setopt local_options BASH_REMATCH
41
+ if [[ "\${lastParam}" =~ '-.*=' ]]; then
42
+ # We are dealing with a flag with an =
43
+ flagPrefix="-P \${BASH_REMATCH}"
44
+ fi
45
+
46
+ # Prepare the command to obtain completions, ensuring arguments are quoted for eval
47
+ local -a args_to_quote=("\${(@)words[2,-1]}")
48
+ if [ "\${lastChar}" = "" ] && [ "\${args_to_quote[-1]}" != "" ]; then
49
+ # If the last parameter is complete (there is a space following it)
50
+ # We add an extra empty parameter so we can indicate this to the go completion code.
51
+ __${t}_debug "Adding extra empty parameter"
52
+ args_to_quote+=("")
53
+ fi
54
+
55
+ # Use Zsh's (q) flag to quote each argument safely for eval
56
+ local quoted_args=("\${(@q)args_to_quote}")
57
+
58
+ # Join the main command and the quoted arguments into a single string for eval
59
+ requestComp="${i} complete -- \${quoted_args[*]}"
60
+
61
+ __${t}_debug "About to call: eval \${requestComp}"
62
+
63
+ # Use eval to handle any environment variables and such
64
+ out=$(eval \${requestComp} 2>/dev/null)
65
+ __${t}_debug "completion output: \${out}"
66
+
67
+ # Extract the directive integer following a : from the last line
68
+ local lastLine
69
+ while IFS='
70
+ ' read -r line; do
71
+ lastLine=\${line}
72
+ done < <(printf "%s
73
+ " "\${out[@]}")
74
+ __${t}_debug "last line: \${lastLine}"
75
+
76
+ if [ "\${lastLine[1]}" = : ]; then
77
+ directive=\${lastLine[2,-1]}
78
+ # Remove the directive including the : and the newline
79
+ local suffix
80
+ (( suffix=\${#lastLine}+2))
81
+ out=\${out[1,-$suffix]}
82
+ else
83
+ # There is no directive specified. Leave $out as is.
84
+ __${t}_debug "No directive found. Setting to default"
85
+ directive=0
86
+ fi
87
+
88
+ __${t}_debug "directive: \${directive}"
89
+ __${t}_debug "completions: \${out}"
90
+ __${t}_debug "flagPrefix: \${flagPrefix}"
91
+
92
+ if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then
93
+ __${t}_debug "Completion received error. Ignoring completions."
94
+ return
95
+ fi
96
+
97
+ local activeHelpMarker="%"
98
+ local endIndex=\${#activeHelpMarker}
99
+ local startIndex=$((\${#activeHelpMarker}+1))
100
+ local hasActiveHelp=0
101
+ while IFS='
102
+ ' read -r comp; do
103
+ # Check if this is an activeHelp statement (i.e., prefixed with $activeHelpMarker)
104
+ if [ "\${comp[1,$endIndex]}" = "$activeHelpMarker" ];then
105
+ __${t}_debug "ActiveHelp found: $comp"
106
+ comp="\${comp[$startIndex,-1]}"
107
+ if [ -n "$comp" ]; then
108
+ compadd -x "\${comp}"
109
+ __${t}_debug "ActiveHelp will need delimiter"
110
+ hasActiveHelp=1
111
+ fi
112
+ continue
113
+ fi
114
+
115
+ if [ -n "$comp" ]; then
116
+ # If requested, completions are returned with a description.
117
+ # The description is preceded by a TAB character.
118
+ # For zsh's _describe, we need to use a : instead of a TAB.
119
+ # We first need to escape any : as part of the completion itself.
120
+ comp=\${comp//:/\\:}
121
+
122
+ local tab="$(printf '\\t')"
123
+ comp=\${comp//$tab/:}
124
+
125
+ __${t}_debug "Adding completion: \${comp}"
126
+ completions+=\${comp}
127
+ lastComp=$comp
128
+ fi
129
+ done < <(printf "%s
130
+ " "\${out[@]}")
131
+
132
+ # Add a delimiter after the activeHelp statements, but only if:
133
+ # - there are completions following the activeHelp statements, or
134
+ # - file completion will be performed (so there will be choices after the activeHelp)
135
+ if [ $hasActiveHelp -eq 1 ]; then
136
+ if [ \${#completions} -ne 0 ] || [ $((directive & shellCompDirectiveNoFileComp)) -eq 0 ]; then
137
+ __${t}_debug "Adding activeHelp delimiter"
138
+ compadd -x "--"
139
+ hasActiveHelp=0
140
+ fi
141
+ fi
142
+
143
+ if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then
144
+ __${t}_debug "Activating nospace."
145
+ noSpace="-S ''"
146
+ fi
147
+
148
+ if [ $((directive & shellCompDirectiveKeepOrder)) -ne 0 ]; then
149
+ __${t}_debug "Activating keep order."
150
+ keepOrder="-V"
151
+ fi
152
+
153
+ if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then
154
+ # File extension filtering
155
+ local filteringCmd
156
+ filteringCmd='_files'
157
+ for filter in \${completions[@]}; do
158
+ if [ \${filter[1]} != '*' ]; then
159
+ # zsh requires a glob pattern to do file filtering
160
+ filter="\\*.$filter"
161
+ fi
162
+ filteringCmd+=" -g $filter"
163
+ done
164
+ filteringCmd+=" \${flagPrefix}"
165
+
166
+ __${t}_debug "File filtering command: $filteringCmd"
167
+ _arguments '*:filename:'"$filteringCmd"
168
+ elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then
169
+ # File completion for directories only
170
+ local subdir
171
+ subdir="\${completions[1]}"
172
+ if [ -n "$subdir" ]; then
173
+ __${t}_debug "Listing directories in $subdir"
174
+ pushd "\${subdir}" >/dev/null 2>&1
175
+ else
176
+ __${t}_debug "Listing directories in ."
177
+ fi
178
+
179
+ local result
180
+ _arguments '*:dirname:_files -/'" \${flagPrefix}"
181
+ result=$?
182
+ if [ -n "$subdir" ]; then
183
+ popd >/dev/null 2>&1
184
+ fi
185
+ return $result
186
+ else
187
+ __${t}_debug "Calling _describe"
188
+ if eval _describe $keepOrder "completions" completions -Q \${flagPrefix} \${noSpace}; then
189
+ __${t}_debug "_describe found some completions"
190
+
191
+ # Return the success of having called _describe
192
+ return 0
193
+ else
194
+ __${t}_debug "_describe did not find completions."
195
+ __${t}_debug "Checking if we should do file completion."
196
+ if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then
197
+ __${t}_debug "deactivating file completion"
198
+
199
+ # Return 0 to indicate completion is finished and prevent zsh from
200
+ # trying other completion algorithms (which could cause hanging).
201
+ # We use NoFileComp directive to explicitly disable file completion.
202
+ return 0
203
+ else
204
+ # Perform file completion
205
+ __${t}_debug "Activating file completion"
206
+
207
+ # We must return the result of this command, so it must be the
208
+ # last command, or else we must store its result to return it.
209
+ _arguments '*:filename:_files'" \${flagPrefix}"
210
+ fi
211
+ fi
212
+ fi
213
+ }
214
+
215
+ # don't run the completion function when being sourced or eval-ed
216
+ if [ "\${funcstack[1]}" = "_${t}" ]; then
217
+ _${t}
218
+ fi
219
+ `}function v(t,i){let e=t.replace(/[-:]/g,"_");return`# bash completion for ${t}
220
+
221
+ # Define shell completion directives
222
+ readonly ShellCompDirectiveError=${n.ShellCompDirectiveError}
223
+ readonly ShellCompDirectiveNoSpace=${n.ShellCompDirectiveNoSpace}
224
+ readonly ShellCompDirectiveNoFileComp=${n.ShellCompDirectiveNoFileComp}
225
+ readonly ShellCompDirectiveFilterFileExt=${n.ShellCompDirectiveFilterFileExt}
226
+ readonly ShellCompDirectiveFilterDirs=${n.ShellCompDirectiveFilterDirs}
227
+ readonly ShellCompDirectiveKeepOrder=${n.ShellCompDirectiveKeepOrder}
228
+
229
+ # Function to debug completion
230
+ __${e}_debug() {
231
+ if [[ -n \${BASH_COMP_DEBUG_FILE:-} ]]; then
232
+ echo "$*" >> "\${BASH_COMP_DEBUG_FILE}"
233
+ fi
234
+ }
235
+
236
+ # Function to handle completions
237
+ __${e}_complete() {
238
+ local cur prev words cword
239
+ _get_comp_words_by_ref -n "=:" cur prev words cword
240
+
241
+ local requestComp out directive
242
+
243
+ # Build the command to get completions
244
+ requestComp="${i} complete -- \${words[@]:1}"
245
+
246
+ # Add an empty parameter if the last parameter is complete
247
+ if [[ -z "$cur" ]]; then
248
+ requestComp="$requestComp ''"
249
+ fi
250
+
251
+ # Get completions from the program
252
+ out=$(eval "$requestComp" 2>/dev/null)
253
+
254
+ # Extract directive if present
255
+ directive=0
256
+ if [[ "$out" == *:* ]]; then
257
+ directive=\${out##*:}
258
+ out=\${out%:*}
259
+ fi
260
+
261
+ # Process completions based on directive
262
+ if [[ $((directive & $ShellCompDirectiveError)) -ne 0 ]]; then
263
+ # Error, no completion
264
+ return
265
+ fi
266
+
267
+ # Apply directives
268
+ if [[ $((directive & $ShellCompDirectiveNoSpace)) -ne 0 ]]; then
269
+ compopt -o nospace
270
+ fi
271
+ if [[ $((directive & $ShellCompDirectiveKeepOrder)) -ne 0 ]]; then
272
+ compopt -o nosort
273
+ fi
274
+ if [[ $((directive & $ShellCompDirectiveNoFileComp)) -ne 0 ]]; then
275
+ compopt +o default
276
+ fi
277
+
278
+ # Handle file extension filtering
279
+ if [[ $((directive & $ShellCompDirectiveFilterFileExt)) -ne 0 ]]; then
280
+ local filter=""
281
+ for ext in $out; do
282
+ filter="$filter|$ext"
283
+ done
284
+ filter="\\.($filter)"
285
+ compopt -o filenames
286
+ COMPREPLY=( $(compgen -f -X "!$filter" -- "$cur") )
287
+ return
288
+ fi
289
+
290
+ # Handle directory filtering
291
+ if [[ $((directive & $ShellCompDirectiveFilterDirs)) -ne 0 ]]; then
292
+ compopt -o dirnames
293
+ COMPREPLY=( $(compgen -d -- "$cur") )
294
+ return
295
+ fi
296
+
297
+ # Process completions
298
+ local IFS=$'\\n'
299
+ local tab=$(printf '\\t')
300
+
301
+ # Parse completions with descriptions
302
+ local completions=()
303
+ while read -r comp; do
304
+ if [[ "$comp" == *$tab* ]]; then
305
+ # Split completion and description
306
+ local value=\${comp%%$tab*}
307
+ local desc=\${comp#*$tab}
308
+ completions+=("$value")
309
+ else
310
+ completions+=("$comp")
311
+ fi
312
+ done <<< "$out"
313
+
314
+ # Return completions
315
+ COMPREPLY=( $(compgen -W "\${completions[*]}" -- "$cur") )
316
+ }
317
+
318
+ # Register completion function
319
+ complete -F __${e}_complete ${t}
320
+ `}function C(t,i){let e=t.replace(/[-:]/g,"_"),o=n.ShellCompDirectiveError,l=n.ShellCompDirectiveNoSpace,r=n.ShellCompDirectiveNoFileComp,s=n.ShellCompDirectiveFilterFileExt,a=n.ShellCompDirectiveFilterDirs;return`# fish completion for ${t} -*- shell-script -*-
321
+
322
+ function __${e}_debug
323
+ set -l file "$BASH_COMP_DEBUG_FILE"
324
+ if test -n "$file"
325
+ echo "$argv" >> $file
326
+ end
327
+ end
328
+
329
+ function __${e}_perform_completion
330
+ __${e}_debug "Starting __${e}_perform_completion"
331
+
332
+ # Extract all args except the last one
333
+ set -l args (commandline -opc)
334
+ # Extract the last arg and escape it in case it is a space or wildcard
335
+ set -l lastArg (string escape -- (commandline -ct))
336
+
337
+ __${e}_debug "args: $args"
338
+ __${e}_debug "last arg: $lastArg"
339
+
340
+ # Build the completion request command
341
+ set -l requestComp "${i} complete -- (string join ' ' -- (string escape -- $args[2..-1])) $lastArg"
342
+
343
+ __${e}_debug "Calling $requestComp"
344
+ set -l results (eval $requestComp 2> /dev/null)
345
+
346
+ # Some programs may output extra empty lines after the directive.
347
+ # Let's ignore them or else it will break completion.
348
+ # Ref: https://github.com/spf13/cobra/issues/1279
349
+ for line in $results[-1..1]
350
+ if test (string trim -- $line) = ""
351
+ # Found an empty line, remove it
352
+ set results $results[1..-2]
353
+ else
354
+ # Found non-empty line, we have our proper output
355
+ break
356
+ end
357
+ end
358
+
359
+ set -l comps $results[1..-2]
360
+ set -l directiveLine $results[-1]
361
+
362
+ # For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
363
+ # completions must be prefixed with the flag
364
+ set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
365
+
366
+ __${e}_debug "Comps: $comps"
367
+ __${e}_debug "DirectiveLine: $directiveLine"
368
+ __${e}_debug "flagPrefix: $flagPrefix"
369
+
370
+ for comp in $comps
371
+ printf "%s%s\\n" "$flagPrefix" "$comp"
372
+ end
373
+
374
+ printf "%s\\n" "$directiveLine"
375
+ end
376
+
377
+ # This function limits calls to __${e}_perform_completion, by caching the result
378
+ function __${e}_perform_completion_once
379
+ __${e}_debug "Starting __${e}_perform_completion_once"
380
+
381
+ if test -n "$__${e}_perform_completion_once_result"
382
+ __${e}_debug "Seems like a valid result already exists, skipping __${e}_perform_completion"
383
+ return 0
384
+ end
385
+
386
+ set --global __${e}_perform_completion_once_result (__${e}_perform_completion)
387
+ if test -z "$__${e}_perform_completion_once_result"
388
+ __${e}_debug "No completions, probably due to a failure"
389
+ return 1
390
+ end
391
+
392
+ __${e}_debug "Performed completions and set __${e}_perform_completion_once_result"
393
+ return 0
394
+ end
395
+
396
+ # This function is used to clear the cached result after completions are run
397
+ function __${e}_clear_perform_completion_once_result
398
+ __${e}_debug ""
399
+ __${e}_debug "========= clearing previously set __${e}_perform_completion_once_result variable =========="
400
+ set --erase __${e}_perform_completion_once_result
401
+ __${e}_debug "Successfully erased the variable __${e}_perform_completion_once_result"
402
+ end
403
+
404
+ function __${e}_requires_order_preservation
405
+ __${e}_debug ""
406
+ __${e}_debug "========= checking if order preservation is required =========="
407
+
408
+ __${e}_perform_completion_once
409
+ if test -z "$__${e}_perform_completion_once_result"
410
+ __${e}_debug "Error determining if order preservation is required"
411
+ return 1
412
+ end
413
+
414
+ set -l directive (string sub --start 2 $__${e}_perform_completion_once_result[-1])
415
+ __${e}_debug "Directive is: $directive"
416
+
417
+ set -l shellCompDirectiveKeepOrder ${n.ShellCompDirectiveKeepOrder}
418
+ set -l keeporder (math (math --scale 0 $directive / $shellCompDirectiveKeepOrder) % 2)
419
+ __${e}_debug "Keeporder is: $keeporder"
420
+
421
+ if test $keeporder -ne 0
422
+ __${e}_debug "This does require order preservation"
423
+ return 0
424
+ end
425
+
426
+ __${e}_debug "This doesn't require order preservation"
427
+ return 1
428
+ end
429
+
430
+ # This function does two things:
431
+ # - Obtain the completions and store them in the global __${e}_comp_results
432
+ # - Return false if file completion should be performed
433
+ function __${e}_prepare_completions
434
+ __${e}_debug ""
435
+ __${e}_debug "========= starting completion logic =========="
436
+
437
+ # Start fresh
438
+ set --erase __${e}_comp_results
439
+
440
+ __${e}_perform_completion_once
441
+ __${e}_debug "Completion results: $__${e}_perform_completion_once_result"
442
+
443
+ if test -z "$__${e}_perform_completion_once_result"
444
+ __${e}_debug "No completion, probably due to a failure"
445
+ # Might as well do file completion, in case it helps
446
+ return 1
447
+ end
448
+
449
+ set -l directive (string sub --start 2 $__${e}_perform_completion_once_result[-1])
450
+ set --global __${e}_comp_results $__${e}_perform_completion_once_result[1..-2]
451
+
452
+ __${e}_debug "Completions are: $__${e}_comp_results"
453
+ __${e}_debug "Directive is: $directive"
454
+
455
+ set -l shellCompDirectiveError ${o}
456
+ set -l shellCompDirectiveNoSpace ${l}
457
+ set -l shellCompDirectiveNoFileComp ${r}
458
+ set -l shellCompDirectiveFilterFileExt ${s}
459
+ set -l shellCompDirectiveFilterDirs ${a}
460
+
461
+ if test -z "$directive"
462
+ set directive 0
463
+ end
464
+
465
+ set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
466
+ if test $compErr -eq 1
467
+ __${e}_debug "Received error directive: aborting."
468
+ # Might as well do file completion, in case it helps
469
+ return 1
470
+ end
471
+
472
+ set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
473
+ set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
474
+ if test $filefilter -eq 1; or test $dirfilter -eq 1
475
+ __${e}_debug "File extension filtering or directory filtering not supported"
476
+ # Do full file completion instead
477
+ return 1
478
+ end
479
+
480
+ set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
481
+ set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
482
+
483
+ __${e}_debug "nospace: $nospace, nofiles: $nofiles"
484
+
485
+ # If we want to prevent a space, or if file completion is NOT disabled,
486
+ # we need to count the number of valid completions.
487
+ # To do so, we will filter on prefix as the completions we have received
488
+ # may not already be filtered so as to allow fish to match on different
489
+ # criteria than the prefix.
490
+ if test $nospace -ne 0; or test $nofiles -eq 0
491
+ set -l prefix (commandline -t | string escape --style=regex)
492
+ __${e}_debug "prefix: $prefix"
493
+
494
+ set -l completions (string match -r -- "^$prefix.*" $__${e}_comp_results)
495
+ set --global __${e}_comp_results $completions
496
+ __${e}_debug "Filtered completions are: $__${e}_comp_results"
497
+
498
+ # Important not to quote the variable for count to work
499
+ set -l numComps (count $__${e}_comp_results)
500
+ __${e}_debug "numComps: $numComps"
501
+
502
+ if test $numComps -eq 1; and test $nospace -ne 0
503
+ # We must first split on \\t to get rid of the descriptions to be
504
+ # able to check what the actual completion will be.
505
+ # We don't need descriptions anyway since there is only a single
506
+ # real completion which the shell will expand immediately.
507
+ set -l split (string split --max 1 "\\t" $__${e}_comp_results[1])
508
+
509
+ # Fish won't add a space if the completion ends with any
510
+ # of the following characters: @=/:.,
511
+ set -l lastChar (string sub -s -1 -- $split)
512
+ if not string match -r -q "[@=/:.,]" -- "$lastChar"
513
+ # In other cases, to support the "nospace" directive we trick the shell
514
+ # by outputting an extra, longer completion.
515
+ __${e}_debug "Adding second completion to perform nospace directive"
516
+ set --global __${e}_comp_results $split[1] $split[1].
517
+ __${e}_debug "Completions are now: $__${e}_comp_results"
518
+ end
519
+ end
520
+
521
+ if test $numComps -eq 0; and test $nofiles -eq 0
522
+ # To be consistent with bash and zsh, we only trigger file
523
+ # completion when there are no other completions
524
+ __${e}_debug "Requesting file completion"
525
+ return 1
526
+ end
527
+ end
528
+
529
+ return 0
530
+ end
531
+
532
+ # Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
533
+ # so we can properly delete any completions provided by another script.
534
+ # Only do this if the program can be found, or else fish may print some errors; besides,
535
+ # the existing completions will only be loaded if the program can be found.
536
+ if type -q "${t}"
537
+ # The space after the program name is essential to trigger completion for the program
538
+ # and not completion of the program name itself.
539
+ # Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
540
+ complete --do-complete "${t} " > /dev/null 2>&1
541
+ end
542
+
543
+ # Remove any pre-existing completions for the program since we will be handling all of them.
544
+ complete -c ${t} -e
545
+
546
+ # This will get called after the two calls below and clear the cached result
547
+ complete -c ${t} -n '__${e}_clear_perform_completion_once_result'
548
+ # The call to __${e}_prepare_completions will setup __${e}_comp_results
549
+ # which provides the program's completion choices.
550
+ # If this doesn't require order preservation, we don't use the -k flag
551
+ complete -c ${t} -n 'not __${e}_requires_order_preservation && __${e}_prepare_completions' -f -a '$__${e}_comp_results'
552
+ # Otherwise we use the -k flag
553
+ complete -k -c ${t} -n '__${e}_requires_order_preservation && __${e}_prepare_completions' -f -a '$__${e}_comp_results'
554
+ `}function b(t,i){let e=t.replace(/[-:]/g,"_");return`# powershell completion for ${t} -*- shell-script -*-
555
+
556
+ [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
557
+ function __${t}_debug {
558
+ if ($env:BASH_COMP_DEBUG_FILE) {
559
+ "$args" | Out-File -Append -FilePath "$env:BASH_COMP_DEBUG_FILE"
560
+ }
561
+ }
562
+
563
+ filter __${t}_escapeStringWithSpecialChars {
564
+ $_ -replace '\\s|#|@|\\$|;|,|''|\\{|\\}|\\(|\\)|"|\\||<|>|&','\`$&'
565
+ }
566
+
567
+ [scriptblock]$__${e}CompleterBlock = {
568
+ param(
569
+ $WordToComplete,
570
+ $CommandAst,
571
+ $CursorPosition
130
572
  )
131
- `)}close(){this.#t.close()}get(B){u(B);const f=this.#l(B);return f?{body:f.body?Buffer.from(f.body.buffer,f.body.byteOffset,f.body.byteLength):void 0,statusCode:f.statusCode,statusMessage:f.statusMessage,headers:f.headers?JSON.parse(f.headers):void 0,etag:f.etag?f.etag:void 0,vary:f.vary?JSON.parse(f.vary):void 0,cacheControlDirectives:f.cacheControlDirectives?JSON.parse(f.cacheControlDirectives):void 0,cachedAt:f.cachedAt,staleAt:f.staleAt,deleteAt:f.deleteAt}:void 0}set(B,f){u(B);const D=this.#c(B),h=Array.isArray(f.body)?Buffer.concat(f.body):f.body,c=h?.byteLength;if(c&&c>this.#A)return;const a=this.#l(B,!0);a?this.#o.run(h,f.deleteAt,f.statusCode,f.statusMessage,f.headers?JSON.stringify(f.headers):null,f.etag?f.etag:null,f.cacheControlDirectives?JSON.stringify(f.cacheControlDirectives):null,f.vary?JSON.stringify(f.vary):null,f.cachedAt,f.staleAt,a.id):(this.#r.run(D,B.method,h,f.deleteAt,f.statusCode,f.statusMessage,f.headers?JSON.stringify(f.headers):null,f.etag?f.etag:null,f.cacheControlDirectives?JSON.stringify(f.cacheControlDirectives):null,f.vary?JSON.stringify(f.vary):null,f.cachedAt,f.staleAt),this.#E())}createWriteStream(B,f){u(B),d(f);let D=0;const h=[],c=this;return new A({decodeStrings:!0,write(a,s,e){D+=a.byteLength,D<=c.#A?h.push(a):this.destroy(),e()},final(a){c.set(B,{...f,body:h}),a()}})}delete(B){if(typeof B!="object")throw new TypeError(`expected key to be object, got ${typeof B}`);this.#n.run(this.#c(B))}#E(){if(Number.isFinite(this.#e)&&this.size<=this.#e)return 0;{const B=this.#a.run(Date.now()).changes;if(B)return B}{const B=this.#g?.run(Math.max(Math.floor(this.#e*.1),1)).changes;if(B)return B}return 0}get size(){const{total:B}=this.#i.get();return B}#c(B){return`${B.origin}/${B.path}`}#l(B,f=!1){const D=this.#c(B),{headers:h,method:c}=B,a=this.#s.all(D,c);if(a.length===0)return;const s=Date.now();for(const e of a){if(s>=e.deleteAt&&!f)continue;let t=!0;if(e.vary){const n=JSON.parse(e.vary);for(const i in n)if(!g(h[i],n[i])){t=!1;break}}if(t)return e}}};function g(B,f){return B==null&&f==null?!0:B==null&&f!=null||B!=null&&f==null?!1:Array.isArray(B)&&Array.isArray(f)?B.length!==f.length?!1:B.every((D,h)=>D===f[h]):B===f}return Xr}var Kr,ln;function Ze(){if(ln)return Kr;ln=1;const{kConstruct:A}=jA(),{kEnumerableProperty:u}=LA(),{iteratorMixin:d,isValidHeaderName:N,isValidHeaderValue:o}=De(),{webidl:C}=Ie(),g=qA,B=Se;function f(l){return l===10||l===13||l===9||l===32}function D(l){let r=0,I=l.length;for(;I>r&&f(l.charCodeAt(I-1));)--I;for(;I>r&&f(l.charCodeAt(r));)++r;return r===0&&I===l.length?l:l.substring(r,I)}function h(l,r){if(Array.isArray(r))for(let I=0;I<r.length;++I){const Q=r[I];if(Q.length!==2)throw C.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${Q.length}.`});c(l,Q[0],Q[1])}else if(typeof r=="object"&&r!==null){const I=Object.keys(r);for(let Q=0;Q<I.length;++Q)c(l,I[Q],r[I[Q]])}else throw C.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}function c(l,r,I){if(I=D(I),N(r)){if(!o(I))throw C.errors.invalidArgument({prefix:"Headers.append",value:I,type:"header value"})}else throw C.errors.invalidArgument({prefix:"Headers.append",value:r,type:"header name"});if(n(l)==="immutable")throw new TypeError("immutable");return p(l).append(r,I,!1)}function a(l){const r=p(l);if(!r)return[];if(r.sortedMap)return r.sortedMap;const I=[],Q=r.toSortedArray(),E=r.cookies;if(E===null||E.length===1)return r.sortedMap=Q;for(let w=0;w<Q.length;++w){const{0:F,1:U}=Q[w];if(F==="set-cookie")for(let S=0;S<E.length;++S)I.push([F,E[S]]);else I.push([F,U])}return r.sortedMap=I}function s(l,r){return l[0]<r[0]?-1:1}class e{cookies=null;sortedMap;headersMap;constructor(r){r instanceof e?(this.headersMap=new Map(r.headersMap),this.sortedMap=r.sortedMap,this.cookies=r.cookies===null?null:[...r.cookies]):(this.headersMap=new Map(r),this.sortedMap=null)}contains(r,I){return this.headersMap.has(I?r:r.toLowerCase())}clear(){this.headersMap.clear(),this.sortedMap=null,this.cookies=null}append(r,I,Q){this.sortedMap=null;const E=Q?r:r.toLowerCase(),w=this.headersMap.get(E);if(w){const F=E==="cookie"?"; ":", ";this.headersMap.set(E,{name:w.name,value:`${w.value}${F}${I}`})}else this.headersMap.set(E,{name:r,value:I});E==="set-cookie"&&(this.cookies??=[]).push(I)}set(r,I,Q){this.sortedMap=null;const E=Q?r:r.toLowerCase();E==="set-cookie"&&(this.cookies=[I]),this.headersMap.set(E,{name:r,value:I})}delete(r,I){this.sortedMap=null,I||(r=r.toLowerCase()),r==="set-cookie"&&(this.cookies=null),this.headersMap.delete(r)}get(r,I){return this.headersMap.get(I?r:r.toLowerCase())?.value??null}*[Symbol.iterator](){for(const{0:r,1:{value:I}}of this.headersMap)yield[r,I]}get entries(){const r={};if(this.headersMap.size!==0)for(const{name:I,value:Q}of this.headersMap.values())r[I]=Q;return r}rawValues(){return this.headersMap.values()}get entriesList(){const r=[];if(this.headersMap.size!==0)for(const{0:I,1:{name:Q,value:E}}of this.headersMap)if(I==="set-cookie")for(const w of this.cookies)r.push([Q,w]);else r.push([Q,E]);return r}toSortedArray(){const r=this.headersMap.size,I=new Array(r);if(r<=32){if(r===0)return I;const Q=this.headersMap[Symbol.iterator](),E=Q.next().value;I[0]=[E[0],E[1].value],g(E[1].value!==null);for(let w=1,F=0,U=0,S=0,m=0,b,M;w<r;++w){for(M=Q.next().value,b=I[w]=[M[0],M[1].value],g(b[1]!==null),S=0,U=w;S<U;)m=S+(U-S>>1),I[m][0]<=b[0]?S=m+1:U=m;if(w!==m){for(F=w;F>S;)I[F]=I[--F];I[S]=b}}if(!Q.next().done)throw new TypeError("Unreachable");return I}else{let Q=0;for(const{0:E,1:{value:w}}of this.headersMap)I[Q++]=[E,w],g(w!==null);return I.sort(s)}}}class t{#A;#e;constructor(r=void 0){C.util.markAsUncloneable(this),r!==A&&(this.#e=new e,this.#A="none",r!==void 0&&(r=C.converters.HeadersInit(r,"Headers constructor","init"),h(this,r)))}append(r,I){C.brandCheck(this,t),C.argumentLengthCheck(arguments,2,"Headers.append");const Q="Headers.append";return r=C.converters.ByteString(r,Q,"name"),I=C.converters.ByteString(I,Q,"value"),c(this,r,I)}delete(r){if(C.brandCheck(this,t),C.argumentLengthCheck(arguments,1,"Headers.delete"),r=C.converters.ByteString(r,"Headers.delete","name"),!N(r))throw C.errors.invalidArgument({prefix:"Headers.delete",value:r,type:"header name"});if(this.#A==="immutable")throw new TypeError("immutable");this.#e.contains(r,!1)&&this.#e.delete(r,!1)}get(r){C.brandCheck(this,t),C.argumentLengthCheck(arguments,1,"Headers.get");const I="Headers.get";if(r=C.converters.ByteString(r,I,"name"),!N(r))throw C.errors.invalidArgument({prefix:I,value:r,type:"header name"});return this.#e.get(r,!1)}has(r){C.brandCheck(this,t),C.argumentLengthCheck(arguments,1,"Headers.has");const I="Headers.has";if(r=C.converters.ByteString(r,I,"name"),!N(r))throw C.errors.invalidArgument({prefix:I,value:r,type:"header name"});return this.#e.contains(r,!1)}set(r,I){C.brandCheck(this,t),C.argumentLengthCheck(arguments,2,"Headers.set");const Q="Headers.set";if(r=C.converters.ByteString(r,Q,"name"),I=C.converters.ByteString(I,Q,"value"),I=D(I),N(r)){if(!o(I))throw C.errors.invalidArgument({prefix:Q,value:I,type:"header value"})}else throw C.errors.invalidArgument({prefix:Q,value:r,type:"header name"});if(this.#A==="immutable")throw new TypeError("immutable");this.#e.set(r,I,!1)}getSetCookie(){C.brandCheck(this,t);const r=this.#e.cookies;return r?[...r]:[]}[B.inspect.custom](r,I){return I.depth??=r,`Headers ${B.formatWithOptions(I,this.#e.entries)}`}static getHeadersGuard(r){return r.#A}static setHeadersGuard(r,I){r.#A=I}static getHeadersList(r){return r.#e}static setHeadersList(r,I){r.#e=I}}const{getHeadersGuard:n,setHeadersGuard:i,getHeadersList:p,setHeadersList:y}=t;return Reflect.deleteProperty(t,"getHeadersGuard"),Reflect.deleteProperty(t,"setHeadersGuard"),Reflect.deleteProperty(t,"getHeadersList"),Reflect.deleteProperty(t,"setHeadersList"),d("Headers",t,a,0,1),Object.defineProperties(t.prototype,{append:u,delete:u,get:u,has:u,set:u,getSetCookie:u,[Symbol.toStringTag]:{value:"Headers",configurable:!0},[B.inspect.custom]:{enumerable:!1}}),C.converters.HeadersInit=function(l,r,I){if(C.util.Type(l)===C.util.Types.OBJECT){const Q=Reflect.get(l,Symbol.iterator);if(!B.types.isProxy(l)&&Q===t.prototype.entries)try{return p(l).entriesList}catch{}return typeof Q=="function"?C.converters["sequence<sequence<ByteString>>"](l,r,I,Q.bind(l)):C.converters["record<ByteString, ByteString>"](l,r,I)}throw C.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})},Kr={fill:h,compareHeaderName:s,Headers:t,HeadersList:e,getHeadersGuard:n,setHeadersGuard:i,setHeadersList:y,getHeadersList:p},Kr}var zr,Qn;function yt(){if(Qn)return zr;Qn=1;const{Headers:A,HeadersList:u,fill:d,getHeadersGuard:N,setHeadersGuard:o,setHeadersList:C}=Ze(),{extractBody:g,cloneBody:B,mixinBody:f,streamRegistry:D,bodyUnusable:h}=ot(),c=LA(),a=Se,{kEnumerableProperty:s}=c,{isValidReasonPhrase:e,isCancelled:t,isAborted:n,isErrorLike:i,environmentSettingsObject:p}=De(),{redirectStatusSet:y,nullBodyStatus:l}=ut(),{webidl:r}=Ie(),{URLSerializer:I}=we(),{kConstruct:Q}=jA(),E=qA,{isomorphicEncode:w,serializeJavascriptValueToJSONString:F}=be(),U=new TextEncoder("utf-8");class S{#A;#e;static error(){return DA(T(),"immutable")}static json(eA,iA=void 0){r.argumentLengthCheck(arguments,1,"Response.json"),iA!==null&&(iA=r.converters.ResponseInit(iA));const CA=U.encode(F(eA)),NA=g(CA),hA=DA(k({}),"response");return tA(hA,iA,{body:NA[0],type:"application/json"}),hA}static redirect(eA,iA=302){r.argumentLengthCheck(arguments,1,"Response.redirect"),eA=r.converters.USVString(eA),iA=r.converters["unsigned short"](iA);let CA;try{CA=new URL(eA,p.settingsObject.baseUrl)}catch(kA){throw new TypeError(`Failed to parse URL from ${eA}`,{cause:kA})}if(!y.has(iA))throw new RangeError(`Invalid status code ${iA}`);const NA=DA(k({}),"immutable");NA.#e.status=iA;const hA=w(I(CA));return NA.#e.headersList.append("location",hA,!0),NA}constructor(eA=null,iA=void 0){if(r.util.markAsUncloneable(this),eA===Q)return;eA!==null&&(eA=r.converters.BodyInit(eA,"Response","body")),iA=r.converters.ResponseInit(iA),this.#e=k({}),this.#A=new A(Q),o(this.#A,"response"),C(this.#A,this.#e.headersList);let CA=null;if(eA!=null){const[NA,hA]=g(eA);CA={body:NA,type:hA}}tA(this,iA,CA)}get type(){return r.brandCheck(this,S),this.#e.type}get url(){r.brandCheck(this,S);const eA=this.#e.urlList,iA=eA[eA.length-1]??null;return iA===null?"":I(iA,!0)}get redirected(){return r.brandCheck(this,S),this.#e.urlList.length>1}get status(){return r.brandCheck(this,S),this.#e.status}get ok(){return r.brandCheck(this,S),this.#e.status>=200&&this.#e.status<=299}get statusText(){return r.brandCheck(this,S),this.#e.statusText}get headers(){return r.brandCheck(this,S),this.#A}get body(){return r.brandCheck(this,S),this.#e.body?this.#e.body.stream:null}get bodyUsed(){return r.brandCheck(this,S),!!this.#e.body&&c.isDisturbed(this.#e.body.stream)}clone(){if(r.brandCheck(this,S),h(this.#e))throw r.errors.exception({header:"Response.clone",message:"Body has already been consumed."});const eA=V(this.#e);return this.#e.urlList.length!==0&&this.#e.body?.stream&&D.register(this,new WeakRef(this.#e.body.stream)),DA(eA,N(this.#A))}[a.inspect.custom](eA,iA){iA.depth===null&&(iA.depth=2),iA.colors??=!0;const CA={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${a.formatWithOptions(iA,CA)}`}static getResponseHeaders(eA){return eA.#A}static setResponseHeaders(eA,iA){eA.#A=iA}static getResponseState(eA){return eA.#e}static setResponseState(eA,iA){eA.#e=iA}}const{getResponseHeaders:m,setResponseHeaders:b,getResponseState:M,setResponseState:Y}=S;Reflect.deleteProperty(S,"getResponseHeaders"),Reflect.deleteProperty(S,"setResponseHeaders"),Reflect.deleteProperty(S,"getResponseState"),Reflect.deleteProperty(S,"setResponseState"),f(S,M),Object.defineProperties(S.prototype,{type:s,url:s,status:s,ok:s,redirected:s,statusText:s,headers:s,clone:s,body:s,bodyUsed:s,[Symbol.toStringTag]:{value:"Response",configurable:!0}}),Object.defineProperties(S,{json:s,redirect:s,error:s});function V(nA){if(nA.internalResponse)return gA(V(nA.internalResponse),nA.type);const eA=k({...nA,body:null});return nA.body!=null&&(eA.body=B(nA.body)),eA}function k(nA){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...nA,headersList:nA?.headersList?new u(nA?.headersList):new u,urlList:nA?.urlList?[...nA.urlList]:[]}}function T(nA){const eA=i(nA);return k({type:"error",status:0,error:eA?nA:new Error(nA&&String(nA)),aborted:nA&&nA.name==="AbortError"})}function x(nA){return nA.type==="error"&&nA.status===0}function z(nA,eA){return eA={internalResponse:nA,...eA},new Proxy(nA,{get(iA,CA){return CA in eA?eA[CA]:iA[CA]},set(iA,CA,NA){return E(!(CA in eA)),iA[CA]=NA,!0}})}function gA(nA,eA){if(eA==="basic")return z(nA,{type:"basic",headersList:nA.headersList});if(eA==="cors")return z(nA,{type:"cors",headersList:nA.headersList});if(eA==="opaque")return z(nA,{type:"opaque",urlList:[],status:0,statusText:"",body:null});if(eA==="opaqueredirect")return z(nA,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});E(!1)}function QA(nA,eA=null){return E(t(nA)),n(nA)?T(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:eA})):T(Object.assign(new DOMException("Request was cancelled."),{cause:eA}))}function tA(nA,eA,iA){if(eA.status!==null&&(eA.status<200||eA.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in eA&&eA.statusText!=null&&!e(String(eA.statusText)))throw new TypeError("Invalid statusText");if("status"in eA&&eA.status!=null&&(M(nA).status=eA.status),"statusText"in eA&&eA.statusText!=null&&(M(nA).statusText=eA.statusText),"headers"in eA&&eA.headers!=null&&d(m(nA),eA.headers),iA){if(l.includes(nA.status))throw r.errors.exception({header:"Response constructor",message:`Invalid response status code ${nA.status}`});M(nA).body=iA.body,iA.type!=null&&!M(nA).headersList.contains("content-type",!0)&&M(nA).headersList.append("content-type",iA.type,!0)}}function DA(nA,eA){const iA=new S(Q);Y(iA,nA);const CA=new A(Q);return b(iA,CA),C(CA,nA.headersList),o(CA,eA),nA.urlList.length!==0&&nA.body?.stream&&D.register(iA,new WeakRef(nA.body.stream)),iA}return r.converters.XMLHttpRequestBodyInit=function(nA,eA,iA){return typeof nA=="string"?r.converters.USVString(nA,eA,iA):r.is.Blob(nA)||r.is.BufferSource(nA)||r.is.FormData(nA)||r.is.URLSearchParams(nA)?nA:r.converters.DOMString(nA,eA,iA)},r.converters.BodyInit=function(nA,eA,iA){return r.is.ReadableStream(nA)||nA?.[Symbol.asyncIterator]?nA:r.converters.XMLHttpRequestBodyInit(nA,eA,iA)},r.converters.ResponseInit=r.dictionaryConverter([{key:"status",converter:r.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:r.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:r.converters.HeadersInit}]),r.is.Response=r.util.MakeTypeAssertion(S),zr={isNetworkError:x,makeNetworkError:T,makeResponse:k,makeAppropriateNetworkError:QA,filterResponse:gA,Response:S,cloneResponse:V,fromInnerResponse:DA,getResponseState:M},zr}var jr,hn;function at(){if(hn)return jr;hn=1;const{extractBody:A,mixinBody:u,cloneBody:d,bodyUnusable:N}=ot(),{Headers:o,fill:C,HeadersList:g,setHeadersGuard:B,getHeadersGuard:f,setHeadersList:D,getHeadersList:h}=Ze(),c=LA(),a=Se,{isValidHTTPToken:s,sameOrigin:e,environmentSettingsObject:t}=De(),{forbiddenMethodsSet:n,corsSafeListedMethodsSet:i,referrerPolicy:p,requestRedirect:y,requestMode:l,requestCredentials:r,requestCache:I,requestDuplex:Q}=ut(),{kEnumerableProperty:E,normalizedMethodRecordsBase:w,normalizedMethodRecords:F}=c,{webidl:U}=Ie(),{URLSerializer:S}=we(),{kConstruct:m}=jA(),b=qA,{getMaxListeners:M,setMaxListeners:Y,defaultMaxListeners:V}=ke,k=Symbol("abortController"),T=new FinalizationRegistry(({signal:AA,abort:G})=>{AA.removeEventListener("abort",G)}),x=new WeakMap;let z;try{z=M(new AbortController().signal)>0}catch{z=!1}function gA(AA){return G;function G(){const rA=AA.deref();if(rA!==void 0){T.unregister(G),this.removeEventListener("abort",G),rA.abort(this.reason);const j=x.get(rA.signal);if(j!==void 0){if(j.size!==0){for(const yA of j){const RA=yA.deref();RA!==void 0&&RA.abort(this.reason)}j.clear()}x.delete(rA.signal)}}}}let QA=!1;class tA{#A;#e;#t;#s;#o=null;constructor(G,rA=void 0){if(U.util.markAsUncloneable(this),G===m)return;U.argumentLengthCheck(arguments,1,"Request constructor"),G=U.converters.RequestInfo(G),rA=U.converters.RequestInit(rA);let j=null,yA=null;const RA=t.settingsObject.baseUrl;let GA=null;if(typeof G=="string"){this.#e=rA.dispatcher;let HA;try{HA=new URL(G,RA)}catch(R){throw new TypeError("Failed to parse URL from "+G,{cause:R})}if(HA.username||HA.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+G);j=kA({urlList:[HA]}),yA="cors"}else b(U.is.Request(G)),j=G.#s,GA=G.#A,this.#e=rA.dispatcher||G.#e;const KA=t.settingsObject.origin;let zA="client";if(j.window?.constructor?.name==="EnvironmentSettingsObject"&&e(j.window,KA)&&(zA=j.window),rA.window!=null)throw new TypeError(`'window' option '${zA}' must be null`);"window"in rA&&(zA="no-window"),j=kA({method:j.method,headersList:j.headersList,unsafeRequest:j.unsafeRequest,client:t.settingsObject,window:zA,priority:j.priority,origin:j.origin,referrer:j.referrer,referrerPolicy:j.referrerPolicy,mode:j.mode,credentials:j.credentials,cache:j.cache,redirect:j.redirect,integrity:j.integrity,keepalive:j.keepalive,reloadNavigation:j.reloadNavigation,historyNavigation:j.historyNavigation,urlList:[...j.urlList]});const Ae=Object.keys(rA).length!==0;if(Ae&&(j.mode==="navigate"&&(j.mode="same-origin"),j.reloadNavigation=!1,j.historyNavigation=!1,j.origin="client",j.referrer="client",j.referrerPolicy="",j.url=j.urlList[j.urlList.length-1],j.urlList=[j.url]),rA.referrer!==void 0){const HA=rA.referrer;if(HA==="")j.referrer="no-referrer";else{let R;try{R=new URL(HA,RA)}catch(_){throw new TypeError(`Referrer "${HA}" is not a valid URL.`,{cause:_})}R.protocol==="about:"&&R.hostname==="client"||KA&&!e(R,t.settingsObject.baseUrl)?j.referrer="client":j.referrer=R}}rA.referrerPolicy!==void 0&&(j.referrerPolicy=rA.referrerPolicy);let oe;if(rA.mode!==void 0?oe=rA.mode:oe=yA,oe==="navigate")throw U.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(oe!=null&&(j.mode=oe),rA.credentials!==void 0&&(j.credentials=rA.credentials),rA.cache!==void 0&&(j.cache=rA.cache),j.cache==="only-if-cached"&&j.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(rA.redirect!==void 0&&(j.redirect=rA.redirect),rA.integrity!=null&&(j.integrity=String(rA.integrity)),rA.keepalive!==void 0&&(j.keepalive=!!rA.keepalive),rA.method!==void 0){let HA=rA.method;const R=F[HA];if(R!==void 0)j.method=R;else{if(!s(HA))throw new TypeError(`'${HA}' is not a valid HTTP method.`);const _=HA.toUpperCase();if(n.has(_))throw new TypeError(`'${HA}' HTTP method is unsupported.`);HA=w[_]??HA,j.method=HA}!QA&&j.method==="patch"&&(process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:"UNDICI-FETCH-patch"}),QA=!0)}rA.signal!==void 0&&(GA=rA.signal),this.#s=j;const ne=new AbortController;if(this.#A=ne.signal,GA!=null)if(GA.aborted)ne.abort(GA.reason);else{this[k]=ne;const HA=new WeakRef(ne),R=gA(HA);z&&M(GA)===V&&Y(1500,GA);const _=c.addAbortListener(GA,R);T.register(ne,{signal:GA,abort:R},R),this.#o=()=>{T.unregister(R),_(),this.#o=null}}if(this.#t=new o(m),D(this.#t,j.headersList),B(this.#t,"request"),oe==="no-cors"){if(!i.has(j.method))throw new TypeError(`'${j.method} is unsupported in no-cors mode.`);B(this.#t,"request-no-cors")}if(Ae){const HA=h(this.#t),R=rA.headers!==void 0?rA.headers:new g(HA);if(HA.clear(),R instanceof g){for(const{name:_,value:cA}of R.rawValues())HA.append(_,cA,!1);HA.cookies=R.cookies}else C(this.#t,R)}const ee=U.is.Request(G)?G.#s.body:null;if((rA.body!=null||ee!=null)&&(j.method==="GET"||j.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let ge=null;if(rA.body!=null){const[HA,R]=A(rA.body,j.keepalive);ge=HA,R&&!h(this.#t).contains("content-type",!0)&&this.#t.append("content-type",R,!0)}const ce=ge??ee;if(ce!=null&&ce.source==null){if(ge!=null&&rA.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(j.mode!=="same-origin"&&j.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');j.useCORSPreflightFlag=!0}let le=ce;if(ge==null&&ee!=null){if(N(G.#s))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");const HA=new TransformStream;ee.stream.pipeThrough(HA),le={source:ee.source,length:ee.length,stream:HA.readable}}this.#s.body=le}get method(){return U.brandCheck(this,tA),this.#s.method}get url(){return U.brandCheck(this,tA),S(this.#s.url)}get headers(){return U.brandCheck(this,tA),this.#t}get destination(){return U.brandCheck(this,tA),this.#s.destination}get referrer(){return U.brandCheck(this,tA),this.#s.referrer==="no-referrer"?"":this.#s.referrer==="client"?"about:client":this.#s.referrer.toString()}get referrerPolicy(){return U.brandCheck(this,tA),this.#s.referrerPolicy}get mode(){return U.brandCheck(this,tA),this.#s.mode}get credentials(){return U.brandCheck(this,tA),this.#s.credentials}get cache(){return U.brandCheck(this,tA),this.#s.cache}get redirect(){return U.brandCheck(this,tA),this.#s.redirect}get integrity(){return U.brandCheck(this,tA),this.#s.integrity}get keepalive(){return U.brandCheck(this,tA),this.#s.keepalive}get isReloadNavigation(){return U.brandCheck(this,tA),this.#s.reloadNavigation}get isHistoryNavigation(){return U.brandCheck(this,tA),this.#s.historyNavigation}get signal(){return U.brandCheck(this,tA),this.#A}get body(){return U.brandCheck(this,tA),this.#s.body?this.#s.body.stream:null}get bodyUsed(){return U.brandCheck(this,tA),!!this.#s.body&&c.isDisturbed(this.#s.body.stream)}get duplex(){return U.brandCheck(this,tA),"half"}clone(){if(U.brandCheck(this,tA),N(this.#s))throw new TypeError("unusable");const G=xA(this.#s),rA=new AbortController;if(this.signal.aborted)rA.abort(this.signal.reason);else{let j=x.get(this.signal);j===void 0&&(j=new Set,x.set(this.signal,j));const yA=new WeakRef(rA);j.add(yA),c.addAbortListener(rA.signal,gA(yA))}return TA(G,this.#e,rA.signal,f(this.#t))}[a.inspect.custom](G,rA){rA.depth===null&&(rA.depth=2),rA.colors??=!0;const j={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${a.formatWithOptions(rA,j)}`}static setRequestSignal(G,rA){return G.#A=rA,G}static getRequestDispatcher(G){return G.#e}static setRequestDispatcher(G,rA){G.#e=rA}static setRequestHeaders(G,rA){G.#t=rA}static getRequestState(G){return G.#s}static setRequestState(G,rA){G.#s=rA}static removeRequestAbortListener(G){G.#o?.()}}const{setRequestSignal:DA,getRequestDispatcher:nA,setRequestDispatcher:eA,setRequestHeaders:iA,getRequestState:CA,setRequestState:NA,removeRequestAbortListener:hA}=tA;Reflect.deleteProperty(tA,"setRequestSignal"),Reflect.deleteProperty(tA,"getRequestDispatcher"),Reflect.deleteProperty(tA,"setRequestDispatcher"),Reflect.deleteProperty(tA,"setRequestHeaders"),Reflect.deleteProperty(tA,"getRequestState"),Reflect.deleteProperty(tA,"setRequestState"),Reflect.deleteProperty(tA,"removeRequestAbortListener"),u(tA,CA);function kA(AA){return{method:AA.method??"GET",localURLsOnly:AA.localURLsOnly??!1,unsafeRequest:AA.unsafeRequest??!1,body:AA.body??null,client:AA.client??null,reservedClient:AA.reservedClient??null,replacesClientId:AA.replacesClientId??"",window:AA.window??"client",keepalive:AA.keepalive??!1,serviceWorkers:AA.serviceWorkers??"all",initiator:AA.initiator??"",destination:AA.destination??"",priority:AA.priority??null,origin:AA.origin??"client",policyContainer:AA.policyContainer??"client",referrer:AA.referrer??"client",referrerPolicy:AA.referrerPolicy??"",mode:AA.mode??"no-cors",useCORSPreflightFlag:AA.useCORSPreflightFlag??!1,credentials:AA.credentials??"same-origin",useCredentials:AA.useCredentials??!1,cache:AA.cache??"default",redirect:AA.redirect??"follow",integrity:AA.integrity??"",cryptoGraphicsNonceMetadata:AA.cryptoGraphicsNonceMetadata??"",parserMetadata:AA.parserMetadata??"",reloadNavigation:AA.reloadNavigation??!1,historyNavigation:AA.historyNavigation??!1,userActivation:AA.userActivation??!1,taintedOrigin:AA.taintedOrigin??!1,redirectCount:AA.redirectCount??0,responseTainting:AA.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:AA.preventNoCacheCacheControlHeaderModification??!1,done:AA.done??!1,timingAllowFailed:AA.timingAllowFailed??!1,useURLCredentials:AA.useURLCredentials??void 0,traversableForUserPrompts:AA.traversableForUserPrompts??"client",urlList:AA.urlList,url:AA.urlList[0],headersList:AA.headersList?new g(AA.headersList):new g}}function xA(AA){const G=kA({...AA,body:null});return AA.body!=null&&(G.body=d(AA.body)),G}function TA(AA,G,rA,j){const yA=new tA(m);NA(yA,AA),eA(yA,G),DA(yA,rA);const RA=new o(m);return iA(yA,RA),D(RA,AA.headersList),B(RA,j),yA}return Object.defineProperties(tA.prototype,{method:E,url:E,headers:E,redirect:E,clone:E,signal:E,duplex:E,destination:E,body:E,bodyUsed:E,isHistoryNavigation:E,isReloadNavigation:E,keepalive:E,integrity:E,cache:E,credentials:E,attribute:E,referrerPolicy:E,referrer:E,mode:E,[Symbol.toStringTag]:{value:"Request",configurable:!0}}),U.is.Request=U.util.MakeTypeAssertion(tA),U.converters.RequestInfo=function(AA){return typeof AA=="string"?U.converters.USVString(AA):U.is.Request(AA)?AA:U.converters.USVString(AA)},U.converters.RequestInit=U.dictionaryConverter([{key:"method",converter:U.converters.ByteString},{key:"headers",converter:U.converters.HeadersInit},{key:"body",converter:U.nullableConverter(U.converters.BodyInit)},{key:"referrer",converter:U.converters.USVString},{key:"referrerPolicy",converter:U.converters.DOMString,allowedValues:p},{key:"mode",converter:U.converters.DOMString,allowedValues:l},{key:"credentials",converter:U.converters.DOMString,allowedValues:r},{key:"cache",converter:U.converters.DOMString,allowedValues:I},{key:"redirect",converter:U.converters.DOMString,allowedValues:y},{key:"integrity",converter:U.converters.DOMString},{key:"keepalive",converter:U.converters.boolean},{key:"signal",converter:U.nullableConverter(AA=>U.converters.AbortSignal(AA,"RequestInit","signal"))},{key:"window",converter:U.converters.any},{key:"duplex",converter:U.converters.DOMString,allowedValues:Q},{key:"dispatcher",converter:U.converters.any},{key:"priority",converter:U.converters.DOMString,allowedValues:["high","low","auto"],defaultValue:()=>"auto"}]),jr={Request:tA,makeRequest:kA,fromInnerRequest:TA,cloneRequest:xA,getRequestDispatcher:nA,getRequestState:CA,removeRequestAbortListener:hA},jr}var $r,In;function na(){if(In)return $r;In=1;const A=qA,{runtimeFeatures:u}=st(),d=new Map([["sha256",0],["sha384",1],["sha512",2]]);let N;if(u.has("crypto")){N=Je;const c=N.getHashes();c.length===0&&d.clear();for(const a of d.keys())c.includes(a)===!1&&d.delete(a)}else d.clear();const o=Map.prototype.get.bind(d),C=Map.prototype.has.bind(d),g=u.has("crypto")===!1||d.size===0?()=>!0:(c,a)=>{const s=f(a);if(s.length===0)return!0;const e=B(s);for(const t of e){const n=t.alg,i=t.val,p=D(n,c);if(h(p,i))return!0}return!1};function B(c){const a=[];let s=null;for(const e of c){if(A(C(e.alg),"Invalid SRI hash algorithm token"),a.length===0){a.push(e),s=e;continue}const t=s.alg,n=o(t),i=e.alg,p=o(i);p<n||(p>n?(s=e,a[0]=e,a.length=1):a.push(e))}return a}function f(c){const a=[];for(const s of c.split(" ")){const e=s.split("?",1)[0];let t="";const n=[e.slice(0,6),e.slice(7)],i=n[0];if(!C(i))continue;n[1]&&(t=n[1]);const p={alg:i,val:t};a.push(p)}return a}const D=(c,a)=>N.hash(c,a,"base64");function h(c,a){let s=c.length;s!==0&&c[s-1]==="="&&(s-=1),s!==0&&c[s-1]==="="&&(s-=1);let e=a.length;if(e!==0&&a[e-1]==="="&&(e-=1),e!==0&&a[e-1]==="="&&(e-=1),s!==e)return!1;for(let t=0;t<s;++t)if(!(c[t]===a[t]||c[t]==="+"&&a[t]==="-"||c[t]==="/"&&a[t]==="_"))return!1;return!0}return $r={applyAlgorithmToBytes:D,bytesMatch:g,caseSensitiveMatch:h,isValidSRIHashAlgorithm:C,getStrongestMetadata:B,parseMetadata:f},$r}var As,Bn;function Dt(){if(Bn)return As;Bn=1;const{makeNetworkError:A,makeAppropriateNetworkError:u,filterResponse:d,makeResponse:N,fromInnerResponse:o,getResponseState:C}=yt(),{HeadersList:g}=Ze(),{Request:B,cloneRequest:f,getRequestDispatcher:D,getRequestState:h,removeRequestAbortListener:c}=at(),a=Ct,{makePolicyContainer:s,clonePolicyContainer:e,requestBadPort:t,TAOCheck:n,appendRequestOriginHeader:i,responseLocationURL:p,requestCurrentURL:y,setRequestReferrerPolicyOnRedirect:l,tryUpgradeRequestToAPotentiallyTrustworthyURL:r,createOpaqueTimingInfo:I,appendFetchMetadata:Q,corsCheck:E,crossOriginResourcePolicyCheck:w,determineRequestsReferrer:F,coarsenedSharedCurrentTime:U,sameOrigin:S,isCancelled:m,isAborted:b,isErrorLike:M,fullyReadBody:Y,readableStreamClose:V,urlIsLocal:k,urlIsHttpHttpsScheme:T,urlHasHttpsScheme:x,clampAndCoarsenConnectionTimingInfo:z,simpleRangeHeaderValue:gA,buildContentRange:QA,createInflate:tA,extractMimeType:DA,hasAuthenticationEntry:nA,includesCredentials:eA,isTraversableNavigable:iA}=De(),CA=qA,{safelyExtractBody:NA,extractBody:hA}=ot(),{redirectStatusSet:kA,nullBodyStatus:xA,safeMethodsSet:TA,requestBodyHeader:AA,subresourceSet:G}=ut(),rA=ke,{Readable:j,pipeline:yA,finished:RA,isErrored:GA,isReadable:KA}=Ce,{addAbortListener:zA,bufferToLowerCasedHeaderName:Ae}=LA(),{dataURLProcessor:oe,serializeAMimeType:ne,minimizeSupportedMimeType:ee}=we(),{getGlobalDispatcher:ge}=ms(),{webidl:ce}=Ie(),{STATUS_CODES:le}=Bt,{bytesMatch:HA}=na(),{isomorphicEncode:R}=be(),_=["GET","HEAD"],cA=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici";let dA;function UA(L,Z,q){if(Array.isArray(q)){for(let P=0;P<q.length;P+=2){const K=Ae(q[P]),X=q[P+1];if(Array.isArray(X)&&!Buffer.isBuffer(X))for(const BA of X)L.append(K,BA.toString("latin1"),!0);else L.append(K,X.toString("latin1"),!0)}return}for(const[P,K]of Object.entries(Z??{}))if(Array.isArray(K))for(const X of K)L.append(P,`${X}`,!0);else L.append(P,`${K}`,!0)}class YA extends rA{constructor(Z){super(),this.dispatcher=Z,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(Z){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(Z),this.emit("terminated",Z))}abort(Z){this.state==="ongoing"&&(this.state="aborted",Z||(Z=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=Z,this.connection?.destroy(Z),this.emit("terminated",Z))}}function vA(L){sA(L,"fetch")}function O(L,Z=void 0){ce.argumentLengthCheck(arguments,1,"globalThis.fetch");let q=Promise.withResolvers(),P;try{P=new B(L,Z)}catch(SA){return q.reject(SA),q.promise}const K=h(P);if(P.signal.aborted)return uA(q,K,null,P.signal.reason,null),q.promise;K.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(K.serviceWorkers="none");let X=null,BA=!1,mA=null;const VA=zA(P.signal,()=>{BA=!0,CA(mA!=null),mA.abort(P.signal.reason);const SA=X?.deref();uA(q,K,SA,P.signal.reason,mA.controller)}),pA=()=>{VA(),c(P)};return mA=bA({request:K,processResponseEndOfBody:SA=>{vA(SA),pA()},processResponse:SA=>{if(!BA){if(SA.aborted){uA(q,K,X,mA.serializedAbortReason,mA.controller),pA();return}if(SA.type==="error"){q.reject(new TypeError("fetch failed",{cause:SA.error})),pA();return}X=new WeakRef(o(SA,"immutable")),q.resolve(X.deref()),q=null}},dispatcher:D(P),requestObject:P}),q.promise}function sA(L,Z="other"){if(L.type==="error"&&L.aborted||!L.urlList?.length)return;const q=L.urlList[0];let P=L.timingInfo,K=L.cacheState;T(q)&&P!==null&&(L.timingAllowPassed||(P=I({startTime:P.startTime}),K=""),P.endTime=U(),L.timingInfo=P,IA(P,q.href,Z,globalThis,K,"",L.status))}const IA=performance.markResourceTiming;function uA(L,Z,q,P,K){if(L&&L.reject(P),Z.body?.stream!=null&&KA(Z.body.stream)&&Z.body.stream.cancel(P).catch(BA=>{if(BA.code!=="ERR_INVALID_STATE")throw BA}),q==null)return;const X=C(q);X.body?.stream!=null&&KA(X.body.stream)&&K.error(P)}function bA({request:L,processRequestBodyChunkLength:Z,processRequestEndOfBody:q,processResponse:P,processResponseEndOfBody:K,processResponseConsumeBody:X,useParallelQueue:BA=!1,dispatcher:mA=ge(),requestObject:VA=null}){CA(mA);let pA=null,SA=!1;L.client!=null&&(pA=L.client.globalObject,SA=L.client.crossOriginIsolatedCapability);const WA=U(SA),wA=I({startTime:WA}),_A={controller:new YA(mA),request:L,timingInfo:wA,processRequestBodyChunkLength:Z,processRequestEndOfBody:q,processResponse:P,processResponseConsumeBody:X,processResponseEndOfBody:K,taskDestination:pA,crossOriginIsolatedCapability:SA,requestObject:VA};return CA(!L.body||L.body.stream),L.window==="client"&&(L.window=L.client?.globalObject?.constructor?.name==="Window"?L.client:"no-window"),L.origin==="client"&&(L.origin=L.client.origin),L.policyContainer==="client"&&(L.client!=null?L.policyContainer=e(L.client.policyContainer):L.policyContainer=s()),L.headersList.contains("accept",!0)||L.headersList.append("accept","*/*",!0),L.headersList.contains("accept-language",!0)||L.headersList.append("accept-language","*",!0),G.has(L.destination),FA(_A,!1),_A.controller}async function FA(L,Z){try{const q=L.request;let P=null;if(q.localURLsOnly&&!k(y(q))&&(P=A("local URLs only")),r(q),t(q)==="blocked"&&(P=A("bad port")),q.referrerPolicy===""&&(q.referrerPolicy=q.policyContainer.referrerPolicy),q.referrer!=="no-referrer"&&(q.referrer=F(q)),P===null){const X=y(q);S(X,q.url)&&q.responseTainting==="basic"||X.protocol==="data:"||q.mode==="navigate"||q.mode==="websocket"?(q.responseTainting="basic",P=await PA(L)):q.mode==="same-origin"?P=A('request mode cannot be "same-origin"'):q.mode==="no-cors"?q.redirect!=="follow"?P=A('redirect mode cannot be "follow" for "no-cors" request'):(q.responseTainting="opaque",P=await PA(L)):T(y(q))?(q.responseTainting="cors",P=await EA(L)):P=A("URL scheme must be a HTTP(S) scheme")}if(Z)return P;P.status!==0&&!P.internalResponse&&(q.responseTainting==="basic"?P=d(P,"basic"):q.responseTainting==="cors"?P=d(P,"cors"):q.responseTainting==="opaque"?P=d(P,"opaque"):CA(!1));let K=P.status===0?P:P.internalResponse;if(K.urlList.length===0&&K.urlList.push(...q.urlList),q.timingAllowFailed||(P.timingAllowPassed=!0),P.type==="opaque"&&K.status===206&&K.rangeRequested&&!q.headers.contains("range",!0)&&(P=K=A()),P.status!==0&&(q.method==="HEAD"||q.method==="CONNECT"||xA.includes(K.status))&&(K.body=null,L.controller.dump=!0),q.integrity){const X=mA=>XA(L,A(mA));if(q.responseTainting==="opaque"||P.body==null){X(P.error);return}const BA=mA=>{if(!HA(mA,q.integrity)){X("integrity mismatch");return}P.body=NA(mA)[0],XA(L,P)};Y(P.body,BA,X)}else XA(L,P)}catch(q){L.controller.terminate(q)}}function PA(L){if(m(L)&&L.request.redirectCount===0)return Promise.resolve(u(L));const{request:Z}=L,{protocol:q}=y(Z);switch(q){case"about:":return Promise.resolve(A("about scheme is not supported"));case"blob:":{dA||(dA=Oe.resolveObjectURL);const P=y(Z);if(P.search.length!==0)return Promise.resolve(A("NetworkError when attempting to fetch resource."));const K=dA(P.toString());if(Z.method!=="GET"||!ce.is.Blob(K))return Promise.resolve(A("invalid method"));const X=N(),BA=K.size,mA=R(`${BA}`),VA=K.type;if(Z.headersList.contains("range",!0)){X.rangeRequested=!0;const pA=Z.headersList.get("range",!0),SA=gA(pA,!0);if(SA==="failure")return Promise.resolve(A("failed to fetch the data URL"));let{rangeStartValue:WA,rangeEndValue:wA}=SA;if(WA===null)WA=BA-wA,wA=WA+wA-1;else{if(WA>=BA)return Promise.resolve(A("Range start is greater than the blob's size."));(wA===null||wA>=BA)&&(wA=BA-1)}const _A=K.slice(WA,wA+1,VA),ie=hA(_A);X.body=ie[0];const ZA=R(`${_A.size}`),fe=QA(WA,wA,BA);X.status=206,X.statusText="Partial Content",X.headersList.set("content-length",ZA,!0),X.headersList.set("content-type",VA,!0),X.headersList.set("content-range",fe,!0)}else{const pA=hA(K);X.statusText="OK",X.body=pA[0],X.headersList.set("content-length",mA,!0),X.headersList.set("content-type",VA,!0)}return Promise.resolve(X)}case"data:":{const P=y(Z),K=oe(P);if(K==="failure")return Promise.resolve(A("failed to fetch the data URL"));const X=ne(K.mimeType);return Promise.resolve(N({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:X}]],body:NA(K.body)[0]}))}case"file:":return Promise.resolve(A("not implemented... yet..."));case"http:":case"https:":return EA(L).catch(P=>A(P));default:return Promise.resolve(A("unknown scheme"))}}function se(L,Z){L.request.done=!0,L.processResponseDone!=null&&queueMicrotask(()=>L.processResponseDone(Z))}function XA(L,Z){let q=L.timingInfo;const P=()=>{const X=Date.now();L.request.destination==="document"&&(L.controller.fullTimingInfo=q),L.controller.reportTimingSteps=()=>{if(!T(L.request.url))return;q.endTime=X;let mA=Z.cacheState;const VA=Z.bodyInfo;Z.timingAllowPassed||(q=I(q),mA="");let pA=0;if(L.request.mode!=="navigate"||!Z.hasCrossOriginRedirects){pA=Z.status;const SA=DA(Z.headersList);SA!=="failure"&&(VA.contentType=ee(SA))}L.request.initiatorType!=null&&IA(q,L.request.url.href,L.request.initiatorType,globalThis,mA,VA,pA)};const BA=()=>{L.request.done=!0,L.processResponseEndOfBody!=null&&queueMicrotask(()=>L.processResponseEndOfBody(Z)),L.request.initiatorType!=null&&L.controller.reportTimingSteps()};queueMicrotask(()=>BA())};L.processResponse!=null&&queueMicrotask(()=>{L.processResponse(Z),L.processResponse=null});const K=Z.type==="error"?Z:Z.internalResponse??Z;K.body==null?P():RA(K.body.stream,()=>{P()})}async function EA(L){const Z=L.request;let q=null,P=null;const K=L.timingInfo;if(q===null){if(Z.redirect==="follow"&&(Z.serviceWorkers="none"),P=q=await W(L),Z.responseTainting==="cors"&&E(Z,q)==="failure")return A("cors failure");n(Z,q)==="failure"&&(Z.timingAllowFailed=!0)}return(Z.responseTainting==="opaque"||q.type==="opaque")&&w(Z.origin,Z.client,Z.destination,P)==="blocked"?A("blocked"):(kA.has(P.status)&&(Z.redirect!=="manual"&&L.controller.connection.destroy(void 0,!1),Z.redirect==="error"?q=A("unexpected redirect"):Z.redirect==="manual"?q=P:Z.redirect==="follow"?q=await v(L,q):CA(!1)),q.timingInfo=K,q)}function v(L,Z){const q=L.request,P=Z.internalResponse?Z.internalResponse:Z;let K;try{if(K=p(P,y(q).hash),K==null)return Z}catch(BA){return Promise.resolve(A(BA))}if(!T(K))return Promise.resolve(A("URL scheme must be a HTTP(S) scheme"));if(q.redirectCount===20)return Promise.resolve(A("redirect count exceeded"));if(q.redirectCount+=1,q.mode==="cors"&&(K.username||K.password)&&!S(q,K))return Promise.resolve(A('cross origin not allowed for request mode "cors"'));if(q.responseTainting==="cors"&&(K.username||K.password))return Promise.resolve(A('URL cannot contain credentials for request mode "cors"'));if(P.status!==303&&q.body!=null&&q.body.source==null)return Promise.resolve(A());if([301,302].includes(P.status)&&q.method==="POST"||P.status===303&&!_.includes(q.method)){q.method="GET",q.body=null;for(const BA of AA)q.headersList.delete(BA)}S(y(q),K)||(q.headersList.delete("authorization",!0),q.headersList.delete("proxy-authorization",!0),q.headersList.delete("cookie",!0),q.headersList.delete("host",!0)),q.body!=null&&(CA(q.body.source!=null),q.body=NA(q.body.source)[0]);const X=L.timingInfo;return X.redirectEndTime=X.postRedirectStartTime=U(L.crossOriginIsolatedCapability),X.redirectStartTime===0&&(X.redirectStartTime=X.startTime),q.urlList.push(K),l(q,P),FA(L,!0)}async function W(L,Z=!1,q=!1){const P=L.request;let K=null,X=null,BA=null;P.window==="no-window"&&P.redirect==="error"?(K=L,X=P):(P.body?.source!=null?X=f(P):(X=f({...P,body:null}),X.body=P.body),K={...L},K.request=X);const mA=P.credentials==="include"||P.credentials==="same-origin"&&P.responseTainting==="basic",VA=X.body?X.body.length:null;let pA=null;if(X.body==null&&["POST","PUT"].includes(X.method)&&(pA="0"),VA!=null&&(pA=R(`${VA}`)),pA!=null&&!X.headersList.contains("content-length",!0)&&X.headersList.append("content-length",pA,!0),ce.is.URL(X.referrer)&&X.headersList.append("referer",R(X.referrer.href),!0),i(X),Q(X),X.headersList.contains("user-agent",!0)||X.headersList.append("user-agent",cA,!0),X.cache==="default"&&(X.headersList.contains("if-modified-since",!0)||X.headersList.contains("if-none-match",!0)||X.headersList.contains("if-unmodified-since",!0)||X.headersList.contains("if-match",!0)||X.headersList.contains("if-range",!0))&&(X.cache="no-store"),X.cache==="no-cache"&&!X.preventNoCacheCacheControlHeaderModification&&!X.headersList.contains("cache-control",!0)&&X.headersList.append("cache-control","max-age=0",!0),(X.cache==="no-store"||X.cache==="reload")&&(X.headersList.contains("pragma",!0)||X.headersList.append("pragma","no-cache",!0),X.headersList.contains("cache-control",!0)||X.headersList.append("cache-control","no-cache",!0)),X.headersList.contains("range",!0)&&X.headersList.append("accept-encoding","identity",!0),X.headersList.contains("accept-encoding",!0)||(x(y(X))?X.headersList.append("accept-encoding","br, gzip, deflate, zstd",!0):X.headersList.append("accept-encoding","gzip, deflate",!0)),X.headersList.delete("host",!0),mA&&!X.headersList.contains("authorization",!0)){let SA=null;if(!(nA(X)&&(X.useURLCredentials===void 0||!eA(y(X))))&&eA(y(X))&&Z){const{username:WA,password:wA}=y(X);SA=`Basic ${Buffer.from(`${WA}:${wA}`).toString("base64")}`}SA!==null&&X.headersList.append("Authorization",SA,!1)}if(X.cache="no-store",BA==null){if(X.cache==="only-if-cached")return A("only if cached");const SA=await aA(K,mA,q);!TA.has(X.method)&&SA.status>=200&&SA.status<=399,BA==null&&(BA=SA)}if(BA.urlList=[...X.urlList],X.headersList.contains("range",!0)&&(BA.rangeRequested=!0),BA.requestIncludesCredentials=mA,BA.status===401&&X.responseTainting!=="cors"&&mA&&(P.useURLCredentials!==void 0||iA(P.traversableForUserPrompts))){if(P.body!=null){if(P.body.source==null)return BA;P.body=NA(P.body.source)[0]}if(P.useURLCredentials===void 0||Z)return m(L)?u(L):BA;L.controller.connection.destroy(),BA=await W(L,!0)}if(BA.status===407)return P.window==="no-window"?A():m(L)?u(L):A("proxy authentication required");if(BA.status===421&&!q&&(P.body==null||P.body.source!=null)){if(m(L))return u(L);L.controller.connection.destroy(),BA=await W(L,Z,!0)}return BA}async function aA(L,Z=!1,q=!1){CA(!L.controller.connection||L.controller.connection.destroyed),L.controller.connection={abort:null,destroyed:!1,destroy(wA,_A=!0){this.destroyed||(this.destroyed=!0,_A&&this.abort?.(wA??new DOMException("The operation was aborted.","AbortError")))}};const P=L.request;let K=null;const X=L.timingInfo;P.cache="no-store";let BA=null;if(P.body==null&&L.processRequestEndOfBody)queueMicrotask(()=>L.processRequestEndOfBody());else if(P.body!=null){const wA=async function*(ZA){m(L)||(yield ZA,L.processRequestBodyChunkLength?.(ZA.byteLength))},_A=()=>{m(L)||L.processRequestEndOfBody&&L.processRequestEndOfBody()},ie=ZA=>{m(L)||(ZA.name==="AbortError"?L.controller.abort():L.controller.terminate(ZA))};BA=(async function*(){try{for await(const ZA of P.body.stream)yield*wA(ZA);_A()}catch(ZA){ie(ZA)}})()}try{const{body:wA,status:_A,statusText:ie,headersList:ZA,socket:fe}=await WA({body:BA});if(fe)K=N({status:_A,statusText:ie,headersList:ZA,socket:fe});else{const Fe=wA[Symbol.asyncIterator]();L.controller.next=()=>Fe.next(),K=N({status:_A,statusText:ie,headersList:ZA})}}catch(wA){return wA.name==="AbortError"?(L.controller.connection.destroy(),u(L,wA)):A(wA)}const mA=()=>L.controller.resume(),VA=wA=>{m(L)||L.controller.abort(wA)},pA=new ReadableStream({start(wA){L.controller.controller=wA},pull:mA,cancel:VA,type:"bytes"});K.body={stream:pA,source:null,length:null},L.controller.resume||L.controller.on("terminated",SA),L.controller.resume=async()=>{for(;;){let wA,_A;try{const{done:ZA,value:fe}=await L.controller.next();if(b(L))break;wA=ZA?void 0:fe}catch(ZA){L.controller.ended&&!X.encodedBodySize?wA=void 0:(wA=ZA,_A=!0)}if(wA===void 0){V(L.controller.controller),se(L,K);return}if(X.decodedBodySize+=wA?.byteLength??0,_A){L.controller.terminate(wA);return}const ie=new Uint8Array(wA);if(ie.byteLength&&L.controller.controller.enqueue(ie),GA(pA)){L.controller.terminate();return}if(L.controller.controller.desiredSize<=0)return}};function SA(wA){b(L)?(K.aborted=!0,KA(pA)&&L.controller.controller.error(L.controller.serializedAbortReason)):KA(pA)&&L.controller.controller.error(new TypeError("terminated",{cause:M(wA)?wA:void 0})),L.controller.connection.destroy()}return K;function WA({body:wA}){const _A=y(P),ie=L.controller.dispatcher,ZA=_A.pathname+_A.search,fe=_A.search.length===0&&_A.href[_A.href.length-_A.hash.length-1]==="?";return Fe(wA);function Fe(Me,Te){return new Promise((Ge,Ve)=>ie.dispatch({path:fe?`${ZA}?`:ZA,origin:_A.origin,method:P.method,body:ie.isMockActive?P.body&&(P.body.source||P.body.stream):Me,__mockAgentBodyForDispatch:Me,headers:P.headersList.entries,maxRedirections:0,upgrade:P.mode==="websocket"?"websocket":void 0,...Te===!1?{allowH2:Te}:null},{body:null,abort:null,onRequestStart(Be){const{connection:re}=L.controller;X.finalConnectionTimingInfo=z(void 0,X.postRedirectStartTime,L.crossOriginIsolatedCapability);const de=me=>Be.abort(me);re.destroyed?de(new DOMException("The operation was aborted.","AbortError")):(L.controller.on("terminated",de),this.abort=re.abort=de),X.finalNetworkRequestStartTime=U(L.crossOriginIsolatedCapability)},onResponseStarted(){X.finalNetworkResponseStartTime=U(L.crossOriginIsolatedCapability)},onResponseStart(Be,re,de,me){if(re<200)return;const Ke=Be?.rawHeaders??[],Ne=new g;UA(Ne,de,Ke);const H=Ne.get("location",!0);this.body=new j({read:()=>Be.resume()});const J=H&&P.redirect==="follow"&&kA.has(re),$=[];if(P.method!=="HEAD"&&P.method!=="CONNECT"&&!xA.includes(re)&&!J){const oA=Ne.get("content-encoding",!0),fA=oA?oA.toLowerCase().split(","):[],OA=5;if(fA.length>OA){Ve(new Error(`too many content-encodings in response: ${fA.length}, maximum allowed is ${OA}`));return}for(let $A=fA.length-1;$A>=0;--$A){const JA=fA[$A].trim();if(JA==="x-gzip"||JA==="gzip")$.push(a.createGunzip({flush:a.constants.Z_SYNC_FLUSH,finishFlush:a.constants.Z_SYNC_FLUSH}));else if(JA==="deflate")$.push(tA({flush:a.constants.Z_SYNC_FLUSH,finishFlush:a.constants.Z_SYNC_FLUSH}));else if(JA==="br")$.push(a.createBrotliDecompress({flush:a.constants.BROTLI_OPERATION_FLUSH,finishFlush:a.constants.BROTLI_OPERATION_FLUSH}));else if(JA==="zstd")$.push(a.createZstdDecompress({flush:a.constants.ZSTD_e_continue,finishFlush:a.constants.ZSTD_e_end}));else{$.length=0;break}}}const lA=oA=>this.onResponseError(Be,oA);Ge({status:re,statusText:me,headersList:Ne,body:$.length?yA(this.body,...$,oA=>{oA&&this.onResponseError(Be,oA)}).on("error",lA):this.body.on("error",lA)})},onResponseData(Be,re){if(L.controller.dump)return;const de=re;X.encodedBodySize+=de.byteLength,this.body.push(de)===!1&&Be.pause()},onResponseEnd(){this.abort&&L.controller.off("terminated",this.abort),L.controller.ended=!0,this.body?.push(null)},onResponseError(Be,re){if(this.abort&&L.controller.off("terminated",this.abort),P.mode==="websocket"&&Te!==!1&&re?.code==="UND_ERR_INFO"&&re?.message==="HTTP/2: Extended CONNECT protocol not supported by server"){Ge(Fe(Me,!1));return}this.body?.destroy(re),L.controller.terminate(re),Ve(re)},onRequestUpgrade(Be,re,de,me){if(me.session!=null&&re!==200||me.session==null&&re!==101)return!1;const Ke=Be?.rawHeaders??[],Ne=new g;return UA(Ne,de,Ke),Ge({status:re,statusText:le[re],headersList:Ne,socket:me}),!0}}))}}}return As={fetch:O,Fetch:YA,fetching:bA,finalizeAndReportTiming:sA},As}var es,Cn;function ia(){if(Cn)return es;Cn=1;const A=qA,{URLSerializer:u}=we(),{isValidHeaderName:d}=De();function N(C,g,B=!1){const f=u(C,B),D=u(g,B);return f===D}function o(C){A(C!==null);const g=[];for(let B of C.split(","))B=B.trim(),d(B)&&g.push(B);return g}return es={urlEquals:N,getFieldValues:o},es}var ts,un;function aa(){if(un)return ts;un=1;const A=qA,{kConstruct:u}=jA(),{urlEquals:d,getFieldValues:N}=ia(),{kEnumerableProperty:o,isDisturbed:C}=LA(),{webidl:g}=Ie(),{cloneResponse:B,fromInnerResponse:f,getResponseState:D}=yt(),{Request:h,fromInnerRequest:c,getRequestState:a}=at(),{fetching:s}=Dt(),{urlIsHttpHttpsScheme:e,readAllBytes:t}=De();class n{#A;constructor(){arguments[0]!==u&&g.illegalConstructor(),g.util.markAsUncloneable(this),this.#A=arguments[1]}async match(y,l={}){g.brandCheck(this,n);const r="Cache.match";g.argumentLengthCheck(arguments,1,r),y=g.converters.RequestInfo(y),l=g.converters.CacheQueryOptions(l,r,"options");const I=this.#o(y,l,1);if(I.length!==0)return I[0]}async matchAll(y=void 0,l={}){return g.brandCheck(this,n),y!==void 0&&(y=g.converters.RequestInfo(y)),l=g.converters.CacheQueryOptions(l,"Cache.matchAll","options"),this.#o(y,l)}async add(y){g.brandCheck(this,n),g.argumentLengthCheck(arguments,1,"Cache.add"),y=g.converters.RequestInfo(y);const l=[y];return await this.addAll(l)}async addAll(y){g.brandCheck(this,n);const l="Cache.addAll";g.argumentLengthCheck(arguments,1,l);const r=[],I=[];for(let m of y){if(m===void 0)throw g.errors.conversionFailed({prefix:l,argument:"Argument 1",types:["undefined is not allowed"]});if(m=g.converters.RequestInfo(m),typeof m=="string")continue;const b=a(m);if(!e(b.url)||b.method!=="GET")throw g.errors.exception({header:l,message:"Expected http/s scheme when method is not GET."})}const Q=[];for(const m of y){const b=a(new h(m));if(!e(b.url))throw g.errors.exception({header:l,message:"Expected http/s scheme."});b.initiator="fetch",b.destination="subresource",I.push(b);const M=Promise.withResolvers();Q.push(s({request:b,processResponse(Y){if(Y.type==="error"||Y.status===206||Y.status<200||Y.status>299)M.reject(g.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(Y.headersList.contains("vary")){const V=N(Y.headersList.get("vary"));for(const k of V)if(k==="*"){M.reject(g.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const T of Q)T.abort();return}}},processResponseEndOfBody(Y){if(Y.aborted){M.reject(new DOMException("aborted","AbortError"));return}M.resolve(Y)}})),r.push(M.promise)}const E=await Promise.all(r),w=[];let F=0;for(const m of E){const b={type:"put",request:I[F],response:m};w.push(b),F++}const U=Promise.withResolvers();let S=null;try{this.#e(w)}catch(m){S=m}return queueMicrotask(()=>{S===null?U.resolve(void 0):U.reject(S)}),U.promise}async put(y,l){g.brandCheck(this,n);const r="Cache.put";g.argumentLengthCheck(arguments,2,r),y=g.converters.RequestInfo(y),l=g.converters.Response(l,r,"response");let I=null;if(g.is.Request(y)?I=a(y):I=a(new h(y)),!e(I.url)||I.method!=="GET")throw g.errors.exception({header:r,message:"Expected an http/s scheme when method is not GET"});const Q=D(l);if(Q.status===206)throw g.errors.exception({header:r,message:"Got 206 status"});if(Q.headersList.contains("vary")){const M=N(Q.headersList.get("vary"));for(const Y of M)if(Y==="*")throw g.errors.exception({header:r,message:"Got * vary field value"})}if(Q.body&&(C(Q.body.stream)||Q.body.stream.locked))throw g.errors.exception({header:r,message:"Response body is locked or disturbed"});const E=B(Q),w=Promise.withResolvers();if(Q.body!=null){const M=Q.body.stream.getReader();t(M,w.resolve,w.reject)}else w.resolve(void 0);const F=[],U={type:"put",request:I,response:E};F.push(U);const S=await w.promise;E.body!=null&&(E.body.source=S);const m=Promise.withResolvers();let b=null;try{this.#e(F)}catch(M){b=M}return queueMicrotask(()=>{b===null?m.resolve():m.reject(b)}),m.promise}async delete(y,l={}){g.brandCheck(this,n);const r="Cache.delete";g.argumentLengthCheck(arguments,1,r),y=g.converters.RequestInfo(y),l=g.converters.CacheQueryOptions(l,r,"options");let I=null;if(g.is.Request(y)){if(I=a(y),I.method!=="GET"&&!l.ignoreMethod)return!1}else A(typeof y=="string"),I=a(new h(y));const Q=[],E={type:"delete",request:I,options:l};Q.push(E);const w=Promise.withResolvers();let F=null,U;try{U=this.#e(Q)}catch(S){F=S}return queueMicrotask(()=>{F===null?w.resolve(!!U?.length):w.reject(F)}),w.promise}async keys(y=void 0,l={}){g.brandCheck(this,n),y!==void 0&&(y=g.converters.RequestInfo(y)),l=g.converters.CacheQueryOptions(l,"Cache.keys","options");let I=null;if(y!==void 0)if(g.is.Request(y)){if(I=a(y),I.method!=="GET"&&!l.ignoreMethod)return[]}else typeof y=="string"&&(I=a(new h(y)));const Q=Promise.withResolvers(),E=[];if(y===void 0)for(const w of this.#A)E.push(w[0]);else{const w=this.#t(I,l);for(const F of w)E.push(F[0])}return queueMicrotask(()=>{const w=[];for(const F of E){const U=c(F,void 0,new AbortController().signal,"immutable");w.push(U)}Q.resolve(Object.freeze(w))}),Q.promise}#e(y){const l=this.#A,r=[...l],I=[],Q=[];try{for(const E of y){if(E.type!=="delete"&&E.type!=="put")throw g.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(E.type==="delete"&&E.response!=null)throw g.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#t(E.request,E.options,I).length)throw new DOMException("???","InvalidStateError");let w;if(E.type==="delete"){if(w=this.#t(E.request,E.options),w.length===0)return[];for(const F of w){const U=l.indexOf(F);A(U!==-1),l.splice(U,1)}}else if(E.type==="put"){if(E.response==null)throw g.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});const F=E.request;if(!e(F.url))throw g.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(F.method!=="GET")throw g.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(E.options!=null)throw g.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});w=this.#t(E.request);for(const U of w){const S=l.indexOf(U);A(S!==-1),l.splice(S,1)}l.push([E.request,E.response]),I.push([E.request,E.response])}Q.push([E.request,E.response])}return Q}catch(E){throw this.#A.length=0,this.#A=r,E}}#t(y,l,r){const I=[],Q=r??this.#A;for(const E of Q){const[w,F]=E;this.#s(y,w,F,l)&&I.push(E)}return I}#s(y,l,r=null,I){const Q=new URL(y.url),E=new URL(l.url);if(I?.ignoreSearch&&(E.search="",Q.search=""),!d(Q,E,!0))return!1;if(r==null||I?.ignoreVary||!r.headersList.contains("vary"))return!0;const w=N(r.headersList.get("vary"));for(const F of w){if(F==="*")return!1;const U=l.headersList.get(F),S=y.headersList.get(F);if(U!==S)return!1}return!0}#o(y,l,r=1/0){let I=null;if(y!==void 0)if(g.is.Request(y)){if(I=a(y),I.method!=="GET"&&!l.ignoreMethod)return[]}else typeof y=="string"&&(I=a(new h(y)));const Q=[];if(y===void 0)for(const w of this.#A)Q.push(w[1]);else{const w=this.#t(I,l);for(const F of w)Q.push(F[1])}const E=[];for(const w of Q){const F=f(B(w),"immutable");if(E.push(F),E.length>=r)break}return Object.freeze(E)}}Object.defineProperties(n.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:o,matchAll:o,add:o,addAll:o,put:o,delete:o,keys:o});const i=[{key:"ignoreSearch",converter:g.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:g.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:g.converters.boolean,defaultValue:()=>!1}];return g.converters.CacheQueryOptions=g.dictionaryConverter(i),g.converters.MultiCacheQueryOptions=g.dictionaryConverter([...i,{key:"cacheName",converter:g.converters.DOMString}]),g.converters.Response=g.interfaceConverter(g.is.Response,"Response"),g.converters["sequence<RequestInfo>"]=g.sequenceConverter(g.converters.RequestInfo),ts={Cache:n},ts}var rs,dn;function ga(){if(dn)return rs;dn=1;const{Cache:A}=aa(),{webidl:u}=Ie(),{kEnumerableProperty:d}=LA(),{kConstruct:N}=jA();class o{#A=new Map;constructor(){arguments[0]!==N&&u.illegalConstructor(),u.util.markAsUncloneable(this)}async match(g,B={}){if(u.brandCheck(this,o),u.argumentLengthCheck(arguments,1,"CacheStorage.match"),g=u.converters.RequestInfo(g),B=u.converters.MultiCacheQueryOptions(B),B.cacheName!=null){if(this.#A.has(B.cacheName)){const f=this.#A.get(B.cacheName);return await new A(N,f).match(g,B)}}else for(const f of this.#A.values()){const D=await new A(N,f).match(g,B);if(D!==void 0)return D}}async has(g){u.brandCheck(this,o);const B="CacheStorage.has";return u.argumentLengthCheck(arguments,1,B),g=u.converters.DOMString(g,B,"cacheName"),this.#A.has(g)}async open(g){u.brandCheck(this,o);const B="CacheStorage.open";if(u.argumentLengthCheck(arguments,1,B),g=u.converters.DOMString(g,B,"cacheName"),this.#A.has(g)){const D=this.#A.get(g);return new A(N,D)}const f=[];return this.#A.set(g,f),new A(N,f)}async delete(g){u.brandCheck(this,o);const B="CacheStorage.delete";return u.argumentLengthCheck(arguments,1,B),g=u.converters.DOMString(g,B,"cacheName"),this.#A.delete(g)}async keys(){return u.brandCheck(this,o),[...this.#A.keys()]}}return Object.defineProperties(o.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:d,has:d,open:d,delete:d,keys:d}),rs={CacheStorage:o},rs}var ss,fn;function ca(){return fn||(fn=1,ss={maxAttributeValueSize:1024,maxNameValuePairSize:4096}),ss}var os,yn;function ri(){if(yn)return os;yn=1;function A(c){for(let a=0;a<c.length;++a){const s=c.charCodeAt(a);if(s>=0&&s<=8||s>=10&&s<=31||s===127)return!0}return!1}function u(c){for(let a=0;a<c.length;++a){const s=c.charCodeAt(a);if(s<33||s>126||s===34||s===40||s===41||s===60||s===62||s===64||s===44||s===59||s===58||s===92||s===47||s===91||s===93||s===63||s===61||s===123||s===125)throw new Error("Invalid cookie name")}}function d(c){let a=c.length,s=0;if(c[0]==='"'){if(a===1||c[a-1]!=='"')throw new Error("Invalid cookie value");--a,++s}for(;s<a;){const e=c.charCodeAt(s++);if(e<33||e>126||e===34||e===44||e===59||e===92)throw new Error("Invalid cookie value")}}function N(c){for(let a=0;a<c.length;++a){const s=c.charCodeAt(a);if(s<32||s===127||s===59)throw new Error("Invalid cookie path")}}function o(c){if(c.startsWith("-")||c.endsWith(".")||c.endsWith("-"))throw new Error("Invalid cookie domain")}const C=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],g=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],B=Array(61).fill(0).map((c,a)=>a.toString().padStart(2,"0"));function f(c){return typeof c=="number"&&(c=new Date(c)),`${C[c.getUTCDay()]}, ${B[c.getUTCDate()]} ${g[c.getUTCMonth()]} ${c.getUTCFullYear()} ${B[c.getUTCHours()]}:${B[c.getUTCMinutes()]}:${B[c.getUTCSeconds()]} GMT`}function D(c){if(c<0)throw new Error("Invalid cookie max-age")}function h(c){if(c.name.length===0)return null;u(c.name),d(c.value);const a=[`${c.name}=${c.value}`];c.name.startsWith("__Secure-")&&(c.secure=!0),c.name.startsWith("__Host-")&&(c.secure=!0,c.domain=null,c.path="/"),c.secure&&a.push("Secure"),c.httpOnly&&a.push("HttpOnly"),typeof c.maxAge=="number"&&(D(c.maxAge),a.push(`Max-Age=${c.maxAge}`)),c.domain&&(o(c.domain),a.push(`Domain=${c.domain}`)),c.path&&(N(c.path),a.push(`Path=${c.path}`)),c.expires&&c.expires.toString()!=="Invalid Date"&&a.push(`Expires=${f(c.expires)}`),c.sameSite&&a.push(`SameSite=${c.sameSite}`);for(const s of c.unparsed){if(!s.includes("="))throw new Error("Invalid unparsed");const[e,...t]=s.split("=");a.push(`${e.trim()}=${t.join("=")}`)}return a.join("; ")}return os={isCTLExcludingHtab:A,validateCookieName:u,validateCookiePath:N,validateCookieValue:d,toIMFDate:f,stringify:h},os}var ns,Dn;function Ea(){if(Dn)return ns;Dn=1;const{collectASequenceOfCodePointsFast:A}=be(),{maxNameValuePairSize:u,maxAttributeValueSize:d}=ca(),{isCTLExcludingHtab:N}=ri(),o=qA;function C(B){if(N(B))return null;let f="",D="",h="",c="";if(B.includes(";")){const a={position:0};f=A(";",B,a),D=B.slice(a.position)}else f=B;if(!f.includes("="))c=f;else{const a={position:0};h=A("=",f,a),c=f.slice(a.position+1)}return h=h.trim(),c=c.trim(),h.length+c.length>u?null:{name:h,value:c,...g(D)}}function g(B,f={}){if(B.length===0)return f;o(B[0]===";"),B=B.slice(1);let D="";B.includes(";")?(D=A(";",B,{position:0}),B=B.slice(D.length)):(D=B,B="");let h="",c="";if(D.includes("=")){const s={position:0};h=A("=",D,s),c=D.slice(s.position+1)}else h=D;if(h=h.trim(),c=c.trim(),c.length>d)return g(B,f);const a=h.toLowerCase();if(a==="expires"){const s=new Date(c);f.expires=s}else if(a==="max-age"){const s=c.charCodeAt(0);if((s<48||s>57)&&c[0]!=="-"||!/^\d+$/.test(c))return g(B,f);const e=Number(c);f.maxAge=e}else if(a==="domain"){let s=c;s[0]==="."&&(s=s.slice(1)),s=s.toLowerCase(),f.domain=s}else if(a==="path"){let s="";c.length===0||c[0]!=="/"?s="/":s=c,f.path=s}else if(a==="secure")f.secure=!0;else if(a==="httponly")f.httpOnly=!0;else if(a==="samesite"){const s=c.toLowerCase();s==="none"?f.sameSite="None":s==="strict"?f.sameSite="Strict":s==="lax"&&(f.sameSite="Lax")}else f.unparsed??=[],f.unparsed.push(`${h}=${c}`);return g(B,f)}return ns={parseSetCookie:C,parseUnparsedAttributes:g},ns}var is,pn;function la(){if(pn)return is;pn=1;const{parseSetCookie:A}=Ea(),{stringify:u}=ri(),{webidl:d}=Ie(),{Headers:N}=Ze(),o=d.brandCheckMultiple([N,globalThis.Headers].filter(Boolean));function C(h){d.argumentLengthCheck(arguments,1,"getCookies"),o(h);const c=h.get("cookie"),a={};if(!c)return a;for(const s of c.split(";")){const[e,...t]=s.split("=");a[e.trim()]=t.join("=")}return a}function g(h,c,a){o(h);const s="deleteCookie";d.argumentLengthCheck(arguments,2,s),c=d.converters.DOMString(c,s,"name"),a=d.converters.DeleteCookieAttributes(a),D(h,{name:c,value:"",expires:new Date(0),...a})}function B(h){d.argumentLengthCheck(arguments,1,"getSetCookies"),o(h);const c=h.getSetCookie();return c?c.map(a=>A(a)):[]}function f(h){return h=d.converters.DOMString(h),A(h)}function D(h,c){d.argumentLengthCheck(arguments,2,"setCookie"),o(h),c=d.converters.Cookie(c);const a=u(c);a&&h.append("set-cookie",a,!0)}return d.converters.DeleteCookieAttributes=d.dictionaryConverter([{converter:d.nullableConverter(d.converters.DOMString),key:"path",defaultValue:()=>null},{converter:d.nullableConverter(d.converters.DOMString),key:"domain",defaultValue:()=>null}]),d.converters.Cookie=d.dictionaryConverter([{converter:d.converters.DOMString,key:"name"},{converter:d.converters.DOMString,key:"value"},{converter:d.nullableConverter(h=>typeof h=="number"?d.converters["unsigned long long"](h):new Date(h)),key:"expires",defaultValue:()=>null},{converter:d.nullableConverter(d.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:d.nullableConverter(d.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:d.nullableConverter(d.converters.DOMString),key:"path",defaultValue:()=>null},{converter:d.nullableConverter(d.converters.boolean),key:"secure",defaultValue:()=>null},{converter:d.nullableConverter(d.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:d.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:d.sequenceConverter(d.converters.DOMString),key:"unparsed",defaultValue:()=>[]}]),is={getCookies:C,deleteCookie:g,getSetCookies:B,setCookie:D,parseCookie:f},is}var as,Rn;function Fs(){if(Rn)return as;Rn=1;const{webidl:A}=Ie(),{kEnumerableProperty:u}=LA(),{kConstruct:d}=jA();class N extends Event{#A;constructor(D,h={}){if(D===d){super(arguments[1],arguments[2]),A.util.markAsUncloneable(this);return}const c="MessageEvent constructor";A.argumentLengthCheck(arguments,1,c),D=A.converters.DOMString(D,c,"type"),h=A.converters.MessageEventInit(h,c,"eventInitDict"),super(D,h),this.#A=h,A.util.markAsUncloneable(this)}get data(){return A.brandCheck(this,N),this.#A.data}get origin(){return A.brandCheck(this,N),this.#A.origin}get lastEventId(){return A.brandCheck(this,N),this.#A.lastEventId}get source(){return A.brandCheck(this,N),this.#A.source}get ports(){return A.brandCheck(this,N),Object.isFrozen(this.#A.ports)||Object.freeze(this.#A.ports),this.#A.ports}initMessageEvent(D,h=!1,c=!1,a=null,s="",e="",t=null,n=[]){return A.brandCheck(this,N),A.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new N(D,{bubbles:h,cancelable:c,data:a,origin:s,lastEventId:e,source:t,ports:n})}static createFastMessageEvent(D,h){const c=new N(d,D,h);return c.#A=h,c.#A.data??=null,c.#A.origin??="",c.#A.lastEventId??="",c.#A.source??=null,c.#A.ports??=[],c}}const{createFastMessageEvent:o}=N;delete N.createFastMessageEvent;class C extends Event{#A;constructor(D,h={}){const c="CloseEvent constructor";A.argumentLengthCheck(arguments,1,c),D=A.converters.DOMString(D,c,"type"),h=A.converters.CloseEventInit(h),super(D,h),this.#A=h,A.util.markAsUncloneable(this)}get wasClean(){return A.brandCheck(this,C),this.#A.wasClean}get code(){return A.brandCheck(this,C),this.#A.code}get reason(){return A.brandCheck(this,C),this.#A.reason}}class g extends Event{#A;constructor(D,h){const c="ErrorEvent constructor";A.argumentLengthCheck(arguments,1,c),super(D,h),A.util.markAsUncloneable(this),D=A.converters.DOMString(D,c,"type"),h=A.converters.ErrorEventInit(h??{}),this.#A=h}get message(){return A.brandCheck(this,g),this.#A.message}get filename(){return A.brandCheck(this,g),this.#A.filename}get lineno(){return A.brandCheck(this,g),this.#A.lineno}get colno(){return A.brandCheck(this,g),this.#A.colno}get error(){return A.brandCheck(this,g),this.#A.error}}Object.defineProperties(N.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:u,origin:u,lastEventId:u,source:u,ports:u,initMessageEvent:u}),Object.defineProperties(C.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:u,code:u,wasClean:u}),Object.defineProperties(g.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:u,filename:u,lineno:u,colno:u,error:u}),A.converters.MessagePort=A.interfaceConverter(A.is.MessagePort,"MessagePort"),A.converters["sequence<MessagePort>"]=A.sequenceConverter(A.converters.MessagePort);const B=[{key:"bubbles",converter:A.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:A.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:A.converters.boolean,defaultValue:()=>!1}];return A.converters.MessageEventInit=A.dictionaryConverter([...B,{key:"data",converter:A.converters.any,defaultValue:()=>null},{key:"origin",converter:A.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:A.converters.DOMString,defaultValue:()=>""},{key:"source",converter:A.nullableConverter(A.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:A.converters["sequence<MessagePort>"],defaultValue:()=>[]}]),A.converters.CloseEventInit=A.dictionaryConverter([...B,{key:"wasClean",converter:A.converters.boolean,defaultValue:()=>!1},{key:"code",converter:A.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:A.converters.USVString,defaultValue:()=>""}]),A.converters.ErrorEventInit=A.dictionaryConverter([...B,{key:"message",converter:A.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:A.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:A.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:A.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:A.converters.any}]),as={MessageEvent:N,CloseEvent:C,ErrorEvent:g,createFastMessageEvent:o},as}var gs,Sn;function ve(){if(Sn)return gs;Sn=1;const A="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",u={enumerable:!0,writable:!1,configurable:!1},d={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},N={SENT:1,RECEIVED:2},o={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},C=65535,g={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},B=Buffer.allocUnsafe(0);return gs={uid:A,sentCloseFrameState:N,staticPropertyDescriptors:u,states:d,opcodes:o,maxUnsigned16Bit:C,parserStates:g,emptyBuffer:B,sendHints:{text:1,typedArray:2,arrayBuffer:3,blob:4}},gs}var cs,wn;function Xe(){if(wn)return cs;wn=1;const{states:A,opcodes:u}=ve(),{isUtf8:d}=Oe,{removeHTTPWhitespace:N}=we(),{collectASequenceOfCodePointsFast:o}=be();function C(Q){return Q===A.CONNECTING}function g(Q){return Q===A.OPEN}function B(Q){return Q===A.CLOSING}function f(Q){return Q===A.CLOSED}function D(Q,E,w=(U,S)=>new Event(U,S),F={}){const U=w(Q,F);E.dispatchEvent(U)}function h(Q,E,w){Q.onMessage(E,w)}function c(Q){return Q.byteLength===Q.buffer.byteLength?Q.buffer:new Uint8Array(Q).buffer}function a(Q){if(Q.length===0)return!1;for(let E=0;E<Q.length;++E){const w=Q.charCodeAt(E);if(w<33||w>126||w===34||w===40||w===41||w===44||w===47||w===58||w===59||w===60||w===61||w===62||w===63||w===64||w===91||w===92||w===93||w===123||w===125)return!1}return!0}function s(Q){return Q>=1e3&&Q<1015?Q!==1004&&Q!==1005&&Q!==1006:Q>=3e3&&Q<=4999}function e(Q){return Q===u.CLOSE||Q===u.PING||Q===u.PONG}function t(Q){return Q===u.CONTINUATION}function n(Q){return Q===u.TEXT||Q===u.BINARY}function i(Q){return n(Q)||t(Q)||e(Q)}function p(Q){const E={position:0},w=new Map;for(;E.position<Q.length;){const F=o(";",Q,E),[U,S=""]=F.split("=",2);w.set(N(U,!0,!1),N(S,!1,!0)),E.position++}return w}function y(Q){if(Q.length===0)return!1;for(let w=0;w<Q.length;w++){const F=Q.charCodeAt(w);if(F<48||F>57)return!1}const E=Number.parseInt(Q,10);return E>=8&&E<=15}function l(Q,E){let w;try{w=new URL(Q,E)}catch(F){throw new DOMException(F,"SyntaxError")}if(w.protocol==="http:"?w.protocol="ws:":w.protocol==="https:"&&(w.protocol="wss:"),w.protocol!=="ws:"&&w.protocol!=="wss:")throw new DOMException("expected a ws: or wss: url","SyntaxError");if(w.hash.length||w.href.endsWith("#"))throw new DOMException("hash","SyntaxError");return w}function r(Q,E){if(Q!==null&&Q!==1e3&&(Q<3e3||Q>4999))throw new DOMException("invalid code","InvalidAccessError");if(E!==null){const w=Buffer.byteLength(E);if(w>123)throw new DOMException(`Reason must be less than 123 bytes; received ${w}`,"SyntaxError")}}const I=(()=>{if(typeof process.versions.icu=="string"){const Q=new TextDecoder("utf-8",{fatal:!0});return Q.decode.bind(Q)}return function(Q){if(d(Q))return Q.toString("utf-8");throw new TypeError("Invalid utf-8 received.")}})();return cs={isConnecting:C,isEstablished:g,isClosing:B,isClosed:f,fireEvent:D,isValidSubprotocol:a,isValidStatusCode:s,websocketMessageReceived:h,utf8Decode:I,isControlFrame:e,isContinuationFrame:t,isTextBinaryFrame:n,isValidOpcode:i,parseExtensions:p,isValidClientWindowBits:y,toArrayBuffer:c,getURLRecord:l,validateCloseCodeAndReason:r},cs}var Es,Nn;function gt(){if(Nn)return Es;Nn=1;const{runtimeFeatures:A}=st(),{maxUnsigned16Bit:u,opcodes:d}=ve(),N=8*1024;let o=null,C=N;const g=A.has("crypto")?Je.randomFillSync:null;function B(){return C===N&&(C=0,g(o??=Buffer.allocUnsafeSlow(N),0,N)),[o[C++],o[C++],o[C++],o[C++]]}class f{constructor(h){this.frameData=h}createFrame(h){const c=this.frameData,a=B(),s=c?.byteLength??0;let e=s,t=6;s>u?(t+=8,e=127):s>125&&(t+=2,e=126);const n=Buffer.allocUnsafe(s+t);n[0]=n[1]=0,n[0]|=128,n[0]=(n[0]&240)+h;/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */n[t-4]=a[0],n[t-3]=a[1],n[t-2]=a[2],n[t-1]=a[3],n[1]=e,e===126?n.writeUInt16BE(s,2):e===127&&(n[2]=n[3]=0,n.writeUIntBE(s,4,6)),n[1]|=128;for(let i=0;i<s;++i)n[t+i]=c[i]^a[i&3];return n}static createFastTextFrame(h){const c=B(),a=h.length;for(let n=0;n<a;++n)h[n]^=c[n&3];let s=a,e=6;a>u?(e+=8,s=127):a>125&&(e+=2,s=126);const t=Buffer.allocUnsafeSlow(e);return t[0]=128|d.TEXT,t[1]=s|128,t[e-4]=c[0],t[e-3]=c[1],t[e-2]=c[2],t[e-1]=c[3],s===126?t.writeUInt16BE(a,2):s===127&&(t[2]=t[3]=0,t.writeUIntBE(a,4,6)),[t,h]}}return Es={WebsocketFrameSend:f,generateMask:B},Es}var ls,mn;function Us(){if(mn)return ls;mn=1;const{uid:A,states:u,sentCloseFrameState:d,emptyBuffer:N,opcodes:o}=ve(),{parseExtensions:C,isClosed:g,isClosing:B,isEstablished:f,isConnecting:D,validateCloseCodeAndReason:h}=Xe(),{makeRequest:c}=at(),{fetching:a}=Dt(),{Headers:s,getHeadersList:e}=Ze(),{getDecodeSplit:t}=De(),{WebsocketFrameSend:n}=gt(),i=qA,{runtimeFeatures:p}=st(),y=p.has("crypto")?Je:null;let l=!1;function r(E,w,F,U,S){const m=E;m.protocol=E.protocol==="ws:"?"http:":"https:";const b=c({urlList:[m],client:F,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error",useURLCredentials:!0});if(S.headers){const Y=e(new s(S.headers));b.headersList=Y}const M=y.randomBytes(16).toString("base64");b.headersList.append("sec-websocket-key",M,!0),b.headersList.append("sec-websocket-version","13",!0);for(const Y of w)b.headersList.append("sec-websocket-protocol",Y,!0);return b.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits",!0),a({request:b,useParallelQueue:!0,dispatcher:S.dispatcher,processResponse(Y){if(Y.type==="error"||Y.status!==101){if(Y.socket?.session==null){Q(U,1002,"Received network error or non-101 status code.");return}if(Y.status!==200){Q(U,1002,"Received network error or non-200 status code.");return}}if(l===!1&&Y.socket?.session!=null&&(process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.","ExperimentalWarning"),l=!0),w.length!==0&&!Y.headersList.get("Sec-WebSocket-Protocol")){Q(U,1002,"Server did not respond with sent protocols.");return}if(Y.socket.session==null&&Y.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){Q(U,1002,'Server did not set Upgrade header to "websocket".');return}if(Y.socket.session==null&&Y.headersList.get("Connection")?.toLowerCase()!=="upgrade"){Q(U,1002,'Server did not set Connection header to "upgrade".');return}const V=Y.headersList.get("Sec-WebSocket-Accept"),k=y.hash("sha1",M+A,"base64");if(V!==k){Q(U,1002,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const T=Y.headersList.get("Sec-WebSocket-Extensions");let x;if(T!==null&&(x=C(T),!x.has("permessage-deflate"))){Q(U,1002,"Sec-WebSocket-Extensions header does not match.");return}const z=Y.headersList.get("Sec-WebSocket-Protocol");if(z!==null&&!t("sec-websocket-protocol",b.headersList).includes(z)){Q(U,1002,"Protocol was not set in the opening handshake.");return}Y.socket.on("data",U.onSocketData),Y.socket.on("close",U.onSocketClose),Y.socket.on("error",U.onSocketError),U.wasEverConnected=!0,U.onConnectionEstablished(Y,x)}})}function I(E,w,F,U=!1){if(w??=null,F??="",U&&h(w,F),!(g(E.readyState)||B(E.readyState)))if(!f(E.readyState))Q(E),E.readyState=u.CLOSING;else if(!E.closeState.has(d.SENT)&&!E.closeState.has(d.RECEIVED)){const S=new n;F.length!==0&&w===null&&(w=1e3),i(w===null||Number.isInteger(w)),w===null&&F.length===0?S.frameData=N:w!==null&&F===null?(S.frameData=Buffer.allocUnsafe(2),S.frameData.writeUInt16BE(w,0)):w!==null&&F!==null?(S.frameData=Buffer.allocUnsafe(2+Buffer.byteLength(F)),S.frameData.writeUInt16BE(w,0),S.frameData.write(F,2,"utf-8")):S.frameData=N,E.socket.write(S.createFrame(o.CLOSE)),E.closeState.add(d.SENT),E.readyState=u.CLOSING}else E.readyState=u.CLOSING}function Q(E,w,F,U){f(E.readyState)&&I(E,w,F,!1),E.controller.abort(),D(E.readyState)?E.onSocketClose():E.socket?.destroyed===!1&&E.socket.destroy()}return ls={establishWebSocketConnection:r,failWebsocketConnection:Q,closeWebSocketConnection:I},ls}var Qs,Fn;function Qa(){if(Fn)return Qs;Fn=1;const{createInflateRaw:A,Z_DEFAULT_WINDOWBITS:u}=Ct,{isValidClientWindowBits:d}=Xe(),{MessageSizeExceededError:N}=MA(),o=Buffer.from([0,0,255,255]),C=Symbol("kBuffer"),g=Symbol("kLength");class B{#A;#e={};#t=0;constructor(D,h){this.#e.serverNoContextTakeover=D.has("server_no_context_takeover"),this.#e.serverMaxWindowBits=D.get("server_max_window_bits"),this.#t=h.maxPayloadSize}decompress(D,h,c){if(!this.#A){let a=u;if(this.#e.serverMaxWindowBits){if(!d(this.#e.serverMaxWindowBits)){c(new Error("Invalid server_max_window_bits"));return}a=Number.parseInt(this.#e.serverMaxWindowBits)}try{this.#A=A({windowBits:a})}catch(s){c(s);return}this.#A[C]=[],this.#A[g]=0,this.#A.on("data",s=>{if(this.#A[g]+=s.length,this.#t>0&&this.#A[g]>this.#t){c(new N),this.#A.removeAllListeners(),this.#A=null;return}this.#A[C].push(s)}),this.#A.on("error",s=>{this.#A=null,c(s)})}this.#A.write(D),h&&this.#A.write(o),this.#A.flush(()=>{if(!this.#A)return;const a=Buffer.concat(this.#A[C],this.#A[g]);this.#A[C].length=0,this.#A[g]=0,c(null,a)})}}return Qs={PerMessageDeflate:B},Qs}var hs,Un;function si(){if(Un)return hs;Un=1;const{Writable:A}=Ce,u=qA,{parserStates:d,opcodes:N,states:o,emptyBuffer:C,sentCloseFrameState:g}=ve(),{isValidStatusCode:B,isValidOpcode:f,websocketMessageReceived:D,utf8Decode:h,isControlFrame:c,isTextBinaryFrame:a,isContinuationFrame:s}=Xe(),{failWebsocketConnection:e}=Us(),{WebsocketFrameSend:t}=gt(),{PerMessageDeflate:n}=Qa(),{MessageSizeExceededError:i}=MA();class p extends A{#A=[];#e=0;#t=0;#s=!1;#o=d.INFO;#r={};#a=[];#n;#i;#g;#E;constructor(l,r,I={}){super(),this.#i=l,this.#n=r??new Map,this.#g=I.maxFragments??0,this.#E=I.maxPayloadSize??0,this.#n.has("permessage-deflate")&&this.#n.set("permessage-deflate",new n(r,I))}_write(l,r,I){this.#A.push(l),this.#t+=l.length,this.#s=!0,this.run(I)}#c(){return this.#E>0&&!c(this.#r.opcode)&&this.#r.payloadLength+this.#e>this.#E?(e(this.#i,1009,"Payload size exceeds maximum allowed size"),!1):!0}run(l){for(;this.#s;)if(this.#o===d.INFO){if(this.#t<2)return l();const r=this.consume(2),I=(r[0]&128)!==0,Q=r[0]&15,E=(r[1]&128)===128,w=!I&&Q!==N.CONTINUATION,F=r[1]&127,U=r[0]&64,S=r[0]&32,m=r[0]&16;if(!f(Q))return e(this.#i,1002,"Invalid opcode received"),l();if(E)return e(this.#i,1002,"Frame cannot be masked"),l();if(U!==0&&!this.#n.has("permessage-deflate")){e(this.#i,1002,"Expected RSV1 to be clear.");return}if(S!==0||m!==0){e(this.#i,1002,"RSV1, RSV2, RSV3 must be clear");return}if(w&&!a(Q)){e(this.#i,1002,"Invalid frame type was fragmented.");return}if(a(Q)&&this.#a.length>0){e(this.#i,1002,"Expected continuation frame");return}if(this.#r.fragmented&&w){e(this.#i,1002,"Fragmented frame exceeded 125 bytes.");return}if((F>125||w)&&c(Q)){e(this.#i,1002,"Control frame either too large or fragmented");return}if(s(Q)&&this.#a.length===0&&!this.#r.compressed){e(this.#i,1002,"Unexpected continuation frame");return}if(F<=125){if(this.#r.payloadLength=F,this.#o=d.READ_DATA,!this.#c())return}else F===126?this.#o=d.PAYLOADLENGTH_16:F===127&&(this.#o=d.PAYLOADLENGTH_64);a(Q)&&(this.#r.binaryType=Q,this.#r.compressed=U!==0),this.#r.opcode=Q,this.#r.masked=E,this.#r.fin=I,this.#r.fragmented=w}else if(this.#o===d.PAYLOADLENGTH_16){if(this.#t<2)return l();const r=this.consume(2);if(this.#r.payloadLength=r.readUInt16BE(0),this.#o=d.READ_DATA,!this.#c())return}else if(this.#o===d.PAYLOADLENGTH_64){if(this.#t<8)return l();const r=this.consume(8),I=r.readUInt32BE(0),Q=r.readUInt32BE(4);if(I!==0||Q>2**31-1){e(this.#i,1009,"Received payload length > 2^31 bytes.");return}if(this.#r.payloadLength=Q,this.#o=d.READ_DATA,!this.#c())return}else if(this.#o===d.READ_DATA){if(this.#t<this.#r.payloadLength)return l();const r=this.consume(this.#r.payloadLength);if(c(this.#r.opcode))this.#s=this.parseControlFrame(r),this.#o=d.INFO;else if(this.#r.compressed){this.#n.get("permessage-deflate").decompress(r,this.#r.fin,(I,Q)=>{if(I){const E=I instanceof i?1009:1007;e(this.#i,E,I.message);return}if(this.writeFragments(Q)){if(this.#E>0&&this.#e>this.#E){e(this.#i,1009,new i().message);return}if(!this.#r.fin){this.#o=d.INFO,this.#s=!0,this.run(l);return}D(this.#i,this.#r.binaryType,this.consumeFragments()),this.#s=!0,this.#o=d.INFO,this.run(l)}},this.#e),this.#s=!1;break}else{if(!this.writeFragments(r))return;!this.#r.fragmented&&this.#r.fin&&D(this.#i,this.#r.binaryType,this.consumeFragments()),this.#o=d.INFO}}}consume(l){if(l>this.#t)throw new Error("Called consume() before buffers satiated.");if(l===0)return C;this.#t-=l;const r=this.#A[0];if(r.length>l)return this.#A[0]=r.subarray(l,r.length),r.subarray(0,l);if(r.length===l)return this.#A.shift();{let I=0;const Q=Buffer.allocUnsafeSlow(l);for(;I!==l;){const E=this.#A[0],w=E.length;if(w+I===l){Q.set(this.#A.shift(),I);break}else if(w+I>l){Q.set(E.subarray(0,l-I),I),this.#A[0]=E.subarray(l-I);break}else Q.set(this.#A.shift(),I),I+=w}return Q}}writeFragments(l){return this.#g>0&&this.#a.length===this.#g?(e(this.#i,1008,"Too many message fragments"),!1):(this.#e+=l.length,this.#a.push(l),!0)}consumeFragments(){const l=this.#a;if(l.length===1)return this.#e=0,l.shift();let r=0;const I=Buffer.allocUnsafeSlow(this.#e);for(let Q=0;Q<l.length;++Q){const E=l[Q];I.set(E,r),r+=E.length}return this.#a=[],this.#e=0,I}parseCloseBody(l){u(l.length!==1);let r;if(l.length>=2&&(r=l.readUInt16BE(0)),r!==void 0&&!B(r))return{code:1002,reason:"Invalid status code",error:!0};let I=l.subarray(2);I[0]===239&&I[1]===187&&I[2]===191&&(I=I.subarray(3));try{I=h(I)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:r,reason:I,error:!1}}parseControlFrame(l){const{opcode:r,payloadLength:I}=this.#r;if(r===N.CLOSE){if(I===1)return e(this.#i,1002,"Received close frame with a 1-byte body."),!1;if(this.#r.closeInfo=this.parseCloseBody(l),this.#r.closeInfo.error){const{code:Q,reason:E}=this.#r.closeInfo;return e(this.#i,Q,E),!1}if(!this.#i.closeState.has(g.SENT)&&!this.#i.closeState.has(g.RECEIVED)){let Q=C;this.#r.closeInfo.code&&(Q=Buffer.allocUnsafe(2),Q.writeUInt16BE(this.#r.closeInfo.code,0));const E=new t(Q);this.#i.socket.write(E.createFrame(N.CLOSE)),this.#i.closeState.add(g.SENT)}return this.#i.readyState=o.CLOSING,this.#i.closeState.add(g.RECEIVED),!1}else if(r===N.PING){if(!this.#i.closeState.has(g.RECEIVED)){const Q=new t(l);this.#i.socket.write(Q.createFrame(N.PONG)),this.#i.onPing(l)}}else r===N.PONG&&this.#i.onPong(l);return!0}get closingInfo(){return this.#r.closeInfo}}return hs={ByteParser:p},hs}var Is,kn;function ha(){if(kn)return Is;kn=1;const{WebsocketFrameSend:A}=gt(),{opcodes:u,sendHints:d}=ve(),N=Wn();class o{#A=new N;#e=!1;#t;constructor(f){this.#t=f}add(f,D,h){if(h!==d.blob){if(this.#e){const a={promise:null,callback:D,frame:C(f,h)};this.#A.push(a)}else if(h===d.text){const{0:a,1:s}=A.createFastTextFrame(f);this.#t.cork(),this.#t.write(a),this.#t.write(s,D),this.#t.uncork()}else this.#t.write(C(f,h),D);return}const c={promise:f.arrayBuffer().then(a=>{c.promise=null,c.frame=C(a,h)}),callback:D,frame:null};this.#A.push(c),this.#e||this.#s()}async#s(){this.#e=!0;const f=this.#A;for(;!f.isEmpty();){const D=f.shift();D.promise!==null&&await D.promise,this.#t.write(D.frame,D.callback),D.callback=D.frame=null}this.#e=!1}}function C(B,f){return new A(g(B,f)).createFrame(f===d.text?u.TEXT:u.BINARY)}function g(B,f){switch(f){case d.text:case d.typedArray:return new Uint8Array(B.buffer,B.byteOffset,B.byteLength);case d.arrayBuffer:case d.blob:return new Uint8Array(B)}}return Is={SendQueue:o},Is}var Bs,bn;function Ia(){if(bn)return Bs;bn=1;const{isArrayBuffer:A}=Ds,{webidl:u}=Ie(),{URLSerializer:d}=we(),{environmentSettingsObject:N}=De(),{staticPropertyDescriptors:o,states:C,sentCloseFrameState:g,sendHints:B,opcodes:f}=ve(),{isConnecting:D,isEstablished:h,isClosing:c,isClosed:a,isValidSubprotocol:s,fireEvent:e,utf8Decode:t,toArrayBuffer:n,getURLRecord:i}=Xe(),{establishWebSocketConnection:p,closeWebSocketConnection:y,failWebsocketConnection:l}=Us(),{ByteParser:r}=si(),{kEnumerableProperty:I}=LA(),{getGlobalDispatcher:Q}=ms(),{ErrorEvent:E,CloseEvent:w,createFastMessageEvent:F}=Fs(),{SendQueue:U}=ha(),{WebsocketFrameSend:S}=gt(),{channels:m}=He();function b(V){return typeof V?.address=="function"?V.address():typeof V?.session?.socket?.address=="function"?V.session.socket.address():null}class M extends EventTarget{#A={open:null,error:null,close:null,message:null};#e=0;#t="";#s="";#o;#r={onConnectionEstablished:(k,T)=>this.#g(k,T),onMessage:(k,T)=>this.#E(k,T),onParserError:k=>l(this.#r,null,k.message),onParserDrain:()=>this.#c(),onSocketData:k=>{this.#i.write(k)||this.#r.socket.pause()},onSocketError:k=>{this.#r.readyState=C.CLOSING,m.socketError.hasSubscribers&&m.socketError.publish(k),this.#r.socket.destroy()},onSocketClose:()=>this.#l(),onPing:k=>{m.ping.hasSubscribers&&m.ping.publish({payload:k,websocket:this})},onPong:k=>{m.pong.hasSubscribers&&m.pong.publish({payload:k,websocket:this})},readyState:C.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#a;#n;#i;constructor(k,T=[]){super(),u.util.markAsUncloneable(this);const x="WebSocket constructor";u.argumentLengthCheck(arguments,1,x);const z=u.converters["DOMString or sequence<DOMString> or WebSocketInit"](T,x,"options");k=u.converters.USVString(k),T=z.protocols;const gA=N.settingsObject.baseUrl,QA=i(k,gA);if(typeof T=="string"&&(T=[T]),T.length!==new Set(T.map(DA=>DA.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(T.length>0&&!T.every(DA=>s(DA)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this.#a=new URL(QA.href);const tA=N.settingsObject;this.#r.controller=p(QA,T,tA,this.#r,z),this.#r.readyState=M.CONNECTING,this.#n="blob"}close(k=void 0,T=void 0){u.brandCheck(this,M),k!==void 0&&(k=u.converters["unsigned short"](k,"WebSocket.close","code",u.attributes.Clamp)),T!==void 0&&(T=u.converters.USVString(T)),k??=null,T??="",y(this.#r,k,T,!0)}send(k){u.brandCheck(this,M);const T="WebSocket.send";if(u.argumentLengthCheck(arguments,1,T),k=u.converters.WebSocketSendData(k,T,"data"),D(this.#r.readyState))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!h(this.#r.readyState)||c(this.#r.readyState)))if(typeof k=="string"){const x=Buffer.from(k);this.#e+=x.byteLength,this.#o.add(x,()=>{this.#e-=x.byteLength},B.text)}else A(k)?(this.#e+=k.byteLength,this.#o.add(k,()=>{this.#e-=k.byteLength},B.arrayBuffer)):ArrayBuffer.isView(k)?(this.#e+=k.byteLength,this.#o.add(k,()=>{this.#e-=k.byteLength},B.typedArray)):u.is.Blob(k)&&(this.#e+=k.size,this.#o.add(k,()=>{this.#e-=k.size},B.blob))}get readyState(){return u.brandCheck(this,M),this.#r.readyState}get bufferedAmount(){return u.brandCheck(this,M),this.#e}get url(){return u.brandCheck(this,M),d(this.#a)}get extensions(){return u.brandCheck(this,M),this.#s}get protocol(){return u.brandCheck(this,M),this.#t}get onopen(){return u.brandCheck(this,M),this.#A.open}set onopen(k){u.brandCheck(this,M),this.#A.open&&this.removeEventListener("open",this.#A.open);const T=u.converters.EventHandlerNonNull(k);T!==null?(this.addEventListener("open",T),this.#A.open=k):this.#A.open=null}get onerror(){return u.brandCheck(this,M),this.#A.error}set onerror(k){u.brandCheck(this,M),this.#A.error&&this.removeEventListener("error",this.#A.error);const T=u.converters.EventHandlerNonNull(k);T!==null?(this.addEventListener("error",T),this.#A.error=k):this.#A.error=null}get onclose(){return u.brandCheck(this,M),this.#A.close}set onclose(k){u.brandCheck(this,M),this.#A.close&&this.removeEventListener("close",this.#A.close);const T=u.converters.EventHandlerNonNull(k);T!==null?(this.addEventListener("close",T),this.#A.close=k):this.#A.close=null}get onmessage(){return u.brandCheck(this,M),this.#A.message}set onmessage(k){u.brandCheck(this,M),this.#A.message&&this.removeEventListener("message",this.#A.message);const T=u.converters.EventHandlerNonNull(k);T!==null?(this.addEventListener("message",T),this.#A.message=k):this.#A.message=null}get binaryType(){return u.brandCheck(this,M),this.#n}set binaryType(k){u.brandCheck(this,M),k!=="blob"&&k!=="arraybuffer"?this.#n="blob":this.#n=k}#g(k,T){this.#r.socket=k.socket;const x=this.#r.controller.dispatcher?.webSocketOptions?.maxFragments,z=this.#r.controller.dispatcher?.webSocketOptions?.maxPayloadSize,gA=new r(this.#r,T,{maxFragments:x,maxPayloadSize:z});gA.on("drain",()=>this.#r.onParserDrain()),gA.on("error",DA=>this.#r.onParserError(DA)),this.#i=gA,this.#o=new U(k.socket),this.#r.readyState=C.OPEN;const QA=k.headersList.get("sec-websocket-extensions");QA!==null&&(this.#s=QA);const tA=k.headersList.get("sec-websocket-protocol");if(tA!==null&&(this.#t=tA),e("open",this),m.open.hasSubscribers){const DA=k.headersList.entries;m.open.publish({address:b(k.socket),protocol:this.#t,extensions:this.#s,websocket:this,handshakeResponse:{status:k.status,statusText:k.statusText,headers:DA}})}}#E(k,T){if(this.#r.readyState!==C.OPEN)return;let x;if(k===f.TEXT)try{x=t(T)}catch{l(this.#r,1007,"Received invalid UTF-8 in text frame.");return}else k===f.BINARY&&(this.#n==="blob"?x=new Blob([T]):x=n(T));e("message",this,F,{origin:this.#a.origin,data:x})}#c(){this.#r.socket.resume()}#l(){const k=this.#r.closeState.has(g.SENT)&&this.#r.closeState.has(g.RECEIVED);let T=1005,x="";const z=this.#i?.closingInfo;z&&!z.error&&(T=z.code??1005,x=z.reason),this.#r.readyState=C.CLOSED,this.#r.closeState.has(g.RECEIVED)||(T=1006,e("error",this,(gA,QA)=>new E(gA,QA),{error:new TypeError(x)})),e("close",this,(gA,QA)=>new w(gA,QA),{wasClean:k,code:T,reason:x}),m.close.hasSubscribers&&m.close.publish({websocket:this,code:T,reason:x})}static ping(k,T){if(Buffer.isBuffer(T)){if(T.length>125)throw new TypeError("A PING frame cannot have a body larger than 125 bytes.")}else if(T!==void 0)throw new TypeError("Expected buffer payload");const x=k.#r.readyState;if(h(x)&&!c(x)&&!a(x)){const z=new S(T);k.#r.socket.write(z.createFrame(f.PING))}}}const{ping:Y}=M;return Reflect.deleteProperty(M,"ping"),M.CONNECTING=M.prototype.CONNECTING=C.CONNECTING,M.OPEN=M.prototype.OPEN=C.OPEN,M.CLOSING=M.prototype.CLOSING=C.CLOSING,M.CLOSED=M.prototype.CLOSED=C.CLOSED,Object.defineProperties(M.prototype,{CONNECTING:o,OPEN:o,CLOSING:o,CLOSED:o,url:I,readyState:I,bufferedAmount:I,onopen:I,onerror:I,onclose:I,close:I,onmessage:I,binaryType:I,send:I,extensions:I,protocol:I,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}}),Object.defineProperties(M,{CONNECTING:o,OPEN:o,CLOSING:o,CLOSED:o}),u.converters["sequence<DOMString>"]=u.sequenceConverter(u.converters.DOMString),u.converters["DOMString or sequence<DOMString>"]=function(V,k,T){return u.util.Type(V)===u.util.Types.OBJECT&&Symbol.iterator in V?u.converters["sequence<DOMString>"](V):u.converters.DOMString(V,k,T)},u.converters.WebSocketInit=u.dictionaryConverter([{key:"protocols",converter:u.converters["DOMString or sequence<DOMString>"],defaultValue:()=>[]},{key:"dispatcher",converter:u.converters.any,defaultValue:()=>Q()},{key:"headers",converter:u.nullableConverter(u.converters.HeadersInit)}]),u.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(V){return u.util.Type(V)===u.util.Types.OBJECT&&!(Symbol.iterator in V)?u.converters.WebSocketInit(V):{protocols:u.converters["DOMString or sequence<DOMString>"](V)}},u.converters.WebSocketSendData=function(V){return u.util.Type(V)===u.util.Types.OBJECT&&(u.is.Blob(V)||u.is.BufferSource(V))?V:u.converters.USVString(V)},Bs={WebSocket:M,ping:Y},Bs}var Cs,Mn;function oi(){if(Mn)return Cs;Mn=1;const{webidl:A}=Ie(),{validateCloseCodeAndReason:u}=Xe(),{kConstruct:d}=jA(),{kEnumerableProperty:N}=LA();function o(){class B extends DOMException{get reason(){return""}}return new B().reason!==void 0?DOMException:new Proxy(DOMException,{construct(f,D,h){const c=Reflect.construct(f,D,f);return Object.setPrototypeOf(c,h.prototype),c}})}class C extends o(){#A;#e;constructor(f="",D=void 0){if(f=A.converters.DOMString(f,"WebSocketError","message"),super(f,"WebSocketError"),D===d)return;D!==null&&(D=A.converters.WebSocketCloseInfo(D));let h=D.closeCode??null;const c=D.reason??"";u(h,c),c.length!==0&&h===null&&(h=1e3),this.#A=h,this.#e=c}get closeCode(){return this.#A}get reason(){return this.#e}static createUnvalidatedWebSocketError(f,D,h){const c=new C(f,d);return c.#A=D,c.#e=h,c}}const{createUnvalidatedWebSocketError:g}=C;return delete C.createUnvalidatedWebSocketError,Object.defineProperties(C.prototype,{closeCode:N,reason:N,[Symbol.toStringTag]:{value:"WebSocketError",writable:!1,enumerable:!1,configurable:!0}}),A.is.WebSocketError=A.util.MakeTypeAssertion(C),Cs={WebSocketError:C,createUnvalidatedWebSocketError:g},Cs}var us,Tn;function Ba(){if(Tn)return us;Tn=1;const{addAbortListener:A}=ke,{environmentSettingsObject:u,readableStreamClose:d}=De(),{states:N,opcodes:o,sentCloseFrameState:C}=ve(),{webidl:g}=Ie(),{getURLRecord:B,isValidSubprotocol:f,isEstablished:D,utf8Decode:h}=Xe(),{establishWebSocketConnection:c,failWebsocketConnection:a,closeWebSocketConnection:s}=Us(),{channels:e}=He(),{WebsocketFrameSend:t}=gt(),{ByteParser:n}=si(),{WebSocketError:i,createUnvalidatedWebSocketError:p}=oi(),{kEnumerableProperty:y}=LA(),{utf8DecodeBytes:l}=Rs();let r=!1;class I{#A;#e;#t;#s;#o;#r;#a=!1;#n={onConnectionEstablished:(E,w)=>this.#E(E,w),onMessage:(E,w)=>this.#c(E,w),onParserError:E=>a(this.#n,null,E.message),onParserDrain:()=>this.#n.socket.resume(),onSocketData:E=>{this.#i.write(E)||this.#n.socket.pause()},onSocketError:E=>{this.#n.readyState=N.CLOSING,e.socketError.hasSubscribers&&e.socketError.publish(E),this.#n.socket.destroy()},onSocketClose:()=>this.#l(),onPing:()=>{},onPong:()=>{},readyState:N.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#i;constructor(E,w=void 0){r||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),r=!0),g.argumentLengthCheck(arguments,1,"WebSocket"),E=g.converters.USVString(E),w!==null&&(w=g.converters.WebSocketStreamOptions(w));const F=u.settingsObject.baseUrl,U=B(E,F),S=w.protocols;if(S.length!==new Set(S.map(b=>b.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(S.length>0&&!S.every(b=>f(b)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#A=U.toString(),this.#e=Promise.withResolvers(),this.#t=Promise.withResolvers(),w.signal!=null){const b=w.signal;if(b.aborted){this.#e.reject(b.reason),this.#t.reject(b.reason);return}A(b,()=>{D(this.#n.readyState)||(a(this.#n),this.#n.readyState=N.CLOSING,this.#e.reject(b.reason),this.#t.reject(b.reason),this.#a=!0)})}const m=u.settingsObject;this.#n.controller=c(U,S,m,this.#n,w)}get url(){return this.#A.toString()}get opened(){return this.#e.promise}get closed(){return this.#t.promise}close(E=void 0){E!==null&&(E=g.converters.WebSocketCloseInfo(E));const w=E.closeCode??null,F=E.reason;s(this.#n,w,F,!0)}#g(E){E=g.converters.WebSocketStreamWrite(E);const w=Promise.withResolvers();let F=null,U=null;if(g.is.BufferSource(E))F=new Uint8Array(ArrayBuffer.isView(E)?new Uint8Array(E.buffer,E.byteOffset,E.byteLength):E.slice()),U=o.BINARY;else{let S;try{S=g.converters.DOMString(E)}catch(m){return w.reject(m),w.promise}F=new TextEncoder().encode(S),U=o.TEXT}if(!this.#n.closeState.has(C.SENT)&&!this.#n.closeState.has(C.RECEIVED)){const S=new t(F);this.#n.socket.write(S.createFrame(U),()=>{w.resolve(void 0)})}return w.promise}#E(E,w){this.#n.socket=E.socket;const F=this.#n.controller.dispatcher?.webSocketOptions?.maxFragments,U=this.#n.controller.dispatcher?.webSocketOptions?.maxPayloadSize,S=new n(this.#n,w,{maxFragments:F,maxPayloadSize:U});S.on("drain",()=>this.#n.onParserDrain()),S.on("error",V=>this.#n.onParserError(V)),this.#i=S,this.#n.readyState=N.OPEN;const m=w??"",b=E.headersList.get("sec-websocket-protocol")??"",M=new ReadableStream({start:V=>{this.#o=V},cancel:V=>this.#h(V)}),Y=new WritableStream({write:V=>this.#g(V),close:()=>s(this.#n,null,null),abort:V=>this.#Q(V)});this.#s=M,this.#r=Y,this.#e.resolve({extensions:m,protocol:b,readable:M,writable:Y})}#c(E,w){if(this.#n.readyState!==N.OPEN)return;let F;if(E===o.TEXT)try{F=h(w)}catch{a(this.#n,1007,"Received invalid UTF-8 in text frame.");return}else E===o.BINARY&&(F=new Uint8Array(w.buffer,w.byteOffset,w.byteLength));this.#o.enqueue(F)}#l(){const E=this.#n.closeState.has(C.SENT)&&this.#n.closeState.has(C.RECEIVED);if(this.#n.readyState=N.CLOSED,this.#a)return;this.#n.wasEverConnected||this.#e.reject(new i("Socket never opened"));const w=this.#i?.closingInfo;let F=w?.code??1005;!this.#n.closeState.has(C.SENT)&&!this.#n.closeState.has(C.RECEIVED)&&(F=1006);const U=w?.reason==null?"":l(Buffer.from(w.reason));if(E)d(this.#o),this.#r.locked||this.#r.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#t.resolve({closeCode:F,reason:U});else{const S=p("unclean close",F,U);this.#o?.error(S),this.#r?.abort(S),this.#t.reject(S)}}#Q(E){let w=null,F="";g.is.WebSocketError(E)&&(w=E.closeCode,F=E.reason),s(this.#n,w,F)}#h(E){this.#Q(E)}}return Object.defineProperties(I.prototype,{url:y,opened:y,closed:y,close:y,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}}),g.converters.WebSocketStreamOptions=g.dictionaryConverter([{key:"protocols",converter:g.sequenceConverter(g.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:g.nullableConverter(g.converters.AbortSignal),defaultValue:()=>null}]),g.converters.WebSocketCloseInfo=g.dictionaryConverter([{key:"closeCode",converter:Q=>g.converters["unsigned short"](Q,g.attributes.EnforceRange)},{key:"reason",converter:g.converters.USVString,defaultValue:()=>""}]),g.converters.WebSocketStreamWrite=function(Q){return typeof Q=="string"?g.converters.USVString(Q):g.converters.BufferSource(Q)},us={WebSocketStream:I},us}var ds,Ln;function ni(){if(Ln)return ds;Ln=1;const{makeRequest:A}=at();function u(o){return o.indexOf("\0")===-1}function d(o){if(o.length===0)return!1;for(let C=0;C<o.length;C++)if(o.charCodeAt(C)<48||o.charCodeAt(C)>57)return!1;return!0}function N(o,C,g,B){let f=g==="no cors"?"no-cors":"cors";B&&f==="no-cors"&&(f="same-origin");let D="include";return g==="anonymous"&&(D="same-origin"),A({urlList:[o],destination:C,mode:f,credentials:D,useCredentials:!0})}return ds={isValidLastEventId:u,isASCIINumber:d,createPotentialCORSRequest:N},ds}var fs,Hn;function Ca(){if(Hn)return fs;Hn=1;const{Transform:A}=Ce,{isASCIINumber:u,isValidLastEventId:d}=ni(),N=[239,187,191],o=10,C=13,g=58,B=32,f=Buffer.from("data"),D=Buffer.from("event"),h=Buffer.from("id"),c=Buffer.from("retry");function a(n,i){if(i>=n.length)return!1;for(let p=i;p<n.length;p++)if(n[p]<48||n[p]>57)return!1;return!0}function s(n,i){for(let p=i;p<n.length;p++)if(n[p]===0)return!1;return!0}function e(n,i,p){if(i!==p.length)return!1;for(let y=0;y<i;y++)if(n[y]!==p[y])return!1;return!0}class t extends A{state;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;chunks=[];chunkIndex=0;pos=0;lineChunkIndex=0;linePos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(i={}){i.readableObjectMode=!0,super(i),this.state=i.eventSourceSettings||{},i.push&&(this.push=i.push)}_transform(i,p,y){if(i.length===0){y();return}if(this.chunks.push(i),this.checkBOM&&this.handleBOM()){y();return}for(;this.hasCurrentByte();){const l=this.currentByte();if(this.eventEndCheck){if(this.crlfCheck){if(l===o){this.crlfCheck=!1,this.consumeCurrentByte();continue}this.crlfCheck=!1}if(l===o||l===C){l===C&&(this.crlfCheck=!0),this.consumeCurrentByte(),this.hasPendingEvent()&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(l===o||l===C){l===C&&(this.crlfCheck=!0),this.parseLine(this.readLine(),this.event),this.consumeCurrentByte(),this.eventEndCheck=!0;continue}this.advanceCursor()}y()}parseLine(i,p){if(i.length===0)return;const y=i.indexOf(g);if(y===0)return;let l=i.length,r=i.length;if(y!==-1&&(l=y,r=y+1,i[r]===B&&++r),e(i,l,f)){const I=i.toString("utf8",r);p.data===void 0?p.data=I:p.data+=`
132
- ${I}`;return}if(e(i,l,c)){a(i,r)&&(p.retry=i.toString("utf8",r));return}if(e(i,l,h)){s(i,r)&&(p.id=i.toString("utf8",r));return}if(e(i,l,D)){const I=i.toString("utf8",r);I.length>0&&(p.event=I)}}processEvent(i){i.retry&&u(i.retry)&&(this.state.reconnectionTime=parseInt(i.retry,10)),i.id!==void 0&&d(i.id)&&(this.state.lastEventId=i.id),i.data!==void 0&&this.push({type:i.event||"message",options:{data:i.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event.data=void 0,this.event.event=void 0,this.event.id=void 0,this.event.retry=void 0}hasPendingEvent(){return this.event.data!==void 0||this.event.event!==void 0||this.event.id!==void 0||this.event.retry!==void 0}hasCurrentByte(){return this.chunkIndex<this.chunks.length&&this.pos<this.chunks[this.chunkIndex].length}currentByte(){return this.chunks[this.chunkIndex][this.pos]}consumeCurrentByte(){this.advanceCursor(),this.syncLineStartToCursor()}advanceCursor(){for(this.pos++;this.chunkIndex<this.chunks.length&&this.pos>=this.chunks[this.chunkIndex].length;)this.chunkIndex++,this.pos=0}syncLineStartToCursor(){this.lineChunkIndex=this.chunkIndex,this.linePos=this.pos,this.dropConsumedChunks()}dropConsumedChunks(){for(;this.lineChunkIndex>0;)this.chunks.shift(),this.lineChunkIndex--,this.chunkIndex--;this.chunkIndex===this.chunks.length&&(this.chunks.length=0,this.chunkIndex=0,this.pos=0,this.lineChunkIndex=0,this.linePos=0)}readLine(){if(this.lineChunkIndex===this.chunkIndex)return this.chunks[this.chunkIndex].subarray(this.linePos,this.pos);const i=[];let p=0;for(let y=this.lineChunkIndex;y<=this.chunkIndex;y++){const l=this.chunks[y],r=y===this.lineChunkIndex?this.linePos:0,I=y===this.chunkIndex?this.pos:l.length,Q=l.subarray(r,I);p+=Q.length,i.push(Q)}return Buffer.concat(i,p)}peekBufferedByte(i){let p=this.lineChunkIndex,y=this.linePos;for(;p<this.chunks.length;){const l=this.chunks[p],r=l.length-y;if(i<r)return l[y+i];i-=r,p++,y=0}}discardLeadingBytes(i){for(;i>0&&this.lineChunkIndex<this.chunks.length;){const p=this.chunks[this.lineChunkIndex].length-this.linePos;i<p?(this.linePos+=i,i=0):(i-=p,this.lineChunkIndex++,this.linePos=0)}this.chunkIndex=this.lineChunkIndex,this.pos=this.linePos,this.dropConsumedChunks()}handleBOM(){const i=this.peekBufferedByte(0),p=this.peekBufferedByte(1),y=this.peekBufferedByte(2);return p===void 0?(i===N[0]||(this.checkBOM=!1),!0):y===void 0?i===N[0]&&p===N[1]?!0:(this.checkBOM=!1,!1):(i===N[0]&&p===N[1]&&y===N[2]&&this.discardLeadingBytes(3),this.checkBOM=!1,!this.hasCurrentByte())}}return fs={EventSourceStream:t},fs}var ys,Yn;function ua(){if(Yn)return ys;Yn=1;const{pipeline:A}=Ce,{fetching:u}=Dt(),{webidl:d}=Ie(),{EventSourceStream:N}=Ca(),{parseMIMEType:o}=we(),{createFastMessageEvent:C}=Fs(),{isNetworkError:g}=yt(),{kEnumerableProperty:B}=LA(),{environmentSettingsObject:f}=De(),{createPotentialCORSRequest:D}=ni();let h=!1;const c=3e3,a=0,s=1,e=2,t="anonymous",n="use-credentials";class i extends EventTarget{#A={open:null,error:null,message:null};#e;#t=!1;#s=a;#o=null;#r=null;#a;#n;constructor(l,r={}){super(),d.util.markAsUncloneable(this);const I="EventSource constructor";d.argumentLengthCheck(arguments,1,I),h||(h=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),l=d.converters.USVString(l),r=d.converters.EventSourceInitDict(r,I,"eventSourceInitDict"),this.#a=r.node.dispatcher||r.dispatcher,this.#n={lastEventId:"",reconnectionTime:r.node.reconnectionTime};const Q=f;let E;try{E=new URL(l,Q.settingsObject.baseUrl),this.#n.origin=E.origin}catch(U){throw new DOMException(U,"SyntaxError")}this.#e=E.href;let w=t;r.withCredentials===!0&&(w=n,this.#t=!0);const F=D(E,"",w);F.client=f.settingsObject,F.headersList.set("Accept","text/event-stream"),F.cache="no-store",F.initiator="other",this.#o=F,this.#i()}get readyState(){return this.#s}get url(){return this.#e}get withCredentials(){return this.#t}#i(){if(this.#s===e)return;this.#s=a;const l={request:this.#o,dispatcher:this.#a},r=I=>{if(!g(I))return this.#g()};l.processResponseEndOfBody=r,l.processResponse=I=>{if(g(I))if(I.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#g();return}const Q=I.headersList.get("content-type",!0),E=Q!==null?o(Q):"failure",w=E!=="failure"&&E.essence==="text/event-stream";if(I.status!==200||w===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#s=s,this.dispatchEvent(new Event("open")),this.#n.origin=I.urlList[I.urlList.length-1].origin;const F=new N({eventSourceSettings:this.#n,push:U=>{this.dispatchEvent(C(U.type,U.options))}});A(I.body.stream,F,U=>{U?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#r=u(l)}#g(){this.#s!==e&&(this.#s=a,this.dispatchEvent(new Event("error")),setTimeout(()=>{this.#s===a&&(this.#n.lastEventId.length&&this.#o.headersList.set("last-event-id",this.#n.lastEventId,!0),this.#i())},this.#n.reconnectionTime)?.unref())}close(){d.brandCheck(this,i),this.#s!==e&&(this.#s=e,this.#r.abort(),this.#o=null)}get onopen(){return this.#A.open}set onopen(l){this.#A.open&&this.removeEventListener("open",this.#A.open);const r=d.converters.EventHandlerNonNull(l);r!==null?(this.addEventListener("open",r),this.#A.open=l):this.#A.open=null}get onmessage(){return this.#A.message}set onmessage(l){this.#A.message&&this.removeEventListener("message",this.#A.message);const r=d.converters.EventHandlerNonNull(l);r!==null?(this.addEventListener("message",r),this.#A.message=l):this.#A.message=null}get onerror(){return this.#A.error}set onerror(l){this.#A.error&&this.removeEventListener("error",this.#A.error);const r=d.converters.EventHandlerNonNull(l);r!==null?(this.addEventListener("error",r),this.#A.error=l):this.#A.error=null}}const p={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:a,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:s,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:e,writable:!1}};return Object.defineProperties(i,p),Object.defineProperties(i.prototype,p),Object.defineProperties(i.prototype,{close:B,onerror:B,onmessage:B,onopen:B,readyState:B,url:B,withCredentials:B}),d.converters.EventSourceInitDict=d.dictionaryConverter([{key:"withCredentials",converter:d.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:d.converters.any},{key:"node",converter:d.dictionaryConverter([{key:"reconnectionTime",converter:d.converters["unsigned long"],defaultValue:()=>c},{key:"dispatcher",converter:d.converters.any}]),defaultValue:()=>({})}]),ys={EventSource:i,defaultReconnectionTime:c},ys}var vn;function da(){return vn||(vn=1,(function(A){const u=Ye(),d=rt(),N=qe(),o=Ui(),C=ki(),g=Pe(),B=qn(),f=_n(),D=Pn(),h=Ti(),c=Li(),a=Hi(),s=MA(),e=LA(),{InvalidArgumentError:t}=s,n=xi(),i=We(),p=Kn(),{MockCallHistory:y,MockCallHistoryLog:l}=zn(),r=$n(),I=jn(),Q=Pi(),E=Zn(),w=Ns(),{getGlobalDispatcher:F,setGlobalDispatcher:U}=ms(),S=nt(),m=ei();Object.assign(d.prototype,n),A.exports.Dispatcher=d,A.exports.Client=u,A.exports.Pool=N,A.exports.BalancedPool=o,A.exports.RoundRobinPool=C,A.exports.Agent=g,A.exports.Dispatcher1Wrapper=B,A.exports.ProxyAgent=f,A.exports.Socks5ProxyAgent=D,A.exports.EnvHttpProxyAgent=h,A.exports.RetryAgent=c,A.exports.H2CClient=a,A.exports.RetryHandler=w,A.exports.DecoratorHandler=S,A.exports.RedirectHandler=m,A.exports.interceptors={redirect:_i(),responseError:Zi(),retry:Xi(),dump:Ki(),dns:zi(),cache:ea(),decompress:ta(),deduplicate:sa()},A.exports.cacheStores={MemoryCacheStore:ti()};const b=oa();A.exports.cacheStores.SqliteCacheStore=b,A.exports.buildConnector=i,A.exports.errors=s,A.exports.util={parseHeaders:e.parseHeaders,headerNameToString:e.headerNameToString};function M(rA){return(j,yA,RA)=>{if(typeof yA=="function"&&(RA=yA,yA=null),!j||typeof j!="string"&&typeof j!="object"&&!(j instanceof URL))throw new t("invalid url");if(yA!=null&&typeof yA!="object")throw new t("invalid opts");if(yA&&yA.path!=null){if(typeof yA.path!="string")throw new t("invalid opts.path");let Ae=yA.path;yA.path.startsWith("/")||(Ae=`/${Ae}`),j=new URL(e.parseOrigin(j).origin+Ae)}else yA||(yA=typeof j=="object"?j:{}),j=e.parseURL(j);const{agent:GA,dispatcher:KA=F(),...zA}=yA;if(GA)throw new t("unsupported opts.agent. Did you mean opts.client?");return rA.call(KA,{...zA,origin:j.origin,path:j.search?`${j.pathname}${j.search}`:j.pathname,method:yA.method||(yA.body?"PUT":"GET")},RA)}}A.exports.setGlobalDispatcher=U,A.exports.getGlobalDispatcher=F;const Y=Dt().fetch,V=typeof __filename<"u"?__filename:void 0;function k(rA,j){if(!rA||typeof rA!="object")return;const yA=typeof rA.stack=="string"?rA.stack:"",RA=j.replace(/\\/g,"/");if(yA&&(yA.includes(j)||yA.includes(RA)))return;const GA={};if(Error.captureStackTrace(GA,k),!GA.stack)return;const KA=GA.stack.split(`
133
- `).slice(1).join(`
134
- `);rA.stack=yA?`${yA}
135
- ${KA}`:GA.stack}A.exports.fetch=function(rA,j=void 0){return Y(rA,j).catch(yA=>{throw V?k(yA,V):yA&&typeof yA=="object"&&Error.captureStackTrace(yA,A.exports.fetch),yA})},A.exports.Headers=Ze().Headers,A.exports.Response=yt().Response,A.exports.Request=at().Request,A.exports.FormData=Ss().FormData;const{setGlobalOrigin:T,getGlobalOrigin:x}=xn();A.exports.setGlobalOrigin=T,A.exports.getGlobalOrigin=x;const{CacheStorage:z}=ga(),{kConstruct:gA}=jA();A.exports.caches=new z(gA);const{deleteCookie:QA,getCookies:tA,getSetCookies:DA,setCookie:nA,parseCookie:eA}=la();A.exports.deleteCookie=QA,A.exports.getCookies=tA,A.exports.getSetCookies=DA,A.exports.setCookie=nA,A.exports.parseCookie=eA;const{parseMIMEType:iA,serializeAMimeType:CA}=we();A.exports.parseMIMEType=iA,A.exports.serializeAMimeType=CA;const{CloseEvent:NA,ErrorEvent:hA,MessageEvent:kA}=Fs(),{WebSocket:xA,ping:TA}=Ia();A.exports.WebSocket=xA,A.exports.CloseEvent=NA,A.exports.ErrorEvent=hA,A.exports.MessageEvent=kA,A.exports.ping=TA,A.exports.WebSocketStream=Ba().WebSocketStream,A.exports.WebSocketError=oi().WebSocketError,A.exports.request=M(n.request),A.exports.stream=M(n.stream),A.exports.pipeline=M(n.pipeline),A.exports.connect=M(n.connect),A.exports.upgrade=M(n.upgrade),A.exports.MockClient=p,A.exports.MockCallHistory=y,A.exports.MockCallHistoryLog=l,A.exports.MockPool=I,A.exports.MockAgent=r,A.exports.SnapshotAgent=Q,A.exports.mockErrors=E;const{EventSource:AA}=ua();A.exports.EventSource=AA;function G(){globalThis.fetch=A.exports.fetch,globalThis.Headers=A.exports.Headers,globalThis.Response=A.exports.Response,globalThis.Request=A.exports.Request,globalThis.FormData=A.exports.FormData,globalThis.WebSocket=A.exports.WebSocket,globalThis.CloseEvent=A.exports.CloseEvent,globalThis.ErrorEvent=A.exports.ErrorEvent,globalThis.MessageEvent=A.exports.MessageEvent,globalThis.EventSource=A.exports.EventSource}A.exports.install=G})(wt)),wt.exports}var fa=da();const Da=yi({__proto__:null},[fa]);export{Da as i};
573
+
574
+ # Get the current command line and convert into a string
575
+ $Command = $CommandAst.CommandElements
576
+ $Command = "$Command"
577
+
578
+ __${t}_debug ""
579
+ __${t}_debug "========= starting completion logic =========="
580
+ __${t}_debug "WordToComplete: $WordToComplete Command: $Command CursorPosition: $CursorPosition"
581
+
582
+ # The user could have moved the cursor backwards on the command-line.
583
+ # We need to trigger completion from the $CursorPosition location, so we need
584
+ # to truncate the command-line ($Command) up to the $CursorPosition location.
585
+ # Make sure the $Command is longer then the $CursorPosition before we truncate.
586
+ # This happens because the $Command does not include the last space.
587
+ if ($Command.Length -gt $CursorPosition) {
588
+ $Command = $Command.Substring(0, $CursorPosition)
589
+ }
590
+ __${t}_debug "Truncated command: $Command"
591
+
592
+ $ShellCompDirectiveError=${n.ShellCompDirectiveError}
593
+ $ShellCompDirectiveNoSpace=${n.ShellCompDirectiveNoSpace}
594
+ $ShellCompDirectiveNoFileComp=${n.ShellCompDirectiveNoFileComp}
595
+ $ShellCompDirectiveFilterFileExt=${n.ShellCompDirectiveFilterFileExt}
596
+ $ShellCompDirectiveFilterDirs=${n.ShellCompDirectiveFilterDirs}
597
+ $ShellCompDirectiveKeepOrder=${n.ShellCompDirectiveKeepOrder}
598
+
599
+ # Prepare the command to request completions for the program.
600
+ # Split the command at the first space to separate the program and arguments.
601
+ $Program, $Arguments = $Command.Split(" ", 2)
602
+
603
+ $QuotedArgs = ($Arguments -split ' ' | ForEach-Object { "'" + ($_ -replace "'", "''") + "'" }) -join ' '
604
+ __${t}_debug "QuotedArgs: $QuotedArgs"
605
+
606
+ $RequestComp = "& ${i} complete '--' $QuotedArgs"
607
+ __${t}_debug "RequestComp: $RequestComp"
608
+
609
+ # we cannot use $WordToComplete because it
610
+ # has the wrong values if the cursor was moved
611
+ # so use the last argument
612
+ if ($WordToComplete -ne "" ) {
613
+ $WordToComplete = $Arguments.Split(" ")[-1]
614
+ }
615
+ __${t}_debug "New WordToComplete: $WordToComplete"
616
+
617
+
618
+ # Check for flag with equal sign
619
+ $IsEqualFlag = ($WordToComplete -Like "--*=*" )
620
+ if ( $IsEqualFlag ) {
621
+ __${t}_debug "Completing equal sign flag"
622
+ # Remove the flag part
623
+ $Flag, $WordToComplete = $WordToComplete.Split("=", 2)
624
+ }
625
+ $HasTrailingEmptyArg = $QuotedArgs -match "(^| )''$"
626
+ __${t}_debug "HasTrailingEmptyArg: $HasTrailingEmptyArg"
627
+
628
+ if ( $WordToComplete -eq "" -And ( -Not $IsEqualFlag ) -And ( -Not $HasTrailingEmptyArg )) {
629
+ # If the last parameter is complete (there is a space following it)
630
+ # We add an extra empty parameter so we can indicate this to the go method.
631
+ __${t}_debug "Adding extra empty parameter"
632
+ # PowerShell 7.2+ changed the way how the arguments are passed to executables,
633
+ # so for pre-7.2 or when Legacy argument passing is enabled we need to use
634
+ if ($PSVersionTable.PsVersion -lt [version]'7.2.0' -or
635
+ ($PSVersionTable.PsVersion -lt [version]'7.3.0' -and -not [ExperimentalFeature]::IsEnabled("PSNativeCommandArgumentPassing")) -or
636
+ (($PSVersionTable.PsVersion -ge [version]'7.3.0' -or [ExperimentalFeature]::IsEnabled("PSNativeCommandArgumentPassing")) -and
637
+ $PSNativeCommandArgumentPassing -eq 'Legacy')) {
638
+ $RequestComp="$RequestComp" + ' \`"\`"'
639
+ } else {
640
+ $RequestComp = "$RequestComp" + ' ""'
641
+ }
642
+ }
643
+
644
+ __${t}_debug "Calling $RequestComp"
645
+ # First disable ActiveHelp which is not supported for Powershell
646
+ $env:ActiveHelp = 0
647
+
648
+ # call the command store the output in $out and redirect stderr and stdout to null
649
+ # $Out is an array contains each line per element
650
+ Invoke-Expression -OutVariable out "$RequestComp" 2>&1 | Out-Null
651
+
652
+ # get directive from last line
653
+ [int]$Directive = $Out[-1].TrimStart(':')
654
+ if ($Directive -eq "") {
655
+ # There is no directive specified
656
+ $Directive = 0
657
+ }
658
+ __${t}_debug "The completion directive is: $Directive"
659
+
660
+ # remove directive (last element) from out
661
+ $Out = $Out | Where-Object { $_ -ne $Out[-1] }
662
+ __${t}_debug "The completions are: $Out"
663
+
664
+ if (($Directive -band $ShellCompDirectiveError) -ne 0 ) {
665
+ # Error code. No completion.
666
+ __${t}_debug "Received error from custom completion go code"
667
+ return
668
+ }
669
+
670
+ $Longest = 0
671
+ [Array]$Values = $Out | ForEach-Object {
672
+ # Split the output in name and description
673
+ $Name, $Description = $_.Split("\`t", 2)
674
+ __${t}_debug "Name: $Name Description: $Description"
675
+
676
+ # Look for the longest completion so that we can format things nicely
677
+ if ($Longest -lt $Name.Length) {
678
+ $Longest = $Name.Length
679
+ }
680
+
681
+ # Set the description to a one space string if there is none set.
682
+ # This is needed because the CompletionResult does not accept an empty string as argument
683
+ if (-Not $Description) {
684
+ $Description = " "
685
+ }
686
+ @{ Name = "$Name"; Description = "$Description" }
687
+ }
688
+
689
+
690
+ $Space = " "
691
+ if (($Directive -band $ShellCompDirectiveNoSpace) -ne 0 ) {
692
+ # remove the space here
693
+ __${t}_debug "ShellCompDirectiveNoSpace is called"
694
+ $Space = ""
695
+ }
696
+
697
+ if ((($Directive -band $ShellCompDirectiveFilterFileExt) -ne 0 ) -or
698
+ (($Directive -band $ShellCompDirectiveFilterDirs) -ne 0 )) {
699
+ __${t}_debug "ShellCompDirectiveFilterFileExt ShellCompDirectiveFilterDirs are not supported"
700
+
701
+ # return here to prevent the completion of the extensions
702
+ return
703
+ }
704
+
705
+ $Values = $Values | Where-Object {
706
+ # filter the result
707
+ $_.Name -like "$WordToComplete*"
708
+
709
+ # Join the flag back if we have an equal sign flag
710
+ if ( $IsEqualFlag ) {
711
+ __${t}_debug "Join the equal sign flag back to the completion value"
712
+ $_.Name = $Flag + "=" + $_.Name
713
+ }
714
+ }
715
+
716
+ # we sort the values in ascending order by name if keep order isn't passed
717
+ if (($Directive -band $ShellCompDirectiveKeepOrder) -eq 0 ) {
718
+ $Values = $Values | Sort-Object -Property Name
719
+ }
720
+
721
+ if (($Directive -band $ShellCompDirectiveNoFileComp) -ne 0 ) {
722
+ __${t}_debug "ShellCompDirectiveNoFileComp is called"
723
+
724
+ if ($Values.Length -eq 0) {
725
+ # Just print an empty string here so the
726
+ # shell does not start to complete paths.
727
+ # We cannot use CompletionResult here because
728
+ # it does not accept an empty string as argument.
729
+ ""
730
+ return
731
+ }
732
+ }
733
+
734
+ # Get the current mode
735
+ $Mode = (Get-PSReadLineKeyHandler | Where-Object { $_.Key -eq "Tab" }).Function
736
+ __${t}_debug "Mode: $Mode"
737
+
738
+ $Values | ForEach-Object {
739
+
740
+ # store temporary because switch will overwrite $_
741
+ $comp = $_
742
+
743
+ # PowerShell supports three different completion modes
744
+ # - TabCompleteNext (default windows style - on each key press the next option is displayed)
745
+ # - Complete (works like bash)
746
+ # - MenuComplete (works like zsh)
747
+ # You set the mode with Set-PSReadLineKeyHandler -Key Tab -Function <mode>
748
+
749
+ # CompletionResult Arguments:
750
+ # 1) CompletionText text to be used as the auto completion result
751
+ # 2) ListItemText text to be displayed in the suggestion list
752
+ # 3) ResultType type of completion result
753
+ # 4) ToolTip text for the tooltip with details about the object
754
+
755
+ switch ($Mode) {
756
+
757
+ # bash like
758
+ "Complete" {
759
+
760
+ if ($Values.Length -eq 1) {
761
+ __${t}_debug "Only one completion left"
762
+
763
+ # insert space after value
764
+ [System.Management.Automation.CompletionResult]::new($($comp.Name | __${t}_escapeStringWithSpecialChars) + $Space, "$($comp.Name)", 'ParameterValue', "$($comp.Description)")
765
+
766
+ } else {
767
+ # Add the proper number of spaces to align the descriptions
768
+ while($comp.Name.Length -lt $Longest) {
769
+ $comp.Name = $comp.Name + " "
770
+ }
771
+
772
+ # Check for empty description and only add parentheses if needed
773
+ if ($($comp.Description) -eq " " ) {
774
+ $Description = ""
775
+ } else {
776
+ $Description = " ($($comp.Description))"
777
+ }
778
+
779
+ [System.Management.Automation.CompletionResult]::new("$($comp.Name)$Description", "$($comp.Name)$Description", 'ParameterValue', "$($comp.Description)")
780
+ }
781
+ }
782
+
783
+ # zsh like
784
+ "MenuComplete" {
785
+ # insert space after value
786
+ # MenuComplete will automatically show the ToolTip of
787
+ # the highlighted value at the bottom of the suggestions.
788
+ [System.Management.Automation.CompletionResult]::new($($comp.Name | __${t}_escapeStringWithSpecialChars) + $Space, "$($comp.Name)", 'ParameterValue', "$($comp.Description)")
789
+ }
790
+
791
+ # TabCompleteNext and in case we get something unknown
792
+ Default {
793
+ # Like MenuComplete but we don't want to add a space here because
794
+ # the user need to press space anyway to get the completion.
795
+ # Description will not be shown because that's not possible with TabCompleteNext
796
+ [System.Management.Automation.CompletionResult]::new($($comp.Name | __${t}_escapeStringWithSpecialChars), "$($comp.Name)", 'ParameterValue', "$($comp.Description)")
797
+ }
798
+ }
799
+
800
+ }
801
+ }
802
+
803
+ Register-ArgumentCompleter -CommandName '${t}' -ScriptBlock $__${e}CompleterBlock
804
+ `}const n={ShellCompDirectiveError:1,ShellCompDirectiveNoSpace:2,ShellCompDirectiveNoFileComp:4,ShellCompDirectiveFilterFileExt:8,ShellCompDirectiveFilterDirs:16,ShellCompDirectiveKeepOrder:32,ShellCompDirectiveDefault:0};var w=class{name;variadic;command;handler;constructor(t,i,e,o=!1){this.command=t,this.name=i,this.handler=e,this.variadic=o}},D=class{value;description;command;handler;alias;isBoolean;constructor(t,i,e,o,l,r){this.command=t,this.value=i,this.description=e,this.handler=o,this.alias=l,this.isBoolean=r}},m=class{value;description;options=new Map;arguments=new Map;parent;constructor(t,i){this.value=t,this.description=i}option(t,i,e,o){let l,r,s;typeof e=="function"?(l=e,r=o,s=!1):typeof e=="string"?(l=void 0,r=e,s=!0):(l=void 0,r=void 0,s=!0);let a=new D(this,t,i,l,r,s);return this.options.set(t,a),this}argument(t,i,e=!1){let o=new w(this,t,i,e);return this.arguments.set(t,o),this}},S=class extends m{commands=new Map;completions=[];directive=n.ShellCompDirectiveDefault;constructor(){super("","")}command(t,i){let e=new m(t,i);return this.commands.set(t,e),e}stripOptions(t){let i=[],e=0;for(;e<t.length;){let o=t[e];if(o.startsWith("-")){e++;let l=!1,r=this.findOption(this,o);if(r)l=r.isBoolean??!1;else for(let[,s]of this.commands){let a=this.findOption(s,o);if(a){l=a.isBoolean??!1;break}}!l&&e<t.length&&!t[e].startsWith("-")&&e++}else i.push(o),e++}return i}matchCommand(t){t=this.stripOptions(t);let i=[],e=[],o=null;for(let l=0;l<t.length;l++){let r=t[l];i.push(r);let s=this.commands.get(i.join(" "));if(s)o=s;else{e=t.slice(l,t.length);break}}return[o||this,e]}shouldCompleteFlags(t,i){if(i.startsWith("-"))return!0;if(t?.startsWith("-")){let e=this.findOption(this,t);if(!e){for(let[,o]of this.commands)if(e=this.findOption(o,t),e)break}return!(e&&e.isBoolean)}return!1}shouldCompleteCommands(t){return!t.startsWith("-")}handleFlagCompletion(t,i,e,o){let l;if(e.includes("=")){let[r]=e.split("=");l=r}else if(o?.startsWith("-")){let r=this.findOption(t,o);r&&!r.isBoolean&&(l=o)}if(l){let r=this.findOption(t,l);if(r?.handler){let s=[];r.handler.call(r,(a,c)=>s.push({value:a,description:c}),t.options),this.completions=s}return}if(e.startsWith("-")){let r=e.startsWith("-")&&!e.startsWith("--"),s=e.replace(/^-+/,"");for(let[a,c]of t.options)r&&c.alias&&`-${c.alias}`.startsWith(e)?this.completions.push({value:`-${c.alias}`,description:c.description}):!r&&a.startsWith(s)&&this.completions.push({value:`--${a}`,description:c.description})}}findOption(t,i){let e=t.options.get(i);if(e||(e=t.options.get(i.replace(/^-+/,"")),e))return e;for(let[o,l]of t.options)if(l.alias&&`-${l.alias}`===i)return l}handleCommandCompletion(t,i){let e=this.stripOptions(t);for(let[o,l]of this.commands){if(o==="")continue;let r=o.split(" ");r.slice(0,e.length).every((s,a)=>s===e[a])&&r[e.length]?.startsWith(i)&&this.completions.push({value:r[e.length],description:l.description})}}handlePositionalCompletion(t,i){let e=this.stripOptions(i),o=t.value.split(" ").length,l=Math.max(0,e.length-o),r=Array.from(t.arguments.entries());if(r.length>0){let s;if(l<r.length){let[a,c]=r[l];s=c}else{let a=r[r.length-1][1];a.variadic&&(s=a)}if(s&&s.handler&&typeof s.handler=="function"){let a=[];s.handler.call(s,(c,d)=>a.push({value:c,description:d}),t.options),this.completions.push(...a)}}}complete(t){this.directive=n.ShellCompDirectiveNoFileComp;let i=new Set;this.completions.filter(e=>i.has(e.value)?!1:(i.add(e.value),!0)).filter(e=>{if(t.includes("=")){let[,o]=t.split("=");return e.value.startsWith(o)}return e.value.startsWith(t)}).forEach(e=>console.log(`${e.value} ${e.description??""}`)),console.log(`:${this.directive}`)}parse(t){this.completions=[];let i=t[t.length-1]==="";i&&t.pop();let e=t[t.length-1]||"",o=t.slice(0,-1);i&&(e!==""&&o.push(e),e="");let[l]=this.matchCommand(o),r=o[o.length-1];this.shouldCompleteFlags(r,e)?this.handleFlagCompletion(l,o,e,r):(this.shouldCompleteCommands(e)&&this.handleCommandCompletion(o,e),l&&l.arguments.size>0&&this.handlePositionalCompletion(l,o)),this.complete(e)}setup(t,i,e){switch(f(e==="zsh"||e==="bash"||e==="fish"||e==="powershell","Unsupported shell"),e){case"zsh":{let o=g(t,i);console.log(o);break}case"bash":{let o=v(t,i);console.log(o);break}case"fish":{let o=C(t,i);console.log(o);break}case"powershell":{let o=b(t,i);console.log(o);break}}}};const y=new S;export{w as Argument,m as Command,D as Option,S as RootCommand,n as ShellCompDirective,y as default};