@vercel/cli-support 65.11.0 → 65.12.0-snapshot-801db9d533c3

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 (369) hide show
  1. package/README.md +8 -120
  2. package/dist/chunks/add-BDJYCIBT.js +8 -0
  3. package/dist/chunks/add-LZR4CD7O.js +8 -0
  4. package/dist/chunks/add-MR6YZTRQ.js +8 -0
  5. package/dist/chunks/{alerts-JGRRCQA4.js → alerts-VOYMO6NJ.js} +1 -1
  6. package/dist/chunks/build-H2U56DYB.js +7 -0
  7. package/dist/chunks/{chunk-UF2E5BDE.js → chunk-23PO6JK6.js} +1 -1
  8. package/dist/chunks/{chunk-PUKYAALC.js → chunk-24SIHFEW.js} +1 -1
  9. package/dist/chunks/{chunk-EBIJ26IV.js → chunk-2C6TLXE5.js} +1 -1
  10. package/dist/chunks/{chunk-QROI2U32.js → chunk-2CQJKBKV.js} +2 -4
  11. package/dist/chunks/{chunk-7MZLV3KK.js → chunk-2CZL3GJU.js} +1 -1
  12. package/dist/chunks/{chunk-XH2R2EIK.js → chunk-2EV53VB5.js} +1 -1
  13. package/dist/chunks/{chunk-5B5CLOKM.js → chunk-2FNOYPRB.js} +1 -1
  14. package/dist/chunks/{chunk-4E6BGQWR.js → chunk-2LOA3LC6.js} +1 -1
  15. package/dist/chunks/{chunk-M3Z6NSC2.js → chunk-2V6UURUN.js} +1 -1
  16. package/dist/chunks/{chunk-B6QVH6IG.js → chunk-32EEQITR.js} +1 -1
  17. package/dist/chunks/{chunk-4VP57TOJ.js → chunk-33OMDQTW.js} +1 -1
  18. package/dist/chunks/{chunk-CFYLTZSV.js → chunk-3AGRCSWN.js} +1 -1
  19. package/dist/chunks/{chunk-42J2KCDF.js → chunk-3EFPSM6M.js} +1 -1
  20. package/dist/chunks/{chunk-DQASZDQT.js → chunk-3SNWIYU7.js} +1 -1
  21. package/dist/chunks/{chunk-EVBGFSK5.js → chunk-42Y46TZ3.js} +1 -1
  22. package/dist/chunks/{chunk-KV3QXTRZ.js → chunk-4OO6TXBM.js} +1 -1
  23. package/dist/chunks/{chunk-UUDE44NV.js → chunk-54FY6GJ5.js} +1 -1
  24. package/dist/chunks/{chunk-RIJ45N7C.js → chunk-5HQEYPDO.js} +1 -1
  25. package/dist/chunks/chunk-5KL6UFII.js +7 -0
  26. package/dist/chunks/{chunk-ECFLIVEE.js → chunk-5L566FZB.js} +1 -1
  27. package/dist/chunks/{chunk-NZW3RIQM.js → chunk-5MFGTXWC.js} +1 -1
  28. package/dist/chunks/{chunk-4ELZOAQH.js → chunk-5TMHRECT.js} +1 -1
  29. package/dist/chunks/{chunk-74VQ7PQV.js → chunk-5YLKPSZI.js} +1 -1
  30. package/dist/chunks/chunk-66TKNVRG.js +60 -0
  31. package/dist/chunks/{chunk-RDWLLSPU.js → chunk-6737KAJP.js} +1 -1
  32. package/dist/chunks/{chunk-V5TOMLK4.js → chunk-6Q2XEYCJ.js} +1 -1
  33. package/dist/chunks/{chunk-7VGBGUX7.js → chunk-6S6UZV3V.js} +1 -1
  34. package/dist/chunks/{chunk-EZLPMOHM.js → chunk-6WTGR7UP.js} +1 -1
  35. package/dist/chunks/chunk-7BDQUBSO.js +7 -0
  36. package/dist/chunks/chunk-7M6EHM5B.js +7 -0
  37. package/dist/chunks/{chunk-42FOKWGX.js → chunk-7PGDJTAH.js} +1 -1
  38. package/dist/chunks/{chunk-BZIC36KP.js → chunk-7TVNKTN2.js} +1 -1
  39. package/dist/chunks/{chunk-IIGNDMLO.js → chunk-ABSFPYM4.js} +1 -1
  40. package/dist/chunks/{chunk-MBXLL2HF.js → chunk-AGLOVMPC.js} +3 -3
  41. package/dist/chunks/{chunk-B56SRT5W.js → chunk-AIZIVXNX.js} +1 -1
  42. package/dist/chunks/{chunk-WBSFE6IE.js → chunk-AQBK55BT.js} +1 -1
  43. package/dist/chunks/chunk-AW33SRYY.js +7 -0
  44. package/dist/chunks/{chunk-UNPK7LVC.js → chunk-B3IBBNIR.js} +1 -1
  45. package/dist/chunks/{chunk-VRH7LWOC.js → chunk-B4KA3ZH2.js} +1 -1
  46. package/dist/chunks/{chunk-2J35YKA2.js → chunk-BC74BRVP.js} +12 -12
  47. package/dist/chunks/{chunk-PFZCGMJ7.js → chunk-BH5OASEJ.js} +1 -1
  48. package/dist/chunks/chunk-BIGJEDOA.js +11 -0
  49. package/dist/chunks/chunk-BOJDM3O7.js +7 -0
  50. package/dist/chunks/{chunk-375JVQYK.js → chunk-CJZE7647.js} +1 -1
  51. package/dist/chunks/{chunk-YZKARZ2B.js → chunk-CKJZSRAC.js} +1 -1
  52. package/dist/chunks/{chunk-TUAS3L5I.js → chunk-D5JRYYTT.js} +1 -1
  53. package/dist/chunks/{chunk-SF4E3AQ3.js → chunk-E3WP42P2.js} +1 -1
  54. package/dist/chunks/{chunk-6UMVJ7RL.js → chunk-E7CEQ2PO.js} +1 -1
  55. package/dist/chunks/chunk-E7IFYSQT.js +12 -0
  56. package/dist/chunks/chunk-EDO66J3L.js +7 -0
  57. package/dist/chunks/{chunk-C5QEQSEX.js → chunk-EIFBF3JQ.js} +1 -1
  58. package/dist/chunks/chunk-EM3U6PRB.js +7 -0
  59. package/dist/chunks/{chunk-AMPJ6RWT.js → chunk-EZVNGJN5.js} +1 -1
  60. package/dist/chunks/{chunk-ZPBGAZC2.js → chunk-F6KURUPQ.js} +1 -1
  61. package/dist/chunks/{chunk-5DXC4TE2.js → chunk-F7L5SXJM.js} +1 -1
  62. package/dist/chunks/{chunk-ZTHW5VNH.js → chunk-FFS3QJCU.js} +2 -2
  63. package/dist/chunks/{chunk-FNH3T3CF.js → chunk-FGZXIHGN.js} +1 -1
  64. package/dist/chunks/chunk-FXOKM2RM.js +7 -0
  65. package/dist/chunks/{chunk-NUSKXXZZ.js → chunk-FZLCDLWD.js} +1 -1
  66. package/dist/chunks/{chunk-CD6ZWCKT.js → chunk-G63MSB6N.js} +1 -1
  67. package/dist/chunks/{chunk-HNH3DPIZ.js → chunk-GAILIG45.js} +1 -1
  68. package/dist/chunks/{chunk-FVVOHGQE.js → chunk-GHNHUSVK.js} +1 -1
  69. package/dist/chunks/{chunk-4DMKP6AO.js → chunk-GOI2VVI7.js} +2 -2
  70. package/dist/chunks/chunk-GORL5DZC.js +11 -0
  71. package/dist/chunks/{chunk-WMWB7QKG.js → chunk-GP3KGUCK.js} +1 -1
  72. package/dist/chunks/{chunk-GL66K54F.js → chunk-GPDERS2D.js} +1 -1
  73. package/dist/chunks/{chunk-CU3LNJZV.js → chunk-GUSOYIW6.js} +1 -1
  74. package/dist/chunks/{chunk-AO6AMYBF.js → chunk-GY44CQXK.js} +1 -1
  75. package/dist/chunks/chunk-H64GR57G.js +7 -0
  76. package/dist/chunks/{chunk-VKCBEW6R.js → chunk-HBWRIR42.js} +1 -1
  77. package/dist/chunks/{chunk-4U6ACPA4.js → chunk-HR66URIC.js} +1 -1
  78. package/dist/chunks/chunk-HRGJO4HK.js +7 -0
  79. package/dist/chunks/chunk-HU5NUOWH.js +7 -0
  80. package/dist/chunks/{chunk-4KM733OB.js → chunk-HVJN2SSK.js} +1 -1
  81. package/dist/chunks/chunk-HXLOBW75.js +10 -0
  82. package/dist/chunks/{chunk-4T57TXQ3.js → chunk-IBBLLUXD.js} +1 -1
  83. package/dist/chunks/{chunk-MO2G2ND2.js → chunk-IJBRT2AD.js} +1 -1
  84. package/dist/chunks/{chunk-NT2N5UR4.js → chunk-IRIFXCZW.js} +1 -1
  85. package/dist/chunks/{chunk-ECGY67NB.js → chunk-J7RNU6AO.js} +1 -1
  86. package/dist/chunks/{chunk-SDYCW5JM.js → chunk-JONZUKWX.js} +1 -1
  87. package/dist/chunks/{chunk-P24YBQ6H.js → chunk-JVGENO2R.js} +1 -1
  88. package/dist/chunks/{chunk-PKNEWN4W.js → chunk-K46QQRUN.js} +1 -1
  89. package/dist/chunks/{chunk-BJXLR2RE.js → chunk-KKYNEEM7.js} +1 -1
  90. package/dist/chunks/{chunk-3TDFSO4X.js → chunk-KPSINH7T.js} +1 -1
  91. package/dist/chunks/chunk-KR4DMT3I.js +7 -0
  92. package/dist/chunks/{chunk-RCUDI7OF.js → chunk-M32HBBPK.js} +1 -1
  93. package/dist/chunks/{chunk-ZQXXESKG.js → chunk-MAA5GRIM.js} +1 -1
  94. package/dist/chunks/chunk-MCYG7CCE.js +7 -0
  95. package/dist/chunks/{chunk-VAZ7JG2Z.js → chunk-MNZYFYYH.js} +1 -1
  96. package/dist/chunks/{chunk-HDISAMDF.js → chunk-MQJ4MINN.js} +1 -1
  97. package/dist/chunks/{chunk-ITQPDXXA.js → chunk-MTZYPCZ7.js} +1 -1
  98. package/dist/chunks/{chunk-NE6PKR2J.js → chunk-MWWMY5R6.js} +1 -1
  99. package/dist/chunks/{chunk-UBJVL3NJ.js → chunk-MWXL6HYB.js} +3 -3
  100. package/dist/chunks/{chunk-UFXIPUNI.js → chunk-MXALPSIX.js} +1 -1
  101. package/dist/chunks/{chunk-7JMN657A.js → chunk-NBTFAXL4.js} +1 -1
  102. package/dist/chunks/{chunk-HYOWFNOP.js → chunk-NIZW6D6D.js} +1 -1
  103. package/dist/chunks/{chunk-KBVYN635.js → chunk-NREH4VSU.js} +1 -1
  104. package/dist/chunks/{chunk-TPJV5UNE.js → chunk-NTYBDY24.js} +1 -1
  105. package/dist/chunks/{chunk-NDMQVBTV.js → chunk-NYJTWSSD.js} +1 -1
  106. package/dist/chunks/{chunk-7ZJ7VUIR.js → chunk-O3DAPRJ3.js} +1 -1
  107. package/dist/chunks/chunk-O7TFWXLZ.js +13 -0
  108. package/dist/chunks/{chunk-K7ARJYAG.js → chunk-OFOZ5DBA.js} +1 -1
  109. package/dist/chunks/{chunk-FYE7ILRR.js → chunk-OFZUWHZW.js} +1 -1
  110. package/dist/chunks/{chunk-RI6DJAFI.js → chunk-OHEM2CSW.js} +1 -1
  111. package/dist/chunks/{chunk-6ORJPXDQ.js → chunk-OHK3Y5NS.js} +1 -1
  112. package/dist/chunks/{chunk-IHTWZEQW.js → chunk-OKKG2FUS.js} +1 -1
  113. package/dist/chunks/{chunk-7NMC4E66.js → chunk-OR3ZEVBW.js} +1 -1
  114. package/dist/chunks/{chunk-QDHTI5WK.js → chunk-POR6KNXT.js} +1 -1
  115. package/dist/chunks/{chunk-JUSNW3IF.js → chunk-PSFHYOLD.js} +1 -1
  116. package/dist/chunks/{chunk-TZE4CS4K.js → chunk-QBHTNUM5.js} +1 -1
  117. package/dist/chunks/chunk-QJDWNTYH.js +7 -0
  118. package/dist/chunks/{chunk-YUHKH4TK.js → chunk-QKOLFLLP.js} +1 -1
  119. package/dist/chunks/chunk-REJLEESP.js +10 -0
  120. package/dist/chunks/{chunk-EIMHC5UY.js → chunk-ROKZIMRO.js} +1 -1
  121. package/dist/chunks/{chunk-DR6OJB6P.js → chunk-RPIBJRIT.js} +1 -1
  122. package/dist/chunks/chunk-SEHERY6U.js +7 -0
  123. package/dist/chunks/{chunk-RR5SDYNN.js → chunk-SHMHL6W7.js} +1 -1
  124. package/dist/chunks/{chunk-5FIY443M.js → chunk-SMETSNPH.js} +1 -1
  125. package/dist/chunks/{chunk-NMIZSQDN.js → chunk-SP6E7PHW.js} +1 -1
  126. package/dist/chunks/chunk-SQBDW5FO.js +10 -0
  127. package/dist/chunks/chunk-SWFG73OS.js +8 -0
  128. package/dist/chunks/{chunk-CHIYT3V4.js → chunk-TA7KTIDV.js} +1 -1
  129. package/dist/chunks/{chunk-W24TLPO5.js → chunk-TJBVFVXK.js} +1 -1
  130. package/dist/chunks/{chunk-JTAUWH5V.js → chunk-TJUZVODP.js} +1 -1
  131. package/dist/chunks/{chunk-VWJXV5ZM.js → chunk-TKVUWTBK.js} +1 -1
  132. package/dist/chunks/chunk-U7ZEFVSQ.js +8 -0
  133. package/dist/chunks/{chunk-WTFD4MDT.js → chunk-UZQJQXGJ.js} +1 -1
  134. package/dist/chunks/{chunk-UIMJNASP.js → chunk-V7G4VDZI.js} +1 -1
  135. package/dist/chunks/{chunk-WNDR5HCU.js → chunk-VCJIB3FB.js} +1 -1
  136. package/dist/chunks/{chunk-EGTJTCCW.js → chunk-VFBELAGX.js} +1 -1
  137. package/dist/chunks/{chunk-AYZ52QDF.js → chunk-VM6X5BTK.js} +1 -1
  138. package/dist/chunks/{chunk-HZEKH3RO.js → chunk-VVTMF2AY.js} +1 -1
  139. package/dist/chunks/{chunk-N65H4JMJ.js → chunk-W25UARQV.js} +1 -1
  140. package/dist/chunks/chunk-WLMW7K7F.js +7 -0
  141. package/dist/chunks/{chunk-IHCYNUI2.js → chunk-XJYDISH3.js} +1 -1
  142. package/dist/chunks/chunk-XSQZ35V6.js +7 -0
  143. package/dist/chunks/{chunk-YODQLETL.js → chunk-XVDUP67R.js} +1 -1
  144. package/dist/chunks/{chunk-SLCPSRDR.js → chunk-Y2FVJ7YO.js} +1 -1
  145. package/dist/chunks/chunk-Y2SQC4GV.js +10 -0
  146. package/dist/chunks/{chunk-FVTRIRML.js → chunk-Y5S2OEJH.js} +1 -1
  147. package/dist/chunks/{chunk-EJN55YDV.js → chunk-YANOBY2G.js} +1 -1
  148. package/dist/chunks/{chunk-2RXUQ72I.js → chunk-YIOMTAUF.js} +1 -1
  149. package/dist/chunks/{chunk-BW25OFQG.js → chunk-YLCIOXSX.js} +1 -1
  150. package/dist/chunks/{chunk-GZLYNPNU.js → chunk-YNCWSPPJ.js} +1 -1
  151. package/dist/chunks/chunk-YQQ3A3YC.js +13 -0
  152. package/dist/chunks/{chunk-UI2H2EIM.js → chunk-YTRKHRL3.js} +1 -1
  153. package/dist/chunks/{chunk-MIIHBRKV.js → chunk-Z2K2JR7F.js} +1 -1
  154. package/dist/chunks/{chunk-F7AVGV4Y.js → chunk-Z73UJVGD.js} +1 -1
  155. package/dist/chunks/{chunk-6Y2ZL5XJ.js → chunk-ZKNEIE44.js} +2 -2
  156. package/dist/chunks/chunk-ZXEWWSTH.js +10 -0
  157. package/dist/chunks/chunk-ZZLCRSES.js +11 -0
  158. package/dist/chunks/clear-7QUM5KH7.js +8 -0
  159. package/dist/chunks/{cli-embedded-Y74S252S.js → cli-embedded-ABHGJLYX.js} +1 -1
  160. package/dist/chunks/compile-vercel-config-RDISBTDC.js +7 -0
  161. package/dist/chunks/config-2YNYR6YI.js +7 -0
  162. package/dist/chunks/config-4AOTKKGI.js +8 -0
  163. package/dist/chunks/config-validator.mjs +1 -1
  164. package/dist/chunks/{connect-git-provider-GFAJLQLU.js → connect-git-provider-BMUUC7ND.js} +1 -1
  165. package/dist/chunks/contract-3VSUIBEY.js +10 -0
  166. package/dist/chunks/delete-EJNR4UYC.js +10 -0
  167. package/dist/chunks/delete-OYOBFPEG.js +9 -0
  168. package/dist/chunks/describe-ORIEHT3R.js +25 -0
  169. package/dist/chunks/detect-projects-AKK2XI76.js +7 -0
  170. package/dist/chunks/detect-services-3LYPKUVL.js +7 -0
  171. package/dist/chunks/disable-U6JU546S.js +7 -0
  172. package/dist/chunks/discard-6SHAFQ2H.js +14 -0
  173. package/dist/chunks/edit-YMWKFN3H.js +8 -0
  174. package/dist/chunks/edit-YTTKJFTG.js +9 -0
  175. package/dist/chunks/enable-A6KBPFXJ.js +7 -0
  176. package/dist/chunks/{esm-4ZHGYTUV.js → esm-CF5UHWPM.js} +1 -1
  177. package/dist/chunks/{esm-LNIAU767.js → esm-EYOXGOVF.js} +1 -1
  178. package/dist/chunks/{esm-IBY43SSX.js → esm-FSME24KA.js} +1 -1
  179. package/dist/chunks/{esm-7FVTQHRH.js → esm-IUATPKKB.js} +1 -1
  180. package/dist/chunks/{esm-GTSUYLKG.js → esm-L6OKDFWP.js} +1 -1
  181. package/dist/chunks/{esm-TEM4KPXZ.js → esm-ORQC2ZSA.js} +1 -1
  182. package/dist/chunks/{esm-TLAM7FSK.js → esm-PYIZNQIK.js} +1 -1
  183. package/dist/chunks/{exec-H3X7U4P3.js → exec-RQ257MTR.js} +1 -1
  184. package/dist/chunks/{export-25TQ3YBT.js → export-MMU6VVFK.js} +1 -1
  185. package/dist/chunks/future-ANILGGFQ.js +7 -0
  186. package/dist/chunks/generate-cert-for-deploy-LKKZUKWF.js +7 -0
  187. package/dist/chunks/image-OWWKVBTU.js +7 -0
  188. package/dist/chunks/import-builders-VENL23EH.js +7 -0
  189. package/dist/chunks/{inspect-3W3TUJ6P.js → inspect-BPIJT4OX.js} +1 -1
  190. package/dist/chunks/inspect-GDZJZGHW.js +13 -0
  191. package/dist/chunks/{inspect-TN2QY3BP.js → inspect-H7JGEVL7.js} +1 -1
  192. package/dist/chunks/inspect-I6LQLOBG.js +8 -0
  193. package/dist/chunks/{inspect-BRYVSQBD.js → inspect-IGFAKTAX.js} +1 -1
  194. package/dist/chunks/inspect-U6V4UQXC.js +9 -0
  195. package/dist/chunks/list-763XVNFH.js +8 -0
  196. package/dist/chunks/{list-WA6Q7DUN.js → list-OX2N4JK7.js} +1 -1
  197. package/dist/chunks/list-WHZXMZJ5.js +12 -0
  198. package/dist/chunks/{list-6W4UQBY4.js → list-XLPMNNI7.js} +1 -1
  199. package/dist/chunks/login-2PGWWOKB.js +7 -0
  200. package/dist/chunks/login-T63WJL4S.js +9 -0
  201. package/dist/chunks/logs-S2KJGEIG.js +7 -0
  202. package/dist/chunks/ls-5HXYPIFR.js +11 -0
  203. package/dist/chunks/ls-M4GJOBZP.js +8 -0
  204. package/dist/chunks/ls-N56BWH2L.js +8 -0
  205. package/dist/chunks/{ls-L5LLKZBV.js → ls-O5B3LY4D.js} +1 -1
  206. package/dist/chunks/{ls-MAJ4QZTY.js → ls-PNGTHVUK.js} +1 -1
  207. package/dist/chunks/{ls-UXE5RSZN.js → ls-Q7FAOSVD.js} +1 -1
  208. package/dist/chunks/{ls-4WP6LHLL.js → ls-R4UDBWS3.js} +1 -1
  209. package/dist/chunks/migrate-experimental-services-HWJXO4AJ.js +7 -0
  210. package/dist/chunks/mutate-FM6BLE46.js +9 -0
  211. package/dist/chunks/{native-self-update-DEVBYOH2.js → native-self-update-7LL6RPJW.js} +1 -1
  212. package/dist/chunks/notifications-ZSZN35BQ.js +7 -0
  213. package/dist/chunks/open-4RXUUYQP.js +7 -0
  214. package/dist/chunks/openapi-457MABMI.js +7 -0
  215. package/dist/chunks/permissions-UJRTMOT7.js +7 -0
  216. package/dist/chunks/{plugin-offer-JUYWL4I7.js → plugin-offer-KJCRPUU5.js} +1 -1
  217. package/dist/chunks/prompt-missing-credentials-B5DGQFI7.js +7 -0
  218. package/dist/chunks/publish-I3APOD3N.js +15 -0
  219. package/dist/chunks/pull-2YUNTVPQ.js +7 -0
  220. package/dist/chunks/purchase-domain-if-available-3YOXUXII.js +7 -0
  221. package/dist/chunks/push-4QQJQRGZ.js +7 -0
  222. package/dist/chunks/query-2JO6HH5N.js +12 -0
  223. package/dist/chunks/reauthenticate-COYQMMAG.js +7 -0
  224. package/dist/chunks/remove-PWS5EJ7F.js +9 -0
  225. package/dist/chunks/reorder-COZQX64R.js +10 -0
  226. package/dist/chunks/reply-XDYZNHW2.js +9 -0
  227. package/dist/chunks/resolve-6KUFCZRX.js +12 -0
  228. package/dist/chunks/resolve-agent-team-NOT235ZN.js +7 -0
  229. package/dist/chunks/{resolve-deployment-framework-preset-AXXYBFCL.js → resolve-deployment-framework-preset-4TKUU6AH.js} +1 -1
  230. package/dist/chunks/restore-GSSD4ZWH.js +16 -0
  231. package/dist/chunks/rm-AUNVZPJ5.js +8 -0
  232. package/dist/chunks/rm-EIMUYBJT.js +8 -0
  233. package/dist/chunks/rm-EJH37HYN.js +8 -0
  234. package/dist/chunks/rm-O5NMCBC3.js +8 -0
  235. package/dist/chunks/rm-PHTOXG4E.js +8 -0
  236. package/dist/chunks/{routes-BP54NO3Z.js → routes-NEZJKMR5.js} +1 -1
  237. package/dist/chunks/rule-inspect-7HNYKQ6X.js +8 -0
  238. package/dist/chunks/{schema-753JMRZA.js → schema-5P7HROXE.js} +1 -1
  239. package/dist/chunks/schema-MZM5MN5V.js +14 -0
  240. package/dist/chunks/select-org-3BZWQD6R.js +7 -0
  241. package/dist/chunks/set-2RH74ZC3.js +7 -0
  242. package/dist/chunks/set-Q2EJ3V44.js +9 -0
  243. package/dist/chunks/setup-and-link-BT5TNY4J.js +7 -0
  244. package/dist/chunks/{skills-QZ4AMS2K.js → skills-DUOUHPBY.js} +1 -1
  245. package/dist/chunks/{statuspage-KHTMA4WL.js → statuspage-K5SC7KAQ.js} +1 -1
  246. package/dist/chunks/{detect-projects-K7SVMH5T.js → table-W6LOHWWF.js} +1 -1
  247. package/dist/chunks/tags-QOJEEMKS.js +7 -0
  248. package/dist/chunks/{types-NPUAHKSK.js → types-7L6HBXAU.js} +1 -1
  249. package/dist/chunks/{update-7XH7HM5F.js → update-HS6QFTQK.js} +1 -1
  250. package/dist/chunks/usage-3N6IA5SX.js +13 -0
  251. package/dist/chunks/validate-config-YLL6RPCP.js +7 -0
  252. package/dist/commands/build/index.js +1 -1
  253. package/dist/commands/deploy/index.js +19 -37
  254. package/dist/commands/dev/index.js +4 -4
  255. package/dist/commands/env/index.js +1 -1
  256. package/dist/commands/link/index.js +1 -1
  257. package/dist/commands/list/index.js +1 -1
  258. package/dist/commands/project/index.js +1 -1
  259. package/dist/commands-account.js +3 -3
  260. package/dist/commands-ai.js +6 -6
  261. package/dist/commands-blob.js +1 -1
  262. package/dist/commands-core.js +20 -20
  263. package/dist/commands-deployments.js +5 -5
  264. package/dist/commands-flags.js +1 -1
  265. package/dist/commands-integrations.js +1 -1
  266. package/dist/commands-observability.js +15 -8
  267. package/dist/commands-routing.js +5 -4
  268. package/dist/help.js +1 -1
  269. package/dist/index.js +5 -5
  270. package/dist/internal-build.js +1 -1
  271. package/dist/package.json +45 -245
  272. package/dist/vc.js +47 -695
  273. package/dist/version.mjs +1 -1
  274. package/package.json +51 -196
  275. package/dist/chunks/add-4R6FUHQT.js +0 -8
  276. package/dist/chunks/add-F3H4BFJZ.js +0 -8
  277. package/dist/chunks/add-TCOJ4SIQ.js +0 -8
  278. package/dist/chunks/build-GOLTZF6S.js +0 -7
  279. package/dist/chunks/chunk-3KJ6HWSX.js +0 -7
  280. package/dist/chunks/chunk-5X635INY.js +0 -11
  281. package/dist/chunks/chunk-7LPNDK2O.js +0 -7
  282. package/dist/chunks/chunk-A3M2BHWR.js +0 -13
  283. package/dist/chunks/chunk-BUFEV3T4.js +0 -11
  284. package/dist/chunks/chunk-BVR6OIU5.js +0 -7
  285. package/dist/chunks/chunk-D7BB5BPA.js +0 -10
  286. package/dist/chunks/chunk-DBT6PGEH.js +0 -7
  287. package/dist/chunks/chunk-DRZVM7CB.js +0 -12
  288. package/dist/chunks/chunk-EICEQXVS.js +0 -7
  289. package/dist/chunks/chunk-F2R7L3ZB.js +0 -7
  290. package/dist/chunks/chunk-FHMCTV5E.js +0 -7
  291. package/dist/chunks/chunk-FOE3MWES.js +0 -7
  292. package/dist/chunks/chunk-HKU6D7DU.js +0 -8
  293. package/dist/chunks/chunk-IOTKHTZH.js +0 -7
  294. package/dist/chunks/chunk-K4JTCVNW.js +0 -13
  295. package/dist/chunks/chunk-LALPOYIA.js +0 -8
  296. package/dist/chunks/chunk-M3R7F2N4.js +0 -7
  297. package/dist/chunks/chunk-MUKXOI2K.js +0 -8
  298. package/dist/chunks/chunk-NIS66BFX.js +0 -63
  299. package/dist/chunks/chunk-NSPW47RU.js +0 -7
  300. package/dist/chunks/chunk-NTDP6RTQ.js +0 -11
  301. package/dist/chunks/chunk-Q2QVK3TH.js +0 -7
  302. package/dist/chunks/chunk-RM3ZDRYE.js +0 -7
  303. package/dist/chunks/chunk-UCRMJMH6.js +0 -10
  304. package/dist/chunks/chunk-XQDHMFQY.js +0 -7
  305. package/dist/chunks/chunk-XRIM4BUF.js +0 -7
  306. package/dist/chunks/chunk-Z64MQIOE.js +0 -10
  307. package/dist/chunks/chunk-ZS2WS4AM.js +0 -7
  308. package/dist/chunks/clear-PECHXMV5.js +0 -8
  309. package/dist/chunks/compile-vercel-config-EM3HYOQC.js +0 -7
  310. package/dist/chunks/config-DA2NZUDH.js +0 -8
  311. package/dist/chunks/config-X6O3DT7V.js +0 -7
  312. package/dist/chunks/contract-RHMWRX4W.js +0 -10
  313. package/dist/chunks/delete-5RN5VW5L.js +0 -9
  314. package/dist/chunks/delete-MT6I7R7K.js +0 -10
  315. package/dist/chunks/detect-services-HSA4JHJX.js +0 -7
  316. package/dist/chunks/disable-LXPZDQMC.js +0 -7
  317. package/dist/chunks/discard-PW65T65S.js +0 -14
  318. package/dist/chunks/edit-WFSONASO.js +0 -8
  319. package/dist/chunks/edit-YID3FOJ3.js +0 -9
  320. package/dist/chunks/enable-X2EKQCIY.js +0 -7
  321. package/dist/chunks/future-DQBK457G.js +0 -7
  322. package/dist/chunks/generate-cert-for-deploy-OMEACY5G.js +0 -7
  323. package/dist/chunks/image-AO2OZG4W.js +0 -7
  324. package/dist/chunks/import-builders-GSDV4K4A.js +0 -7
  325. package/dist/chunks/inspect-4244CRHI.js +0 -13
  326. package/dist/chunks/inspect-C43IV7X4.js +0 -9
  327. package/dist/chunks/inspect-RP5KXOYQ.js +0 -8
  328. package/dist/chunks/list-2SY6PZLC.js +0 -12
  329. package/dist/chunks/list-WBKZGIMQ.js +0 -8
  330. package/dist/chunks/login-K6XBWOFD.js +0 -9
  331. package/dist/chunks/login-OGMXEW5N.js +0 -7
  332. package/dist/chunks/logs-R3ZERQ7M.js +0 -7
  333. package/dist/chunks/ls-EVAQD3LI.js +0 -8
  334. package/dist/chunks/ls-O5DKK3TY.js +0 -8
  335. package/dist/chunks/ls-PTHGXQLK.js +0 -11
  336. package/dist/chunks/mutate-EKZWPQQJ.js +0 -9
  337. package/dist/chunks/notifications-F5S3RKZF.js +0 -7
  338. package/dist/chunks/open-KGVG54NN.js +0 -7
  339. package/dist/chunks/openapi-7TPDTMCU.js +0 -7
  340. package/dist/chunks/permissions-5K7JZOMB.js +0 -7
  341. package/dist/chunks/prompt-missing-credentials-DX2KJB5X.js +0 -7
  342. package/dist/chunks/publish-KIRTO2ZO.js +0 -15
  343. package/dist/chunks/pull-3CRJK7BX.js +0 -7
  344. package/dist/chunks/purchase-domain-if-available-55IXEF43.js +0 -7
  345. package/dist/chunks/push-4YG5HKSD.js +0 -7
  346. package/dist/chunks/query-67KQVLTR.js +0 -12
  347. package/dist/chunks/reauthenticate-SWSBFGDU.js +0 -7
  348. package/dist/chunks/remove-SYTIFVWW.js +0 -9
  349. package/dist/chunks/reorder-TX5MXJEB.js +0 -10
  350. package/dist/chunks/reply-XVK33N5T.js +0 -9
  351. package/dist/chunks/resolve-JZ262ZF4.js +0 -12
  352. package/dist/chunks/resolve-agent-team-BG5YW55B.js +0 -7
  353. package/dist/chunks/restore-IPFL7TKT.js +0 -16
  354. package/dist/chunks/rm-2BCAZGQU.js +0 -8
  355. package/dist/chunks/rm-3CCU3CE6.js +0 -8
  356. package/dist/chunks/rm-5CQV5LYG.js +0 -8
  357. package/dist/chunks/rm-OV4OU6H2.js +0 -8
  358. package/dist/chunks/rm-WFGMOZ3G.js +0 -8
  359. package/dist/chunks/rule-inspect-RFJIIXZH.js +0 -8
  360. package/dist/chunks/schema-SUNFQGUL.js +0 -14
  361. package/dist/chunks/select-org-MPHPWWPU.js +0 -7
  362. package/dist/chunks/set-BR6EEOPB.js +0 -7
  363. package/dist/chunks/set-I3NWZRSI.js +0 -9
  364. package/dist/chunks/setup-and-link-MRTKVOWD.js +0 -7
  365. package/dist/chunks/tags-7DIZEAVE.js +0 -7
  366. package/dist/chunks/usage-3BS7JCCU.js +0 -13
  367. package/dist/chunks/validate-config-LAD7BU3B.js +0 -7
  368. package/dist/launcher-errors.js +0 -11
  369. package/dist/native-download.js +0 -8
@@ -0,0 +1,13 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{extractDatePortion}from"./chunk-ECQIO5K3.js";import{elapsed}from"./chunk-Q7D7RGXM.js";import{table}from"./chunk-CJZE7647.js";import{usageCommand}from"./chunk-6737KAJP.js";import{printError}from"./chunk-NYJTWSSD.js";import{getScope}from"./chunk-XSQZ35V6.js";import{TelemetryClient}from"./chunk-AGLOVMPC.js";import"./chunk-2EYYB6YN.js";import"./chunk-NWGBDBZI.js";import"./chunk-GORL5DZC.js";import"./chunk-OFZUWHZW.js";import"./chunk-BC74BRVP.js";import"./chunk-4HR3I3ML.js";import"./chunk-K46QQRUN.js";import"./chunk-MTZYPCZ7.js";import"./chunk-GPDERS2D.js";import"./chunk-4NTBYNFR.js";import{parseArguments}from"./chunk-VM6X5BTK.js";import"./chunk-2VBFQZ72.js";import{validateJsonOutput}from"./chunk-JONZUKWX.js";import"./chunk-LUX4PBJL.js";import"./chunk-OPORM35X.js";import{require_ms}from"./chunk-MXTC4ZAQ.js";import"./chunk-D6REP5QQ.js";import"./chunk-FBYA6LLM.js";import"./chunk-MY4MONOH.js";import"./chunk-4SAVH3H7.js";import{isAPIError}from"./chunk-GOI2VVI7.js";import"./chunk-B4KA3ZH2.js";import"./chunk-BOJDM3O7.js";import{output_manager_default}from"./chunk-YNCWSPPJ.js";import"./chunk-BLUPZPAS.js";import"./chunk-AW33SRYY.js";import"./chunk-5MDNVAE6.js";import"./chunk-OCR5CRTH.js";import"./chunk-7EJQLVWX.js";import"./chunk-SCV7XEEO.js";import{require_dist}from"./chunk-MCYG7CCE.js";import"./chunk-YHPPP3SF.js";import"./chunk-24SIHFEW.js";import{getFlagsSpecification}from"./chunk-EZVNGJN5.js";import"./chunk-2BKALEOP.js";import{require_source}from"./chunk-NB2WLB3J.js";import"./chunk-ISWW3DKF.js";import"./chunk-BRQUZ5NC.js";import"./chunk-BULSRTQE.js";import{__toESM}from"./chunk-BZENIQ7N.js";var import_chalk5=__toESM(require_source(),1);var UsageTelemetryClient=class extends TelemetryClient{trackCliOptionSince(since){since&&this.trackCliOption({option:"since",value:this.redactedValue})}trackCliOptionUntil(until){until&&this.trackCliOption({option:"until",value:this.redactedValue})}trackCliOptionFrom(from){from&&this.trackCliOption({option:"from",value:this.redactedValue})}trackCliOptionTo(to){to&&this.trackCliOption({option:"to",value:this.redactedValue})}trackCliFlagJson(json){json&&this.trackCliFlag("json")}trackCliOptionBreakdown(breakdown){breakdown&&this.trackCliOption({option:"breakdown",value:breakdown})}trackCliOptionGroupBy(groupBy){groupBy&&this.trackCliOption({option:"group-by",value:groupBy})}};var import_error_utils=__toESM(require_dist(),1);var LuxonError=class extends Error{},InvalidDateTimeError=class extends LuxonError{constructor(reason){super(`Invalid DateTime: ${reason.toMessage()}`)}},InvalidIntervalError=class extends LuxonError{constructor(reason){super(`Invalid Interval: ${reason.toMessage()}`)}},InvalidDurationError=class extends LuxonError{constructor(reason){super(`Invalid Duration: ${reason.toMessage()}`)}},ConflictingSpecificationError=class extends LuxonError{},InvalidUnitError=class extends LuxonError{constructor(unit){super(`Invalid unit ${unit}`)}},InvalidArgumentError=class extends LuxonError{},ZoneIsAbstractError=class extends LuxonError{constructor(){super("Zone is an abstract class")}},n="numeric",s="short",l="long",DATE_SHORT={year:n,month:n,day:n},DATE_MED={year:n,month:s,day:n},DATE_MED_WITH_WEEKDAY={year:n,month:s,day:n,weekday:s},DATE_FULL={year:n,month:l,day:n},DATE_HUGE={year:n,month:l,day:n,weekday:l},TIME_SIMPLE={hour:n,minute:n},TIME_WITH_SECONDS={hour:n,minute:n,second:n},TIME_WITH_SHORT_OFFSET={hour:n,minute:n,second:n,timeZoneName:s},TIME_WITH_LONG_OFFSET={hour:n,minute:n,second:n,timeZoneName:l},TIME_24_SIMPLE={hour:n,minute:n,hourCycle:"h23"},TIME_24_WITH_SECONDS={hour:n,minute:n,second:n,hourCycle:"h23"},TIME_24_WITH_SHORT_OFFSET={hour:n,minute:n,second:n,hourCycle:"h23",timeZoneName:s},TIME_24_WITH_LONG_OFFSET={hour:n,minute:n,second:n,hourCycle:"h23",timeZoneName:l},DATETIME_SHORT={year:n,month:n,day:n,hour:n,minute:n},DATETIME_SHORT_WITH_SECONDS={year:n,month:n,day:n,hour:n,minute:n,second:n},DATETIME_MED={year:n,month:s,day:n,hour:n,minute:n},DATETIME_MED_WITH_SECONDS={year:n,month:s,day:n,hour:n,minute:n,second:n},DATETIME_MED_WITH_WEEKDAY={year:n,month:s,day:n,weekday:s,hour:n,minute:n},DATETIME_FULL={year:n,month:l,day:n,hour:n,minute:n,timeZoneName:s},DATETIME_FULL_WITH_SECONDS={year:n,month:l,day:n,hour:n,minute:n,second:n,timeZoneName:s},DATETIME_HUGE={year:n,month:l,day:n,weekday:l,hour:n,minute:n,timeZoneName:l},DATETIME_HUGE_WITH_SECONDS={year:n,month:l,day:n,weekday:l,hour:n,minute:n,second:n,timeZoneName:l},Zone=class{get type(){throw new ZoneIsAbstractError}get name(){throw new ZoneIsAbstractError}get ianaName(){return this.name}get isUniversal(){throw new ZoneIsAbstractError}offsetName(ts,opts){throw new ZoneIsAbstractError}formatOffset(ts,format){throw new ZoneIsAbstractError}offset(ts){throw new ZoneIsAbstractError}equals(otherZone){throw new ZoneIsAbstractError}get isValid(){throw new ZoneIsAbstractError}},singleton$1=null,SystemZone=class _SystemZone extends Zone{static get instance(){return singleton$1===null&&(singleton$1=new _SystemZone),singleton$1}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(ts,{format,locale}){return parseZoneInfo(ts,format,locale)}formatOffset(ts,format){return formatOffset(this.offset(ts),format)}offset(ts){return-new Date(ts).getTimezoneOffset()}equals(otherZone){return otherZone.type==="system"}get isValid(){return!0}},dtfCache=new Map;function makeDTF(zoneName){let dtf=dtfCache.get(zoneName);return dtf===void 0&&(dtf=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:zoneName,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),dtfCache.set(zoneName,dtf)),dtf}var typeToPos={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function hackyOffset(dtf,date){let formatted=dtf.format(date).replace(/\u200E/g,""),parsed=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(formatted),[,fMonth,fDay,fYear,fadOrBc,fHour,fMinute,fSecond]=parsed;return[fYear,fMonth,fDay,fadOrBc,fHour,fMinute,fSecond]}function partsOffset(dtf,date){let formatted=dtf.formatToParts(date),filled=[];for(let i=0;i<formatted.length;i++){let{type,value}=formatted[i],pos=typeToPos[type];type==="era"?filled[pos]=value:isUndefined(pos)||(filled[pos]=parseInt(value,10))}return filled}var ianaZoneCache=new Map,IANAZone=class _IANAZone extends Zone{static create(name){let zone=ianaZoneCache.get(name);return zone===void 0&&ianaZoneCache.set(name,zone=new _IANAZone(name)),zone}static resetCache(){ianaZoneCache.clear(),dtfCache.clear()}static isValidSpecifier(s2){return this.isValidZone(s2)}static isValidZone(zone){if(!zone)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:zone}).format(),!0}catch{return!1}}constructor(name){super(),this.zoneName=name,this.valid=_IANAZone.isValidZone(name)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(ts,{format,locale}){return parseZoneInfo(ts,format,locale,this.name)}formatOffset(ts,format){return formatOffset(this.offset(ts),format)}offset(ts){if(!this.valid)return NaN;let date=new Date(ts);if(isNaN(date))return NaN;let dtf=makeDTF(this.name),[year,month,day,adOrBc,hour,minute,second]=dtf.formatToParts?partsOffset(dtf,date):hackyOffset(dtf,date);adOrBc==="BC"&&(year=-Math.abs(year)+1);let asUTC=objToLocalTS({year,month,day,hour:hour===24?0:hour,minute,second,millisecond:0}),asTS=+date,over=asTS%1e3;return asTS-=over>=0?over:1e3+over,(asUTC-asTS)/(60*1e3)}equals(otherZone){return otherZone.type==="iana"&&otherZone.name===this.name}get isValid(){return this.valid}},intlLFCache={};function getCachedLF(locString,opts={}){let key=JSON.stringify([locString,opts]),dtf=intlLFCache[key];return dtf||(dtf=new Intl.ListFormat(locString,opts),intlLFCache[key]=dtf),dtf}var intlDTCache=new Map;function getCachedDTF(locString,opts={}){let key=JSON.stringify([locString,opts]),dtf=intlDTCache.get(key);return dtf===void 0&&(dtf=new Intl.DateTimeFormat(locString,opts),intlDTCache.set(key,dtf)),dtf}var intlNumCache=new Map;function getCachedINF(locString,opts={}){let key=JSON.stringify([locString,opts]),inf=intlNumCache.get(key);return inf===void 0&&(inf=new Intl.NumberFormat(locString,opts),intlNumCache.set(key,inf)),inf}var intlRelCache=new Map;function getCachedRTF(locString,opts={}){let{base,...cacheKeyOpts}=opts,key=JSON.stringify([locString,cacheKeyOpts]),inf=intlRelCache.get(key);return inf===void 0&&(inf=new Intl.RelativeTimeFormat(locString,opts),intlRelCache.set(key,inf)),inf}var sysLocaleCache=null;function systemLocale(){return sysLocaleCache||(sysLocaleCache=new Intl.DateTimeFormat().resolvedOptions().locale,sysLocaleCache)}var intlResolvedOptionsCache=new Map;function getCachedIntResolvedOptions(locString){let opts=intlResolvedOptionsCache.get(locString);return opts===void 0&&(opts=new Intl.DateTimeFormat(locString).resolvedOptions(),intlResolvedOptionsCache.set(locString,opts)),opts}var weekInfoCache=new Map;function getCachedWeekInfo(locString){let data=weekInfoCache.get(locString);if(!data){let locale=new Intl.Locale(locString);data="getWeekInfo"in locale?locale.getWeekInfo():locale.weekInfo,"minimalDays"in data||(data={...fallbackWeekSettings,...data}),weekInfoCache.set(locString,data)}return data}function parseLocaleString(localeStr){let xIndex=localeStr.indexOf("-x-");xIndex!==-1&&(localeStr=localeStr.substring(0,xIndex));let uIndex=localeStr.indexOf("-u-");if(uIndex===-1)return[localeStr];{let options,selectedStr;try{options=getCachedDTF(localeStr).resolvedOptions(),selectedStr=localeStr}catch{let smaller=localeStr.substring(0,uIndex);options=getCachedDTF(smaller).resolvedOptions(),selectedStr=smaller}let{numberingSystem,calendar}=options;return[selectedStr,numberingSystem,calendar]}}function intlConfigString(localeStr,numberingSystem,outputCalendar){return(outputCalendar||numberingSystem)&&(localeStr.includes("-u-")||(localeStr+="-u"),outputCalendar&&(localeStr+=`-ca-${outputCalendar}`),numberingSystem&&(localeStr+=`-nu-${numberingSystem}`)),localeStr}function mapMonths(f){let ms2=[];for(let i=1;i<=12;i++){let dt=DateTime.utc(2009,i,1);ms2.push(f(dt))}return ms2}function mapWeekdays(f){let ms2=[];for(let i=1;i<=7;i++){let dt=DateTime.utc(2016,11,13+i);ms2.push(f(dt))}return ms2}function listStuff(loc,length,englishFn,intlFn){let mode=loc.listingMode();return mode==="error"?null:mode==="en"?englishFn(length):intlFn(length)}function supportsFastNumbers(loc){return loc.numberingSystem&&loc.numberingSystem!=="latn"?!1:loc.numberingSystem==="latn"||!loc.locale||loc.locale.startsWith("en")||getCachedIntResolvedOptions(loc.locale).numberingSystem==="latn"}var PolyNumberFormatter=class{constructor(intl,forceSimple,opts){this.padTo=opts.padTo||0,this.floor=opts.floor||!1;let{padTo,floor,...otherOpts}=opts;if(!forceSimple||Object.keys(otherOpts).length>0){let intlOpts={useGrouping:!1,...opts};opts.padTo>0&&(intlOpts.minimumIntegerDigits=opts.padTo),this.inf=getCachedINF(intl,intlOpts)}}format(i){if(this.inf){let fixed=this.floor?Math.floor(i):i;return this.inf.format(fixed)}else{let fixed=this.floor?Math.floor(i):roundTo(i,3);return padStart(fixed,this.padTo)}}},PolyDateFormatter=class{constructor(dt,intl,opts){this.opts=opts,this.originalZone=void 0;let z;if(this.opts.timeZone)this.dt=dt;else if(dt.zone.type==="fixed"){let gmtOffset=-1*(dt.offset/60),offsetZ=gmtOffset>=0?`Etc/GMT+${gmtOffset}`:`Etc/GMT${gmtOffset}`;dt.offset!==0&&IANAZone.create(offsetZ).valid?(z=offsetZ,this.dt=dt):(z="UTC",this.dt=dt.offset===0?dt:dt.setZone("UTC").plus({minutes:dt.offset}),this.originalZone=dt.zone)}else dt.zone.type==="system"?this.dt=dt:dt.zone.type==="iana"?(this.dt=dt,z=dt.zone.name):(z="UTC",this.dt=dt.setZone("UTC").plus({minutes:dt.offset}),this.originalZone=dt.zone);let intlOpts={...this.opts};intlOpts.timeZone=intlOpts.timeZone||z,this.dtf=getCachedDTF(intl,intlOpts)}format(){return this.originalZone?this.formatToParts().map(({value})=>value).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let parts=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?parts.map(part=>{if(part.type==="timeZoneName"){let offsetName=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...part,value:offsetName}}else return part}):parts}resolvedOptions(){return this.dtf.resolvedOptions()}},PolyRelFormatter=class{constructor(intl,isEnglish,opts){this.opts={style:"long",...opts},!isEnglish&&hasRelative()&&(this.rtf=getCachedRTF(intl,opts))}format(count,unit){return this.rtf?this.rtf.format(count,unit):formatRelativeTime(unit,count,this.opts.numeric,this.opts.style!=="long")}formatToParts(count,unit){return this.rtf?this.rtf.formatToParts(count,unit):[]}},fallbackWeekSettings={firstDay:1,minimalDays:4,weekend:[6,7]},Locale=class _Locale{static fromOpts(opts){return _Locale.create(opts.locale,opts.numberingSystem,opts.outputCalendar,opts.weekSettings,opts.defaultToEN)}static create(locale,numberingSystem,outputCalendar,weekSettings,defaultToEN=!1){let specifiedLocale=locale||Settings.defaultLocale,localeR=specifiedLocale||(defaultToEN?"en-US":systemLocale()),numberingSystemR=numberingSystem||Settings.defaultNumberingSystem,outputCalendarR=outputCalendar||Settings.defaultOutputCalendar,weekSettingsR=validateWeekSettings(weekSettings)||Settings.defaultWeekSettings;return new _Locale(localeR,numberingSystemR,outputCalendarR,weekSettingsR,specifiedLocale)}static resetCache(){sysLocaleCache=null,intlDTCache.clear(),intlNumCache.clear(),intlRelCache.clear(),intlResolvedOptionsCache.clear(),weekInfoCache.clear()}static fromObject({locale,numberingSystem,outputCalendar,weekSettings}={}){return _Locale.create(locale,numberingSystem,outputCalendar,weekSettings)}constructor(locale,numbering,outputCalendar,weekSettings,specifiedLocale){let[parsedLocale,parsedNumberingSystem,parsedOutputCalendar]=parseLocaleString(locale);this.locale=parsedLocale,this.numberingSystem=numbering||parsedNumberingSystem||null,this.outputCalendar=outputCalendar||parsedOutputCalendar||null,this.weekSettings=weekSettings,this.intl=intlConfigString(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=specifiedLocale,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=supportsFastNumbers(this)),this.fastNumbersCached}listingMode(){let isActuallyEn=this.isEnglish(),hasNoWeirdness=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return isActuallyEn&&hasNoWeirdness?"en":"intl"}clone(alts){return!alts||Object.getOwnPropertyNames(alts).length===0?this:_Locale.create(alts.locale||this.specifiedLocale,alts.numberingSystem||this.numberingSystem,alts.outputCalendar||this.outputCalendar,validateWeekSettings(alts.weekSettings)||this.weekSettings,alts.defaultToEN||!1)}redefaultToEN(alts={}){return this.clone({...alts,defaultToEN:!0})}redefaultToSystem(alts={}){return this.clone({...alts,defaultToEN:!1})}months(length,format=!1){return listStuff(this,length,months,()=>{let monthSpecialCase=this.intl==="ja"||this.intl.startsWith("ja-");format&=!monthSpecialCase;let intl=format?{month:length,day:"numeric"}:{month:length},formatStr=format?"format":"standalone";if(!this.monthsCache[formatStr][length]){let mapper=monthSpecialCase?dt=>this.dtFormatter(dt,intl).format():dt=>this.extract(dt,intl,"month");this.monthsCache[formatStr][length]=mapMonths(mapper)}return this.monthsCache[formatStr][length]})}weekdays(length,format=!1){return listStuff(this,length,weekdays,()=>{let intl=format?{weekday:length,year:"numeric",month:"long",day:"numeric"}:{weekday:length},formatStr=format?"format":"standalone";return this.weekdaysCache[formatStr][length]||(this.weekdaysCache[formatStr][length]=mapWeekdays(dt=>this.extract(dt,intl,"weekday"))),this.weekdaysCache[formatStr][length]})}meridiems(){return listStuff(this,void 0,()=>meridiems,()=>{if(!this.meridiemCache){let intl={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[DateTime.utc(2016,11,13,9),DateTime.utc(2016,11,13,19)].map(dt=>this.extract(dt,intl,"dayperiod"))}return this.meridiemCache})}eras(length){return listStuff(this,length,eras,()=>{let intl={era:length};return this.eraCache[length]||(this.eraCache[length]=[DateTime.utc(-40,1,1),DateTime.utc(2017,1,1)].map(dt=>this.extract(dt,intl,"era"))),this.eraCache[length]})}extract(dt,intlOpts,field){let df=this.dtFormatter(dt,intlOpts),results=df.formatToParts(),matching=results.find(m=>m.type.toLowerCase()===field);return matching?matching.value:null}numberFormatter(opts={}){return new PolyNumberFormatter(this.intl,opts.forceSimple||this.fastNumbers,opts)}dtFormatter(dt,intlOpts={}){return new PolyDateFormatter(dt,this.intl,intlOpts)}relFormatter(opts={}){return new PolyRelFormatter(this.intl,this.isEnglish(),opts)}listFormatter(opts={}){return getCachedLF(this.intl,opts)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||getCachedIntResolvedOptions(this.intl).locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:hasLocaleWeekInfo()?getCachedWeekInfo(this.locale):fallbackWeekSettings}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(other){return this.locale===other.locale&&this.numberingSystem===other.numberingSystem&&this.outputCalendar===other.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}},singleton=null,FixedOffsetZone=class _FixedOffsetZone extends Zone{static get utcInstance(){return singleton===null&&(singleton=new _FixedOffsetZone(0)),singleton}static instance(offset2){return offset2===0?_FixedOffsetZone.utcInstance:new _FixedOffsetZone(offset2)}static parseSpecifier(s2){if(s2){let r=s2.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(r)return new _FixedOffsetZone(signedOffset(r[1],r[2]))}return null}constructor(offset2){super(),this.fixed=offset2}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${formatOffset(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${formatOffset(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(ts,format){return formatOffset(this.fixed,format)}get isUniversal(){return!0}offset(){return this.fixed}equals(otherZone){return otherZone.type==="fixed"&&otherZone.fixed===this.fixed}get isValid(){return!0}},InvalidZone=class extends Zone{constructor(zoneName){super(),this.zoneName=zoneName}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function normalizeZone(input,defaultZone2){if(isUndefined(input)||input===null)return defaultZone2;if(input instanceof Zone)return input;if(isString(input)){let lowered=input.toLowerCase();return lowered==="default"?defaultZone2:lowered==="local"||lowered==="system"?SystemZone.instance:lowered==="utc"||lowered==="gmt"?FixedOffsetZone.utcInstance:FixedOffsetZone.parseSpecifier(lowered)||IANAZone.create(input)}else return isNumber(input)?FixedOffsetZone.instance(input):typeof input=="object"&&"offset"in input&&typeof input.offset=="function"?input:new InvalidZone(input)}var numberingSystems={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},numberingSystemsUTF16={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},hanidecChars=numberingSystems.hanidec.replace(/[\[|\]]/g,"").split("");function parseDigits(str){let value=parseInt(str,10);if(isNaN(value)){value="";for(let i=0;i<str.length;i++){let code=str.charCodeAt(i);if(str[i].search(numberingSystems.hanidec)!==-1)value+=hanidecChars.indexOf(str[i]);else for(let key in numberingSystemsUTF16){let[min,max]=numberingSystemsUTF16[key];code>=min&&code<=max&&(value+=code-min)}}return parseInt(value,10)}else return value}var digitRegexCache=new Map;function resetDigitRegexCache(){digitRegexCache.clear()}function digitRegex({numberingSystem},append=""){let ns=numberingSystem||"latn",appendCache=digitRegexCache.get(ns);appendCache===void 0&&(appendCache=new Map,digitRegexCache.set(ns,appendCache));let regex=appendCache.get(append);return regex===void 0&&(regex=new RegExp(`${numberingSystems[ns]}${append}`),appendCache.set(append,regex)),regex}var now=()=>Date.now(),defaultZone="system",defaultLocale=null,defaultNumberingSystem=null,defaultOutputCalendar=null,twoDigitCutoffYear=60,throwOnInvalid,defaultWeekSettings=null,Settings=class{static get now(){return now}static set now(n2){now=n2}static set defaultZone(zone){defaultZone=zone}static get defaultZone(){return normalizeZone(defaultZone,SystemZone.instance)}static get defaultLocale(){return defaultLocale}static set defaultLocale(locale){defaultLocale=locale}static get defaultNumberingSystem(){return defaultNumberingSystem}static set defaultNumberingSystem(numberingSystem){defaultNumberingSystem=numberingSystem}static get defaultOutputCalendar(){return defaultOutputCalendar}static set defaultOutputCalendar(outputCalendar){defaultOutputCalendar=outputCalendar}static get defaultWeekSettings(){return defaultWeekSettings}static set defaultWeekSettings(weekSettings){defaultWeekSettings=validateWeekSettings(weekSettings)}static get twoDigitCutoffYear(){return twoDigitCutoffYear}static set twoDigitCutoffYear(cutoffYear){twoDigitCutoffYear=cutoffYear%100}static get throwOnInvalid(){return throwOnInvalid}static set throwOnInvalid(t){throwOnInvalid=t}static resetCaches(){Locale.resetCache(),IANAZone.resetCache(),DateTime.resetCache(),resetDigitRegexCache()}},Invalid=class{constructor(reason,explanation){this.reason=reason,this.explanation=explanation}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}},nonLeapLadder=[0,31,59,90,120,151,181,212,243,273,304,334],leapLadder=[0,31,60,91,121,152,182,213,244,274,305,335];function unitOutOfRange(unit,value){return new Invalid("unit out of range",`you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`)}function dayOfWeek(year,month,day){let d=new Date(Date.UTC(year,month-1,day));year<100&&year>=0&&d.setUTCFullYear(d.getUTCFullYear()-1900);let js=d.getUTCDay();return js===0?7:js}function computeOrdinal(year,month,day){return day+(isLeapYear(year)?leapLadder:nonLeapLadder)[month-1]}function uncomputeOrdinal(year,ordinal){let table2=isLeapYear(year)?leapLadder:nonLeapLadder,month0=table2.findIndex(i=>i<ordinal),day=ordinal-table2[month0];return{month:month0+1,day}}function isoWeekdayToLocal(isoWeekday,startOfWeek){return(isoWeekday-startOfWeek+7)%7+1}function gregorianToWeek(gregObj,minDaysInFirstWeek=4,startOfWeek=1){let{year,month,day}=gregObj,ordinal=computeOrdinal(year,month,day),weekday=isoWeekdayToLocal(dayOfWeek(year,month,day),startOfWeek),weekNumber=Math.floor((ordinal-weekday+14-minDaysInFirstWeek)/7),weekYear;return weekNumber<1?(weekYear=year-1,weekNumber=weeksInWeekYear(weekYear,minDaysInFirstWeek,startOfWeek)):weekNumber>weeksInWeekYear(year,minDaysInFirstWeek,startOfWeek)?(weekYear=year+1,weekNumber=1):weekYear=year,{weekYear,weekNumber,weekday,...timeObject(gregObj)}}function weekToGregorian(weekData,minDaysInFirstWeek=4,startOfWeek=1){let{weekYear,weekNumber,weekday}=weekData,weekdayOfJan4=isoWeekdayToLocal(dayOfWeek(weekYear,1,minDaysInFirstWeek),startOfWeek),yearInDays=daysInYear(weekYear),ordinal=weekNumber*7+weekday-weekdayOfJan4-7+minDaysInFirstWeek,year;ordinal<1?(year=weekYear-1,ordinal+=daysInYear(year)):ordinal>yearInDays?(year=weekYear+1,ordinal-=daysInYear(weekYear)):year=weekYear;let{month,day}=uncomputeOrdinal(year,ordinal);return{year,month,day,...timeObject(weekData)}}function gregorianToOrdinal(gregData){let{year,month,day}=gregData,ordinal=computeOrdinal(year,month,day);return{year,ordinal,...timeObject(gregData)}}function ordinalToGregorian(ordinalData){let{year,ordinal}=ordinalData,{month,day}=uncomputeOrdinal(year,ordinal);return{year,month,day,...timeObject(ordinalData)}}function usesLocalWeekValues(obj,loc){if(!isUndefined(obj.localWeekday)||!isUndefined(obj.localWeekNumber)||!isUndefined(obj.localWeekYear)){if(!isUndefined(obj.weekday)||!isUndefined(obj.weekNumber)||!isUndefined(obj.weekYear))throw new ConflictingSpecificationError("Cannot mix locale-based week fields with ISO-based week fields");return isUndefined(obj.localWeekday)||(obj.weekday=obj.localWeekday),isUndefined(obj.localWeekNumber)||(obj.weekNumber=obj.localWeekNumber),isUndefined(obj.localWeekYear)||(obj.weekYear=obj.localWeekYear),delete obj.localWeekday,delete obj.localWeekNumber,delete obj.localWeekYear,{minDaysInFirstWeek:loc.getMinDaysInFirstWeek(),startOfWeek:loc.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function hasInvalidWeekData(obj,minDaysInFirstWeek=4,startOfWeek=1){let validYear=isInteger(obj.weekYear),validWeek=integerBetween(obj.weekNumber,1,weeksInWeekYear(obj.weekYear,minDaysInFirstWeek,startOfWeek)),validWeekday=integerBetween(obj.weekday,1,7);return validYear?validWeek?validWeekday?!1:unitOutOfRange("weekday",obj.weekday):unitOutOfRange("week",obj.weekNumber):unitOutOfRange("weekYear",obj.weekYear)}function hasInvalidOrdinalData(obj){let validYear=isInteger(obj.year),validOrdinal=integerBetween(obj.ordinal,1,daysInYear(obj.year));return validYear?validOrdinal?!1:unitOutOfRange("ordinal",obj.ordinal):unitOutOfRange("year",obj.year)}function hasInvalidGregorianData(obj){let validYear=isInteger(obj.year),validMonth=integerBetween(obj.month,1,12),validDay=integerBetween(obj.day,1,daysInMonth(obj.year,obj.month));return validYear?validMonth?validDay?!1:unitOutOfRange("day",obj.day):unitOutOfRange("month",obj.month):unitOutOfRange("year",obj.year)}function hasInvalidTimeData(obj){let{hour,minute,second,millisecond}=obj,validHour=integerBetween(hour,0,23)||hour===24&&minute===0&&second===0&&millisecond===0,validMinute=integerBetween(minute,0,59),validSecond=integerBetween(second,0,59),validMillisecond=integerBetween(millisecond,0,999);return validHour?validMinute?validSecond?validMillisecond?!1:unitOutOfRange("millisecond",millisecond):unitOutOfRange("second",second):unitOutOfRange("minute",minute):unitOutOfRange("hour",hour)}function isUndefined(o){return typeof o>"u"}function isNumber(o){return typeof o=="number"}function isInteger(o){return typeof o=="number"&&o%1===0}function isString(o){return typeof o=="string"}function isDate(o){return Object.prototype.toString.call(o)==="[object Date]"}function hasRelative(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function hasLocaleWeekInfo(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}function maybeArray(thing){return Array.isArray(thing)?thing:[thing]}function bestBy(arr,by,compare){if(arr.length!==0)return arr.reduce((best,next)=>{let pair=[by(next),next];return best&&compare(best[0],pair[0])===best[0]?best:pair},null)[1]}function pick(obj,keys){return keys.reduce((a,k)=>(a[k]=obj[k],a),{})}function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}function validateWeekSettings(settings){if(settings==null)return null;if(typeof settings!="object")throw new InvalidArgumentError("Week settings must be an object");if(!integerBetween(settings.firstDay,1,7)||!integerBetween(settings.minimalDays,1,7)||!Array.isArray(settings.weekend)||settings.weekend.some(v=>!integerBetween(v,1,7)))throw new InvalidArgumentError("Invalid week settings");return{firstDay:settings.firstDay,minimalDays:settings.minimalDays,weekend:Array.from(settings.weekend)}}function integerBetween(thing,bottom,top){return isInteger(thing)&&thing>=bottom&&thing<=top}function floorMod(x,n2){return x-n2*Math.floor(x/n2)}function padStart(input,n2=2){let isNeg=input<0,padded;return isNeg?padded="-"+(""+-input).padStart(n2,"0"):padded=(""+input).padStart(n2,"0"),padded}function parseInteger(string){if(!(isUndefined(string)||string===null||string===""))return parseInt(string,10)}function parseFloating(string){if(!(isUndefined(string)||string===null||string===""))return parseFloat(string)}function parseMillis(fraction){if(!(isUndefined(fraction)||fraction===null||fraction==="")){let f=parseFloat("0."+fraction)*1e3;return Math.floor(f)}}function roundTo(number,digits,rounding="round"){let factor=10**digits;switch(rounding){case"expand":return number>0?Math.ceil(number*factor)/factor:Math.floor(number*factor)/factor;case"trunc":return Math.trunc(number*factor)/factor;case"round":return Math.round(number*factor)/factor;case"floor":return Math.floor(number*factor)/factor;case"ceil":return Math.ceil(number*factor)/factor;default:throw new RangeError(`Value rounding ${rounding} is out of range`)}}function isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function daysInYear(year){return isLeapYear(year)?366:365}function daysInMonth(year,month){let modMonth=floorMod(month-1,12)+1,modYear=year+(month-modMonth)/12;return modMonth===2?isLeapYear(modYear)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][modMonth-1]}function objToLocalTS(obj){let d=Date.UTC(obj.year,obj.month-1,obj.day,obj.hour,obj.minute,obj.second,obj.millisecond);return obj.year<100&&obj.year>=0&&(d=new Date(d),d.setUTCFullYear(obj.year,obj.month-1,obj.day)),+d}function firstWeekOffset(year,minDaysInFirstWeek,startOfWeek){return-isoWeekdayToLocal(dayOfWeek(year,1,minDaysInFirstWeek),startOfWeek)+minDaysInFirstWeek-1}function weeksInWeekYear(weekYear,minDaysInFirstWeek=4,startOfWeek=1){let weekOffset=firstWeekOffset(weekYear,minDaysInFirstWeek,startOfWeek),weekOffsetNext=firstWeekOffset(weekYear+1,minDaysInFirstWeek,startOfWeek);return(daysInYear(weekYear)-weekOffset+weekOffsetNext)/7}function untruncateYear(year){return year>99?year:year>Settings.twoDigitCutoffYear?1900+year:2e3+year}function parseZoneInfo(ts,offsetFormat,locale,timeZone=null){let date=new Date(ts),intlOpts={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};timeZone&&(intlOpts.timeZone=timeZone);let modified={timeZoneName:offsetFormat,...intlOpts},parsed=new Intl.DateTimeFormat(locale,modified).formatToParts(date).find(m=>m.type.toLowerCase()==="timezonename");return parsed?parsed.value:null}function signedOffset(offHourStr,offMinuteStr){let offHour=parseInt(offHourStr,10);Number.isNaN(offHour)&&(offHour=0);let offMin=parseInt(offMinuteStr,10)||0,offMinSigned=offHour<0||Object.is(offHour,-0)?-offMin:offMin;return offHour*60+offMinSigned}function asNumber(value){let numericValue=Number(value);if(typeof value=="boolean"||value===""||!Number.isFinite(numericValue))throw new InvalidArgumentError(`Invalid unit value ${value}`);return numericValue}function normalizeObject(obj,normalizer){let normalized={};for(let u in obj)if(hasOwnProperty(obj,u)){let v=obj[u];if(v==null)continue;normalized[normalizer(u)]=asNumber(v)}return normalized}function formatOffset(offset2,format){let hours=Math.trunc(Math.abs(offset2/60)),minutes=Math.trunc(Math.abs(offset2%60)),sign=offset2>=0?"+":"-";switch(format){case"short":return`${sign}${padStart(hours,2)}:${padStart(minutes,2)}`;case"narrow":return`${sign}${hours}${minutes>0?`:${minutes}`:""}`;case"techie":return`${sign}${padStart(hours,2)}${padStart(minutes,2)}`;default:throw new RangeError(`Value format ${format} is out of range for property format`)}}function timeObject(obj){return pick(obj,["hour","minute","second","millisecond"])}var monthsLong=["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],monthsNarrow=["J","F","M","A","M","J","J","A","S","O","N","D"];function months(length){switch(length){case"narrow":return[...monthsNarrow];case"short":return[...monthsShort];case"long":return[...monthsLong];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var weekdaysLong=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],weekdaysShort=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],weekdaysNarrow=["M","T","W","T","F","S","S"];function weekdays(length){switch(length){case"narrow":return[...weekdaysNarrow];case"short":return[...weekdaysShort];case"long":return[...weekdaysLong];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var meridiems=["AM","PM"],erasLong=["Before Christ","Anno Domini"],erasShort=["BC","AD"],erasNarrow=["B","A"];function eras(length){switch(length){case"narrow":return[...erasNarrow];case"short":return[...erasShort];case"long":return[...erasLong];default:return null}}function meridiemForDateTime(dt){return meridiems[dt.hour<12?0:1]}function weekdayForDateTime(dt,length){return weekdays(length)[dt.weekday-1]}function monthForDateTime(dt,length){return months(length)[dt.month-1]}function eraForDateTime(dt,length){return eras(length)[dt.year<0?0:1]}function formatRelativeTime(unit,count,numeric="always",narrow=!1){let units={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},lastable=["hours","minutes","seconds"].indexOf(unit)===-1;if(numeric==="auto"&&lastable){let isDay=unit==="days";switch(count){case 1:return isDay?"tomorrow":`next ${units[unit][0]}`;case-1:return isDay?"yesterday":`last ${units[unit][0]}`;case 0:return isDay?"today":`this ${units[unit][0]}`}}let isInPast=Object.is(count,-0)||count<0,fmtValue=Math.abs(count),singular=fmtValue===1,lilUnits=units[unit],fmtUnit=narrow?singular?lilUnits[1]:lilUnits[2]||lilUnits[1]:singular?units[unit][0]:unit;return isInPast?`${fmtValue} ${fmtUnit} ago`:`in ${fmtValue} ${fmtUnit}`}function stringifyTokens(splits,tokenToString){let s2="";for(let token of splits)token.literal?s2+=token.val:s2+=tokenToString(token.val);return s2}var macroTokenToFormatOpts={D:DATE_SHORT,DD:DATE_MED,DDD:DATE_FULL,DDDD:DATE_HUGE,t:TIME_SIMPLE,tt:TIME_WITH_SECONDS,ttt:TIME_WITH_SHORT_OFFSET,tttt:TIME_WITH_LONG_OFFSET,T:TIME_24_SIMPLE,TT:TIME_24_WITH_SECONDS,TTT:TIME_24_WITH_SHORT_OFFSET,TTTT:TIME_24_WITH_LONG_OFFSET,f:DATETIME_SHORT,ff:DATETIME_MED,fff:DATETIME_FULL,ffff:DATETIME_HUGE,F:DATETIME_SHORT_WITH_SECONDS,FF:DATETIME_MED_WITH_SECONDS,FFF:DATETIME_FULL_WITH_SECONDS,FFFF:DATETIME_HUGE_WITH_SECONDS},Formatter=class _Formatter{static create(locale,opts={}){return new _Formatter(locale,opts)}static parseFormat(fmt){let current=null,currentFull="",bracketed=!1,splits=[];for(let i=0;i<fmt.length;i++){let c=fmt.charAt(i);c==="'"?((currentFull.length>0||bracketed)&&splits.push({literal:bracketed||/^\s+$/.test(currentFull),val:currentFull===""?"'":currentFull}),current=null,currentFull="",bracketed=!bracketed):bracketed||c===current?currentFull+=c:(currentFull.length>0&&splits.push({literal:/^\s+$/.test(currentFull),val:currentFull}),currentFull=c,current=c)}return currentFull.length>0&&splits.push({literal:bracketed||/^\s+$/.test(currentFull),val:currentFull}),splits}static macroTokenToFormatOpts(token){return macroTokenToFormatOpts[token]}constructor(locale,formatOpts){this.opts=formatOpts,this.loc=locale,this.systemLoc=null}formatWithSystemDefault(dt,opts){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(dt,{...this.opts,...opts}).format()}dtFormatter(dt,opts={}){return this.loc.dtFormatter(dt,{...this.opts,...opts})}formatDateTime(dt,opts){return this.dtFormatter(dt,opts).format()}formatDateTimeParts(dt,opts){return this.dtFormatter(dt,opts).formatToParts()}formatInterval(interval,opts){return this.dtFormatter(interval.start,opts).dtf.formatRange(interval.start.toJSDate(),interval.end.toJSDate())}resolvedOptions(dt,opts){return this.dtFormatter(dt,opts).resolvedOptions()}num(n2,p=0,signDisplay=void 0){if(this.opts.forceSimple)return padStart(n2,p);let opts={...this.opts};return p>0&&(opts.padTo=p),signDisplay&&(opts.signDisplay=signDisplay),this.loc.numberFormatter(opts).format(n2)}formatDateTimeFromString(dt,fmt){let knownEnglish=this.loc.listingMode()==="en",useDateTimeFormatter=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",string=(opts,extract)=>this.loc.extract(dt,opts,extract),formatOffset2=opts=>dt.isOffsetFixed&&dt.offset===0&&opts.allowZ?"Z":dt.isValid?dt.zone.formatOffset(dt.ts,opts.format):"",meridiem=()=>knownEnglish?meridiemForDateTime(dt):string({hour:"numeric",hourCycle:"h12"},"dayperiod"),month=(length,standalone)=>knownEnglish?monthForDateTime(dt,length):string(standalone?{month:length}:{month:length,day:"numeric"},"month"),weekday=(length,standalone)=>knownEnglish?weekdayForDateTime(dt,length):string(standalone?{weekday:length}:{weekday:length,month:"long",day:"numeric"},"weekday"),maybeMacro=token=>{let formatOpts=_Formatter.macroTokenToFormatOpts(token);return formatOpts?this.formatWithSystemDefault(dt,formatOpts):token},era=length=>knownEnglish?eraForDateTime(dt,length):string({era:length},"era"),tokenToString=token=>{switch(token){case"S":return this.num(dt.millisecond);case"u":case"SSS":return this.num(dt.millisecond,3);case"s":return this.num(dt.second);case"ss":return this.num(dt.second,2);case"uu":return this.num(Math.floor(dt.millisecond/10),2);case"uuu":return this.num(Math.floor(dt.millisecond/100));case"m":return this.num(dt.minute);case"mm":return this.num(dt.minute,2);case"h":return this.num(dt.hour%12===0?12:dt.hour%12);case"hh":return this.num(dt.hour%12===0?12:dt.hour%12,2);case"H":return this.num(dt.hour);case"HH":return this.num(dt.hour,2);case"Z":return formatOffset2({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return formatOffset2({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return formatOffset2({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return dt.zone.offsetName(dt.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return dt.zone.offsetName(dt.ts,{format:"long",locale:this.loc.locale});case"z":return dt.zoneName;case"a":return meridiem();case"d":return useDateTimeFormatter?string({day:"numeric"},"day"):this.num(dt.day);case"dd":return useDateTimeFormatter?string({day:"2-digit"},"day"):this.num(dt.day,2);case"c":return this.num(dt.weekday);case"ccc":return weekday("short",!0);case"cccc":return weekday("long",!0);case"ccccc":return weekday("narrow",!0);case"E":return this.num(dt.weekday);case"EEE":return weekday("short",!1);case"EEEE":return weekday("long",!1);case"EEEEE":return weekday("narrow",!1);case"L":return useDateTimeFormatter?string({month:"numeric",day:"numeric"},"month"):this.num(dt.month);case"LL":return useDateTimeFormatter?string({month:"2-digit",day:"numeric"},"month"):this.num(dt.month,2);case"LLL":return month("short",!0);case"LLLL":return month("long",!0);case"LLLLL":return month("narrow",!0);case"M":return useDateTimeFormatter?string({month:"numeric"},"month"):this.num(dt.month);case"MM":return useDateTimeFormatter?string({month:"2-digit"},"month"):this.num(dt.month,2);case"MMM":return month("short",!1);case"MMMM":return month("long",!1);case"MMMMM":return month("narrow",!1);case"y":return useDateTimeFormatter?string({year:"numeric"},"year"):this.num(dt.year);case"yy":return useDateTimeFormatter?string({year:"2-digit"},"year"):this.num(dt.year.toString().slice(-2),2);case"yyyy":return useDateTimeFormatter?string({year:"numeric"},"year"):this.num(dt.year,4);case"yyyyyy":return useDateTimeFormatter?string({year:"numeric"},"year"):this.num(dt.year,6);case"G":return era("short");case"GG":return era("long");case"GGGGG":return era("narrow");case"kk":return this.num(dt.weekYear.toString().slice(-2),2);case"kkkk":return this.num(dt.weekYear,4);case"W":return this.num(dt.weekNumber);case"WW":return this.num(dt.weekNumber,2);case"n":return this.num(dt.localWeekNumber);case"nn":return this.num(dt.localWeekNumber,2);case"ii":return this.num(dt.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(dt.localWeekYear,4);case"o":return this.num(dt.ordinal);case"ooo":return this.num(dt.ordinal,3);case"q":return this.num(dt.quarter);case"qq":return this.num(dt.quarter,2);case"X":return this.num(Math.floor(dt.ts/1e3));case"x":return this.num(dt.ts);default:return maybeMacro(token)}};return stringifyTokens(_Formatter.parseFormat(fmt),tokenToString)}formatDurationFromString(dur,fmt){let invertLargest=this.opts.signMode==="negativeLargestOnly"?-1:1,tokenToField=token=>{switch(token[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},tokenToString=(lildur,info)=>token=>{let mapped=tokenToField(token);if(mapped){let inversionFactor=info.isNegativeDuration&&mapped!==info.largestUnit?invertLargest:1,signDisplay;return this.opts.signMode==="negativeLargestOnly"&&mapped!==info.largestUnit?signDisplay="never":this.opts.signMode==="all"?signDisplay="always":signDisplay="auto",this.num(lildur.get(mapped)*inversionFactor,token.length,signDisplay)}else return token},tokens=_Formatter.parseFormat(fmt),realTokens=tokens.reduce((found,{literal,val})=>literal?found:found.concat(val),[]),collapsed=dur.shiftTo(...realTokens.map(tokenToField).filter(t=>t)),durationInfo={isNegativeDuration:collapsed<0,largestUnit:Object.keys(collapsed.values)[0]};return stringifyTokens(tokens,tokenToString(collapsed,durationInfo))}},ianaRegex=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function combineRegexes(...regexes){let full=regexes.reduce((f,r)=>f+r.source,"");return RegExp(`^${full}$`)}function combineExtractors(...extractors){return m=>extractors.reduce(([mergedVals,mergedZone,cursor],ex)=>{let[val,zone,next]=ex(m,cursor);return[{...mergedVals,...val},zone||mergedZone,next]},[{},null,1]).slice(0,2)}function parse(s2,...patterns){if(s2==null)return[null,null];for(let[regex,extractor]of patterns){let m=regex.exec(s2);if(m)return extractor(m)}return[null,null]}function simpleParse(...keys){return(match2,cursor)=>{let ret={},i;for(i=0;i<keys.length;i++)ret[keys[i]]=parseInteger(match2[cursor+i]);return[ret,null,cursor+i]}}var offsetRegex=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,isoExtendedZone=`(?:${offsetRegex.source}?(?:\\[(${ianaRegex.source})\\])?)?`,isoTimeBaseRegex=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,isoTimeRegex=RegExp(`${isoTimeBaseRegex.source}${isoExtendedZone}`),isoTimeExtensionRegex=RegExp(`(?:[Tt]${isoTimeRegex.source})?`),isoYmdRegex=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,isoWeekRegex=/(\d{4})-?W(\d\d)(?:-?(\d))?/,isoOrdinalRegex=/(\d{4})-?(\d{3})/,extractISOWeekData=simpleParse("weekYear","weekNumber","weekDay"),extractISOOrdinalData=simpleParse("year","ordinal"),sqlYmdRegex=/(\d{4})-(\d\d)-(\d\d)/,sqlTimeRegex=RegExp(`${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`),sqlTimeExtensionRegex=RegExp(`(?: ${sqlTimeRegex.source})?`);function int(match2,pos,fallback){let m=match2[pos];return isUndefined(m)?fallback:parseInteger(m)}function extractISOYmd(match2,cursor){return[{year:int(match2,cursor),month:int(match2,cursor+1,1),day:int(match2,cursor+2,1)},null,cursor+3]}function extractISOTime(match2,cursor){return[{hours:int(match2,cursor,0),minutes:int(match2,cursor+1,0),seconds:int(match2,cursor+2,0),milliseconds:parseMillis(match2[cursor+3])},null,cursor+4]}function extractISOOffset(match2,cursor){let local=!match2[cursor]&&!match2[cursor+1],fullOffset=signedOffset(match2[cursor+1],match2[cursor+2]),zone=local?null:FixedOffsetZone.instance(fullOffset);return[{},zone,cursor+3]}function extractIANAZone(match2,cursor){let zone=match2[cursor]?IANAZone.create(match2[cursor]):null;return[{},zone,cursor+1]}var isoTimeOnly=RegExp(`^T?${isoTimeBaseRegex.source}$`),isoDuration=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function extractISODuration(match2){let[s2,yearStr,monthStr,weekStr,dayStr,hourStr,minuteStr,secondStr,millisecondsStr]=match2,hasNegativePrefix=s2[0]==="-",negativeSeconds=secondStr&&secondStr[0]==="-",maybeNegate=(num,force=!1)=>num!==void 0&&(force||num&&hasNegativePrefix)?-num:num;return[{years:maybeNegate(parseFloating(yearStr)),months:maybeNegate(parseFloating(monthStr)),weeks:maybeNegate(parseFloating(weekStr)),days:maybeNegate(parseFloating(dayStr)),hours:maybeNegate(parseFloating(hourStr)),minutes:maybeNegate(parseFloating(minuteStr)),seconds:maybeNegate(parseFloating(secondStr),secondStr==="-0"),milliseconds:maybeNegate(parseMillis(millisecondsStr),negativeSeconds)}]}var obsOffsets={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr){let result={year:yearStr.length===2?untruncateYear(parseInteger(yearStr)):parseInteger(yearStr),month:monthsShort.indexOf(monthStr)+1,day:parseInteger(dayStr),hour:parseInteger(hourStr),minute:parseInteger(minuteStr)};return secondStr&&(result.second=parseInteger(secondStr)),weekdayStr&&(result.weekday=weekdayStr.length>3?weekdaysLong.indexOf(weekdayStr)+1:weekdaysShort.indexOf(weekdayStr)+1),result}var rfc2822=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function extractRFC2822(match2){let[,weekdayStr,dayStr,monthStr,yearStr,hourStr,minuteStr,secondStr,obsOffset,milOffset,offHourStr,offMinuteStr]=match2,result=fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr),offset2;return obsOffset?offset2=obsOffsets[obsOffset]:milOffset?offset2=0:offset2=signedOffset(offHourStr,offMinuteStr),[result,new FixedOffsetZone(offset2)]}function preprocessRFC2822(s2){return s2.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}var rfc1123=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,rfc850=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,ascii=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function extractRFC1123Or850(match2){let[,weekdayStr,dayStr,monthStr,yearStr,hourStr,minuteStr,secondStr]=match2;return[fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr),FixedOffsetZone.utcInstance]}function extractASCII(match2){let[,weekdayStr,monthStr,dayStr,hourStr,minuteStr,secondStr,yearStr]=match2;return[fromStrings(weekdayStr,yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr),FixedOffsetZone.utcInstance]}var isoYmdWithTimeExtensionRegex=combineRegexes(isoYmdRegex,isoTimeExtensionRegex),isoWeekWithTimeExtensionRegex=combineRegexes(isoWeekRegex,isoTimeExtensionRegex),isoOrdinalWithTimeExtensionRegex=combineRegexes(isoOrdinalRegex,isoTimeExtensionRegex),isoTimeCombinedRegex=combineRegexes(isoTimeRegex),extractISOYmdTimeAndOffset=combineExtractors(extractISOYmd,extractISOTime,extractISOOffset,extractIANAZone),extractISOWeekTimeAndOffset=combineExtractors(extractISOWeekData,extractISOTime,extractISOOffset,extractIANAZone),extractISOOrdinalDateAndTime=combineExtractors(extractISOOrdinalData,extractISOTime,extractISOOffset,extractIANAZone),extractISOTimeAndOffset=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);function parseISODate(s2){return parse(s2,[isoYmdWithTimeExtensionRegex,extractISOYmdTimeAndOffset],[isoWeekWithTimeExtensionRegex,extractISOWeekTimeAndOffset],[isoOrdinalWithTimeExtensionRegex,extractISOOrdinalDateAndTime],[isoTimeCombinedRegex,extractISOTimeAndOffset])}function parseRFC2822Date(s2){return parse(preprocessRFC2822(s2),[rfc2822,extractRFC2822])}function parseHTTPDate(s2){return parse(s2,[rfc1123,extractRFC1123Or850],[rfc850,extractRFC1123Or850],[ascii,extractASCII])}function parseISODuration(s2){return parse(s2,[isoDuration,extractISODuration])}var extractISOTimeOnly=combineExtractors(extractISOTime);function parseISOTimeOnly(s2){return parse(s2,[isoTimeOnly,extractISOTimeOnly])}var sqlYmdWithTimeExtensionRegex=combineRegexes(sqlYmdRegex,sqlTimeExtensionRegex),sqlTimeCombinedRegex=combineRegexes(sqlTimeRegex),extractISOTimeOffsetAndIANAZone=combineExtractors(extractISOTime,extractISOOffset,extractIANAZone);function parseSQL(s2){return parse(s2,[sqlYmdWithTimeExtensionRegex,extractISOYmdTimeAndOffset],[sqlTimeCombinedRegex,extractISOTimeOffsetAndIANAZone])}var INVALID$2="Invalid Duration",lowOrderMatrix={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},casualMatrix={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...lowOrderMatrix},daysInYearAccurate=146097/400,daysInMonthAccurate=146097/4800,accurateMatrix={years:{quarters:4,months:12,weeks:daysInYearAccurate/7,days:daysInYearAccurate,hours:daysInYearAccurate*24,minutes:daysInYearAccurate*24*60,seconds:daysInYearAccurate*24*60*60,milliseconds:daysInYearAccurate*24*60*60*1e3},quarters:{months:3,weeks:daysInYearAccurate/28,days:daysInYearAccurate/4,hours:daysInYearAccurate*24/4,minutes:daysInYearAccurate*24*60/4,seconds:daysInYearAccurate*24*60*60/4,milliseconds:daysInYearAccurate*24*60*60*1e3/4},months:{weeks:daysInMonthAccurate/7,days:daysInMonthAccurate,hours:daysInMonthAccurate*24,minutes:daysInMonthAccurate*24*60,seconds:daysInMonthAccurate*24*60*60,milliseconds:daysInMonthAccurate*24*60*60*1e3},...lowOrderMatrix},orderedUnits$1=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],reverseUnits=orderedUnits$1.slice(0).reverse();function clone$1(dur,alts,clear=!1){let conf={values:clear?alts.values:{...dur.values,...alts.values||{}},loc:dur.loc.clone(alts.loc),conversionAccuracy:alts.conversionAccuracy||dur.conversionAccuracy,matrix:alts.matrix||dur.matrix};return new Duration(conf)}function durationToMillis(matrix,vals){let sum=vals.milliseconds??0;for(let unit of reverseUnits.slice(1))vals[unit]&&(sum+=vals[unit]*matrix[unit].milliseconds);return sum}function normalizeValues(matrix,vals){let factor=durationToMillis(matrix,vals)<0?-1:1;orderedUnits$1.reduceRight((previous,current)=>{if(isUndefined(vals[current]))return previous;if(previous){let previousVal=vals[previous]*factor,conv=matrix[current][previous],rollUp=Math.floor(previousVal/conv);vals[current]+=rollUp*factor,vals[previous]-=rollUp*conv*factor}return current},null),orderedUnits$1.reduce((previous,current)=>{if(isUndefined(vals[current]))return previous;if(previous){let fraction=vals[previous]%1;vals[previous]-=fraction,vals[current]+=fraction*matrix[previous][current]}return current},null)}function removeZeroes(vals){let newVals={};for(let[key,value]of Object.entries(vals))value!==0&&(newVals[key]=value);return newVals}var Duration=class _Duration{constructor(config){let accurate=config.conversionAccuracy==="longterm"||!1,matrix=accurate?accurateMatrix:casualMatrix;config.matrix&&(matrix=config.matrix),this.values=config.values,this.loc=config.loc||Locale.create(),this.conversionAccuracy=accurate?"longterm":"casual",this.invalid=config.invalid||null,this.matrix=matrix,this.isLuxonDuration=!0}static fromMillis(count,opts){return _Duration.fromObject({milliseconds:count},opts)}static fromObject(obj,opts={}){if(obj==null||typeof obj!="object")throw new InvalidArgumentError(`Duration.fromObject: argument expected to be an object, got ${obj===null?"null":typeof obj}`);return new _Duration({values:normalizeObject(obj,_Duration.normalizeUnit),loc:Locale.fromObject(opts),conversionAccuracy:opts.conversionAccuracy,matrix:opts.matrix})}static fromDurationLike(durationLike){if(isNumber(durationLike))return _Duration.fromMillis(durationLike);if(_Duration.isDuration(durationLike))return durationLike;if(typeof durationLike=="object")return _Duration.fromObject(durationLike);throw new InvalidArgumentError(`Unknown duration argument ${durationLike} of type ${typeof durationLike}`)}static fromISO(text,opts){let[parsed]=parseISODuration(text);return parsed?_Duration.fromObject(parsed,opts):_Duration.invalid("unparsable",`the input "${text}" can't be parsed as ISO 8601`)}static fromISOTime(text,opts){let[parsed]=parseISOTimeOnly(text);return parsed?_Duration.fromObject(parsed,opts):_Duration.invalid("unparsable",`the input "${text}" can't be parsed as ISO 8601`)}static invalid(reason,explanation=null){if(!reason)throw new InvalidArgumentError("need to specify a reason the Duration is invalid");let invalid=reason instanceof Invalid?reason:new Invalid(reason,explanation);if(Settings.throwOnInvalid)throw new InvalidDurationError(invalid);return new _Duration({invalid})}static normalizeUnit(unit){let normalized={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[unit&&unit.toLowerCase()];if(!normalized)throw new InvalidUnitError(unit);return normalized}static isDuration(o){return o&&o.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(fmt,opts={}){let fmtOpts={...opts,floor:opts.round!==!1&&opts.floor!==!1};return this.isValid?Formatter.create(this.loc,fmtOpts).formatDurationFromString(this,fmt):INVALID$2}toHuman(opts={}){if(!this.isValid)return INVALID$2;let showZeros=opts.showZeros!==!1,l2=orderedUnits$1.map(unit=>{let val=this.values[unit];return isUndefined(val)||val===0&&!showZeros?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...opts,unit:unit.slice(0,-1)}).format(val)}).filter(n2=>n2);return this.loc.listFormatter({type:"conjunction",style:opts.listStyle||"narrow",...opts}).format(l2)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let s2="P";return this.years!==0&&(s2+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(s2+=this.months+this.quarters*3+"M"),this.weeks!==0&&(s2+=this.weeks+"W"),this.days!==0&&(s2+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(s2+="T"),this.hours!==0&&(s2+=this.hours+"H"),this.minutes!==0&&(s2+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(s2+=roundTo(this.seconds+this.milliseconds/1e3,3)+"S"),s2==="P"&&(s2+="T0S"),s2}toISOTime(opts={}){if(!this.isValid)return null;let millis=this.toMillis();return millis<0||millis>=864e5?null:(opts={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...opts,includeOffset:!1},DateTime.fromMillis(millis,{zone:"UTC"}).toISOTime(opts))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?durationToMillis(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(duration){if(!this.isValid)return this;let dur=_Duration.fromDurationLike(duration),result={};for(let k of orderedUnits$1)(hasOwnProperty(dur.values,k)||hasOwnProperty(this.values,k))&&(result[k]=dur.get(k)+this.get(k));return clone$1(this,{values:result},!0)}minus(duration){if(!this.isValid)return this;let dur=_Duration.fromDurationLike(duration);return this.plus(dur.negate())}mapUnits(fn){if(!this.isValid)return this;let result={};for(let k of Object.keys(this.values))result[k]=asNumber(fn(this.values[k],k));return clone$1(this,{values:result},!0)}get(unit){return this[_Duration.normalizeUnit(unit)]}set(values){if(!this.isValid)return this;let mixed={...this.values,...normalizeObject(values,_Duration.normalizeUnit)};return clone$1(this,{values:mixed})}reconfigure({locale,numberingSystem,conversionAccuracy,matrix}={}){let opts={loc:this.loc.clone({locale,numberingSystem}),matrix,conversionAccuracy};return clone$1(this,opts)}as(unit){return this.isValid?this.shiftTo(unit).get(unit):NaN}normalize(){if(!this.isValid)return this;let vals=this.toObject();return normalizeValues(this.matrix,vals),clone$1(this,{values:vals},!0)}rescale(){if(!this.isValid)return this;let vals=removeZeroes(this.normalize().shiftToAll().toObject());return clone$1(this,{values:vals},!0)}shiftTo(...units){if(!this.isValid)return this;if(units.length===0)return this;units=units.map(u=>_Duration.normalizeUnit(u));let built={},accumulated={},vals=this.toObject(),lastUnit;for(let k of orderedUnits$1)if(units.indexOf(k)>=0){lastUnit=k;let own=0;for(let ak in accumulated)own+=this.matrix[ak][k]*accumulated[ak],accumulated[ak]=0;isNumber(vals[k])&&(own+=vals[k]);let i=Math.trunc(own);built[k]=i,accumulated[k]=(own*1e3-i*1e3)/1e3}else isNumber(vals[k])&&(accumulated[k]=vals[k]);for(let key in accumulated)accumulated[key]!==0&&(built[lastUnit]+=key===lastUnit?accumulated[key]:accumulated[key]/this.matrix[lastUnit][key]);return normalizeValues(this.matrix,built),clone$1(this,{values:built},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let negated={};for(let k of Object.keys(this.values))negated[k]=this.values[k]===0?0:-this.values[k];return clone$1(this,{values:negated},!0)}removeZeros(){if(!this.isValid)return this;let vals=removeZeroes(this.values);return clone$1(this,{values:vals},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(other){if(!this.isValid||!other.isValid||!this.loc.equals(other.loc))return!1;function eq(v1,v2){return v1===void 0||v1===0?v2===void 0||v2===0:v1===v2}for(let u of orderedUnits$1)if(!eq(this.values[u],other.values[u]))return!1;return!0}},INVALID$1="Invalid Interval";function validateStartEnd(start,end){return!start||!start.isValid?Interval.invalid("missing or invalid start"):!end||!end.isValid?Interval.invalid("missing or invalid end"):end<start?Interval.invalid("end before start",`The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`):null}var Interval=class _Interval{constructor(config){this.s=config.start,this.e=config.end,this.invalid=config.invalid||null,this.isLuxonInterval=!0}static invalid(reason,explanation=null){if(!reason)throw new InvalidArgumentError("need to specify a reason the Interval is invalid");let invalid=reason instanceof Invalid?reason:new Invalid(reason,explanation);if(Settings.throwOnInvalid)throw new InvalidIntervalError(invalid);return new _Interval({invalid})}static fromDateTimes(start,end){let builtStart=friendlyDateTime(start),builtEnd=friendlyDateTime(end),validateError=validateStartEnd(builtStart,builtEnd);return validateError??new _Interval({start:builtStart,end:builtEnd})}static after(start,duration){let dur=Duration.fromDurationLike(duration),dt=friendlyDateTime(start);return _Interval.fromDateTimes(dt,dt.plus(dur))}static before(end,duration){let dur=Duration.fromDurationLike(duration),dt=friendlyDateTime(end);return _Interval.fromDateTimes(dt.minus(dur),dt)}static fromISO(text,opts){let[s2,e]=(text||"").split("/",2);if(s2&&e){let start,startIsValid;try{start=DateTime.fromISO(s2,opts),startIsValid=start.isValid}catch{startIsValid=!1}let end,endIsValid;try{end=DateTime.fromISO(e,opts),endIsValid=end.isValid}catch{endIsValid=!1}if(startIsValid&&endIsValid)return _Interval.fromDateTimes(start,end);if(startIsValid){let dur=Duration.fromISO(e,opts);if(dur.isValid)return _Interval.after(start,dur)}else if(endIsValid){let dur=Duration.fromISO(s2,opts);if(dur.isValid)return _Interval.before(end,dur)}}return _Interval.invalid("unparsable",`the input "${text}" can't be parsed as ISO 8601`)}static isInterval(o){return o&&o.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid&&this.e?this.e.minus(1):null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(unit="milliseconds"){return this.isValid?this.toDuration(unit).get(unit):NaN}count(unit="milliseconds",opts){if(!this.isValid)return NaN;let start=this.start.startOf(unit,opts),end;return opts?.useLocaleWeeks?end=this.end.reconfigure({locale:start.locale}):end=this.end,end=end.startOf(unit,opts),Math.floor(end.diff(start,unit).get(unit))+(end.valueOf()!==this.end.valueOf())}hasSame(unit){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,unit):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(dateTime){return this.isValid?this.s>dateTime:!1}isBefore(dateTime){return this.isValid?this.e<=dateTime:!1}contains(dateTime){return this.isValid?this.s<=dateTime&&this.e>dateTime:!1}set({start,end}={}){return this.isValid?_Interval.fromDateTimes(start||this.s,end||this.e):this}splitAt(...dateTimes){if(!this.isValid)return[];let sorted=dateTimes.map(friendlyDateTime).filter(d=>this.contains(d)).sort((a,b)=>a.toMillis()-b.toMillis()),results=[],{s:s2}=this,i=0;for(;s2<this.e;){let added=sorted[i]||this.e,next=+added>+this.e?this.e:added;results.push(_Interval.fromDateTimes(s2,next)),s2=next,i+=1}return results}splitBy(duration){let dur=Duration.fromDurationLike(duration);if(!this.isValid||!dur.isValid||dur.as("milliseconds")===0)return[];let{s:s2}=this,idx=1,next,results=[];for(;s2<this.e;){let added=this.start.plus(dur.mapUnits(x=>x*idx));next=+added>+this.e?this.e:added,results.push(_Interval.fromDateTimes(s2,next)),s2=next,idx+=1}return results}divideEqually(numberOfParts){return this.isValid?this.splitBy(this.length()/numberOfParts).slice(0,numberOfParts):[]}overlaps(other){return this.e>other.s&&this.s<other.e}abutsStart(other){return this.isValid?+this.e==+other.s:!1}abutsEnd(other){return this.isValid?+other.e==+this.s:!1}engulfs(other){return this.isValid?this.s<=other.s&&this.e>=other.e:!1}equals(other){return!this.isValid||!other.isValid?!1:this.s.equals(other.s)&&this.e.equals(other.e)}intersection(other){if(!this.isValid)return this;let s2=this.s>other.s?this.s:other.s,e=this.e<other.e?this.e:other.e;return s2>=e?null:_Interval.fromDateTimes(s2,e)}union(other){if(!this.isValid)return this;let s2=this.s<other.s?this.s:other.s,e=this.e>other.e?this.e:other.e;return _Interval.fromDateTimes(s2,e)}static merge(intervals){let[found,final]=intervals.sort((a,b)=>a.s-b.s).reduce(([sofar,current],item)=>current?current.overlaps(item)||current.abutsStart(item)?[sofar,current.union(item)]:[sofar.concat([current]),item]:[sofar,item],[[],null]);return final&&found.push(final),found}static xor(intervals){let start=null,currentCount=0,results=[],ends=intervals.map(i=>[{time:i.s,type:"s"},{time:i.e,type:"e"}]),flattened=Array.prototype.concat(...ends),arr=flattened.sort((a,b)=>a.time-b.time);for(let i of arr)currentCount+=i.type==="s"?1:-1,currentCount===1?start=i.time:(start&&+start!=+i.time&&results.push(_Interval.fromDateTimes(start,i.time)),start=null);return _Interval.merge(results)}difference(...intervals){return _Interval.xor([this].concat(intervals)).map(i=>this.intersection(i)).filter(i=>i&&!i.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \u2013 ${this.e.toISO()})`:INVALID$1}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(formatOpts=DATE_SHORT,opts={}){return this.isValid?Formatter.create(this.s.loc.clone(opts),formatOpts).formatInterval(this):INVALID$1}toISO(opts){return this.isValid?`${this.s.toISO(opts)}/${this.e.toISO(opts)}`:INVALID$1}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:INVALID$1}toISOTime(opts){return this.isValid?`${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`:INVALID$1}toFormat(dateFormat,{separator=" \u2013 "}={}){return this.isValid?`${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`:INVALID$1}toDuration(unit,opts){return this.isValid?this.e.diff(this.s,unit,opts):Duration.invalid(this.invalidReason)}mapEndpoints(mapFn){return _Interval.fromDateTimes(mapFn(this.s),mapFn(this.e))}},Info=class{static hasDST(zone=Settings.defaultZone){let proto=DateTime.now().setZone(zone).set({month:12});return!zone.isUniversal&&proto.offset!==proto.set({month:6}).offset}static isValidIANAZone(zone){return IANAZone.isValidZone(zone)}static normalizeZone(input){return normalizeZone(input,Settings.defaultZone)}static getStartOfWeek({locale=null,locObj=null}={}){return(locObj||Locale.create(locale)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale=null,locObj=null}={}){return(locObj||Locale.create(locale)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale=null,locObj=null}={}){return(locObj||Locale.create(locale)).getWeekendDays().slice()}static months(length="long",{locale=null,numberingSystem=null,locObj=null,outputCalendar="gregory"}={}){return(locObj||Locale.create(locale,numberingSystem,outputCalendar)).months(length)}static monthsFormat(length="long",{locale=null,numberingSystem=null,locObj=null,outputCalendar="gregory"}={}){return(locObj||Locale.create(locale,numberingSystem,outputCalendar)).months(length,!0)}static weekdays(length="long",{locale=null,numberingSystem=null,locObj=null}={}){return(locObj||Locale.create(locale,numberingSystem,null)).weekdays(length)}static weekdaysFormat(length="long",{locale=null,numberingSystem=null,locObj=null}={}){return(locObj||Locale.create(locale,numberingSystem,null)).weekdays(length,!0)}static meridiems({locale=null}={}){return Locale.create(locale).meridiems()}static eras(length="short",{locale=null}={}){return Locale.create(locale,null,"gregory").eras(length)}static features(){return{relative:hasRelative(),localeWeek:hasLocaleWeekInfo()}}};function dayDiff(earlier,later){let utcDayStart=dt=>dt.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),ms2=utcDayStart(later)-utcDayStart(earlier);return Math.floor(Duration.fromMillis(ms2).as("days"))}function highOrderDiffs(cursor,later,units){let differs=[["years",(a,b)=>b.year-a.year],["quarters",(a,b)=>b.quarter-a.quarter+(b.year-a.year)*4],["months",(a,b)=>b.month-a.month+(b.year-a.year)*12],["weeks",(a,b)=>{let days=dayDiff(a,b);return(days-days%7)/7}],["days",dayDiff]],results={},earlier=cursor,lowestOrder,highWater;for(let[unit,differ]of differs)units.indexOf(unit)>=0&&(lowestOrder=unit,results[unit]=differ(cursor,later),highWater=earlier.plus(results),highWater>later?(results[unit]--,cursor=earlier.plus(results),cursor>later&&(highWater=cursor,results[unit]--,cursor=earlier.plus(results))):cursor=highWater);return[cursor,results,highWater,lowestOrder]}function diff(earlier,later,units,opts){let[cursor,results,highWater,lowestOrder]=highOrderDiffs(earlier,later,units),remainingMillis=later-cursor,lowerOrderUnits=units.filter(u=>["hours","minutes","seconds","milliseconds"].indexOf(u)>=0);lowerOrderUnits.length===0&&(highWater<later&&(highWater=cursor.plus({[lowestOrder]:1})),highWater!==cursor&&(results[lowestOrder]=(results[lowestOrder]||0)+remainingMillis/(highWater-cursor)));let duration=Duration.fromObject(results,opts);return lowerOrderUnits.length>0?Duration.fromMillis(remainingMillis,opts).shiftTo(...lowerOrderUnits).plus(duration):duration}var MISSING_FTP="missing Intl.DateTimeFormat.formatToParts support";function intUnit(regex,post=i=>i){return{regex,deser:([s2])=>post(parseDigits(s2))}}var NBSP=String.fromCharCode(160),spaceOrNBSP=`[ ${NBSP}]`,spaceOrNBSPRegExp=new RegExp(spaceOrNBSP,"g");function fixListRegex(s2){return s2.replace(/\./g,"\\.?").replace(spaceOrNBSPRegExp,spaceOrNBSP)}function stripInsensitivities(s2){return s2.replace(/\./g,"").replace(spaceOrNBSPRegExp," ").toLowerCase()}function oneOf(strings,startIndex){return strings===null?null:{regex:RegExp(strings.map(fixListRegex).join("|")),deser:([s2])=>strings.findIndex(i=>stripInsensitivities(s2)===stripInsensitivities(i))+startIndex}}function offset(regex,groups){return{regex,deser:([,h,m])=>signedOffset(h,m),groups}}function simple(regex){return{regex,deser:([s2])=>s2}}function escapeToken(value){return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function unitForToken(token,loc){let one=digitRegex(loc),two=digitRegex(loc,"{2}"),three=digitRegex(loc,"{3}"),four=digitRegex(loc,"{4}"),six=digitRegex(loc,"{6}"),oneOrTwo=digitRegex(loc,"{1,2}"),oneToThree=digitRegex(loc,"{1,3}"),oneToSix=digitRegex(loc,"{1,6}"),oneToNine=digitRegex(loc,"{1,9}"),twoToFour=digitRegex(loc,"{2,4}"),fourToSix=digitRegex(loc,"{4,6}"),literal=t=>({regex:RegExp(escapeToken(t.val)),deser:([s2])=>s2,literal:!0}),unit=(t=>{if(token.literal)return literal(t);switch(t.val){case"G":return oneOf(loc.eras("short"),0);case"GG":return oneOf(loc.eras("long"),0);case"y":return intUnit(oneToSix);case"yy":return intUnit(twoToFour,untruncateYear);case"yyyy":return intUnit(four);case"yyyyy":return intUnit(fourToSix);case"yyyyyy":return intUnit(six);case"M":return intUnit(oneOrTwo);case"MM":return intUnit(two);case"MMM":return oneOf(loc.months("short",!0),1);case"MMMM":return oneOf(loc.months("long",!0),1);case"L":return intUnit(oneOrTwo);case"LL":return intUnit(two);case"LLL":return oneOf(loc.months("short",!1),1);case"LLLL":return oneOf(loc.months("long",!1),1);case"d":return intUnit(oneOrTwo);case"dd":return intUnit(two);case"o":return intUnit(oneToThree);case"ooo":return intUnit(three);case"HH":return intUnit(two);case"H":return intUnit(oneOrTwo);case"hh":return intUnit(two);case"h":return intUnit(oneOrTwo);case"mm":return intUnit(two);case"m":return intUnit(oneOrTwo);case"q":return intUnit(oneOrTwo);case"qq":return intUnit(two);case"s":return intUnit(oneOrTwo);case"ss":return intUnit(two);case"S":return intUnit(oneToThree);case"SSS":return intUnit(three);case"u":return simple(oneToNine);case"uu":return simple(oneOrTwo);case"uuu":return intUnit(one);case"a":return oneOf(loc.meridiems(),0);case"kkkk":return intUnit(four);case"kk":return intUnit(twoToFour,untruncateYear);case"W":return intUnit(oneOrTwo);case"WW":return intUnit(two);case"E":case"c":return intUnit(one);case"EEE":return oneOf(loc.weekdays("short",!1),1);case"EEEE":return oneOf(loc.weekdays("long",!1),1);case"ccc":return oneOf(loc.weekdays("short",!0),1);case"cccc":return oneOf(loc.weekdays("long",!0),1);case"Z":case"ZZ":return offset(new RegExp(`([+-]${oneOrTwo.source})(?::(${two.source}))?`),2);case"ZZZ":return offset(new RegExp(`([+-]${oneOrTwo.source})(${two.source})?`),2);case"z":return simple(/[a-z_+-/]{1,256}?/i);case" ":return simple(/[^\S\n\r]/);default:return literal(t)}})(token)||{invalidReason:MISSING_FTP};return unit.token=token,unit}var partTypeStyleToTokenVal={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function tokenForPart(part,formatOpts,resolvedOpts){let{type,value}=part;if(type==="literal"){let isSpace=/^\s+$/.test(value);return{literal:!isSpace,val:isSpace?" ":value}}let style=formatOpts[type],actualType=type;type==="hour"&&(formatOpts.hour12!=null?actualType=formatOpts.hour12?"hour12":"hour24":formatOpts.hourCycle!=null?formatOpts.hourCycle==="h11"||formatOpts.hourCycle==="h12"?actualType="hour12":actualType="hour24":actualType=resolvedOpts.hour12?"hour12":"hour24");let val=partTypeStyleToTokenVal[actualType];if(typeof val=="object"&&(val=val[style]),val)return{literal:!1,val}}function buildRegex(units){return[`^${units.map(u=>u.regex).reduce((f,r)=>`${f}(${r.source})`,"")}$`,units]}function match(input,regex,handlers){let matches=input.match(regex);if(matches){let all={},matchIndex=1;for(let i in handlers)if(hasOwnProperty(handlers,i)){let h=handlers[i],groups=h.groups?h.groups+1:1;!h.literal&&h.token&&(all[h.token.val[0]]=h.deser(matches.slice(matchIndex,matchIndex+groups))),matchIndex+=groups}return[matches,all]}else return[matches,{}]}function dateTimeFromMatches(matches){let toField=token=>{switch(token){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},zone=null,specificOffset;return isUndefined(matches.z)||(zone=IANAZone.create(matches.z)),isUndefined(matches.Z)||(zone||(zone=new FixedOffsetZone(matches.Z)),specificOffset=matches.Z),isUndefined(matches.q)||(matches.M=(matches.q-1)*3+1),isUndefined(matches.h)||(matches.h<12&&matches.a===1?matches.h+=12:matches.h===12&&matches.a===0&&(matches.h=0)),matches.G===0&&matches.y&&(matches.y=-matches.y),isUndefined(matches.u)||(matches.S=parseMillis(matches.u)),[Object.keys(matches).reduce((r,k)=>{let f=toField(k);return f&&(r[f]=matches[k]),r},{}),zone,specificOffset]}var dummyDateTimeCache=null;function getDummyDateTime(){return dummyDateTimeCache||(dummyDateTimeCache=DateTime.fromMillis(1555555555555)),dummyDateTimeCache}function maybeExpandMacroToken(token,locale){if(token.literal)return token;let formatOpts=Formatter.macroTokenToFormatOpts(token.val),tokens=formatOptsToTokens(formatOpts,locale);return tokens==null||tokens.includes(void 0)?token:tokens}function expandMacroTokens(tokens,locale){return Array.prototype.concat(...tokens.map(t=>maybeExpandMacroToken(t,locale)))}var TokenParser=class{constructor(locale,format){if(this.locale=locale,this.format=format,this.tokens=expandMacroTokens(Formatter.parseFormat(format),locale),this.units=this.tokens.map(t=>unitForToken(t,locale)),this.disqualifyingUnit=this.units.find(t=>t.invalidReason),!this.disqualifyingUnit){let[regexString,handlers]=buildRegex(this.units);this.regex=RegExp(regexString,"i"),this.handlers=handlers}}explainFromTokens(input){if(this.isValid){let[rawMatches,matches]=match(input,this.regex,this.handlers),[result,zone,specificOffset]=matches?dateTimeFromMatches(matches):[null,null,void 0];if(hasOwnProperty(matches,"a")&&hasOwnProperty(matches,"H"))throw new ConflictingSpecificationError("Can't include meridiem when specifying 24-hour format");return{input,tokens:this.tokens,regex:this.regex,rawMatches,matches,result,zone,specificOffset}}else return{input,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}};function explainFromTokens(locale,input,format){return new TokenParser(locale,format).explainFromTokens(input)}function parseFromTokens(locale,input,format){let{result,zone,specificOffset,invalidReason}=explainFromTokens(locale,input,format);return[result,zone,specificOffset,invalidReason]}function formatOptsToTokens(formatOpts,locale){if(!formatOpts)return null;let df=Formatter.create(locale,formatOpts).dtFormatter(getDummyDateTime()),parts=df.formatToParts(),resolvedOpts=df.resolvedOptions();return parts.map(p=>tokenForPart(p,formatOpts,resolvedOpts))}var INVALID="Invalid DateTime",MAX_DATE=864e13;function unsupportedZone(zone){return new Invalid("unsupported zone",`the zone "${zone.name}" is not supported`)}function possiblyCachedWeekData(dt){return dt.weekData===null&&(dt.weekData=gregorianToWeek(dt.c)),dt.weekData}function possiblyCachedLocalWeekData(dt){return dt.localWeekData===null&&(dt.localWeekData=gregorianToWeek(dt.c,dt.loc.getMinDaysInFirstWeek(),dt.loc.getStartOfWeek())),dt.localWeekData}function clone(inst,alts){let current={ts:inst.ts,zone:inst.zone,c:inst.c,o:inst.o,loc:inst.loc,invalid:inst.invalid};return new DateTime({...current,...alts,old:current})}function fixOffset(localTS,o,tz){let utcGuess=localTS-o*60*1e3,o2=tz.offset(utcGuess);if(o===o2)return[utcGuess,o];utcGuess-=(o2-o)*60*1e3;let o3=tz.offset(utcGuess);return o2===o3?[utcGuess,o2]:[localTS-Math.min(o2,o3)*60*1e3,Math.max(o2,o3)]}function tsToObj(ts,offset2){ts+=offset2*60*1e3;let d=new Date(ts);return{year:d.getUTCFullYear(),month:d.getUTCMonth()+1,day:d.getUTCDate(),hour:d.getUTCHours(),minute:d.getUTCMinutes(),second:d.getUTCSeconds(),millisecond:d.getUTCMilliseconds()}}function objToTS(obj,offset2,zone){return fixOffset(objToLocalTS(obj),offset2,zone)}function adjustTime(inst,dur){let oPre=inst.o,year=inst.c.year+Math.trunc(dur.years),month=inst.c.month+Math.trunc(dur.months)+Math.trunc(dur.quarters)*3,c={...inst.c,year,month,day:Math.min(inst.c.day,daysInMonth(year,month))+Math.trunc(dur.days)+Math.trunc(dur.weeks)*7},millisToAdd=Duration.fromObject({years:dur.years-Math.trunc(dur.years),quarters:dur.quarters-Math.trunc(dur.quarters),months:dur.months-Math.trunc(dur.months),weeks:dur.weeks-Math.trunc(dur.weeks),days:dur.days-Math.trunc(dur.days),hours:dur.hours,minutes:dur.minutes,seconds:dur.seconds,milliseconds:dur.milliseconds}).as("milliseconds"),localTS=objToLocalTS(c),[ts,o]=fixOffset(localTS,oPre,inst.zone);return millisToAdd!==0&&(ts+=millisToAdd,o=inst.zone.offset(ts)),{ts,o}}function parseDataToDateTime(parsed,parsedZone,opts,format,text,specificOffset){let{setZone,zone}=opts;if(parsed&&Object.keys(parsed).length!==0||parsedZone){let interpretationZone=parsedZone||zone,inst=DateTime.fromObject(parsed,{...opts,zone:interpretationZone,specificOffset});return setZone?inst:inst.setZone(zone)}else return DateTime.invalid(new Invalid("unparsable",`the input "${text}" can't be parsed as ${format}`))}function toTechFormat(dt,format,allowZ=!0){return dt.isValid?Formatter.create(Locale.create("en-US"),{allowZ,forceSimple:!0}).formatDateTimeFromString(dt,format):null}function toISODate(o,extended,precision){let longFormat=o.c.year>9999||o.c.year<0,c="";if(longFormat&&o.c.year>=0&&(c+="+"),c+=padStart(o.c.year,longFormat?6:4),precision==="year")return c;if(extended){if(c+="-",c+=padStart(o.c.month),precision==="month")return c;c+="-"}else if(c+=padStart(o.c.month),precision==="month")return c;return c+=padStart(o.c.day),c}function toISOTime(o,extended,suppressSeconds,suppressMilliseconds,includeOffset,extendedZone,precision){let showSeconds=!suppressSeconds||o.c.millisecond!==0||o.c.second!==0,c="";switch(precision){case"day":case"month":case"year":break;default:if(c+=padStart(o.c.hour),precision==="hour")break;if(extended){if(c+=":",c+=padStart(o.c.minute),precision==="minute")break;showSeconds&&(c+=":",c+=padStart(o.c.second))}else{if(c+=padStart(o.c.minute),precision==="minute")break;showSeconds&&(c+=padStart(o.c.second))}if(precision==="second")break;showSeconds&&(!suppressMilliseconds||o.c.millisecond!==0)&&(c+=".",c+=padStart(o.c.millisecond,3))}return includeOffset&&(o.isOffsetFixed&&o.offset===0&&!extendedZone?c+="Z":o.o<0?(c+="-",c+=padStart(Math.trunc(-o.o/60)),c+=":",c+=padStart(Math.trunc(-o.o%60))):(c+="+",c+=padStart(Math.trunc(o.o/60)),c+=":",c+=padStart(Math.trunc(o.o%60)))),extendedZone&&(c+="["+o.zone.ianaName+"]"),c}var defaultUnitValues={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},defaultWeekUnitValues={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},defaultOrdinalUnitValues={ordinal:1,hour:0,minute:0,second:0,millisecond:0},orderedUnits=["year","month","day","hour","minute","second","millisecond"],orderedWeekUnits=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],orderedOrdinalUnits=["year","ordinal","hour","minute","second","millisecond"];function normalizeUnit(unit){let normalized={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[unit.toLowerCase()];if(!normalized)throw new InvalidUnitError(unit);return normalized}function normalizeUnitWithLocalWeeks(unit){switch(unit.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return normalizeUnit(unit)}}function guessOffsetForZone(zone){if(zoneOffsetTs===void 0&&(zoneOffsetTs=Settings.now()),zone.type!=="iana")return zone.offset(zoneOffsetTs);let zoneName=zone.name,offsetGuess=zoneOffsetGuessCache.get(zoneName);return offsetGuess===void 0&&(offsetGuess=zone.offset(zoneOffsetTs),zoneOffsetGuessCache.set(zoneName,offsetGuess)),offsetGuess}function quickDT(obj,opts){let zone=normalizeZone(opts.zone,Settings.defaultZone);if(!zone.isValid)return DateTime.invalid(unsupportedZone(zone));let loc=Locale.fromObject(opts),ts,o;if(isUndefined(obj.year))ts=Settings.now();else{for(let u of orderedUnits)isUndefined(obj[u])&&(obj[u]=defaultUnitValues[u]);let invalid=hasInvalidGregorianData(obj)||hasInvalidTimeData(obj);if(invalid)return DateTime.invalid(invalid);let offsetProvis=guessOffsetForZone(zone);[ts,o]=objToTS(obj,offsetProvis,zone)}return new DateTime({ts,zone,loc,o})}function diffRelative(start,end,opts){let round=isUndefined(opts.round)?!0:opts.round,rounding=isUndefined(opts.rounding)?"trunc":opts.rounding,format=(c,unit)=>(c=roundTo(c,round||opts.calendary?0:2,opts.calendary?"round":rounding),end.loc.clone(opts).relFormatter(opts).format(c,unit)),differ=unit=>opts.calendary?end.hasSame(start,unit)?0:end.startOf(unit).diff(start.startOf(unit),unit).get(unit):end.diff(start,unit).get(unit);if(opts.unit)return format(differ(opts.unit),opts.unit);for(let unit of opts.units){let count=differ(unit);if(Math.abs(count)>=1)return format(count,unit)}return format(start>end?-0:0,opts.units[opts.units.length-1])}function lastOpts(argList){let opts={},args;return argList.length>0&&typeof argList[argList.length-1]=="object"?(opts=argList[argList.length-1],args=Array.from(argList).slice(0,argList.length-1)):args=Array.from(argList),[opts,args]}var zoneOffsetTs,zoneOffsetGuessCache=new Map,DateTime=class _DateTime{constructor(config){let zone=config.zone||Settings.defaultZone,invalid=config.invalid||(Number.isNaN(config.ts)?new Invalid("invalid input"):null)||(zone.isValid?null:unsupportedZone(zone));this.ts=isUndefined(config.ts)?Settings.now():config.ts;let c=null,o=null;if(!invalid)if(config.old&&config.old.ts===this.ts&&config.old.zone.equals(zone))[c,o]=[config.old.c,config.old.o];else{let ot=isNumber(config.o)&&!config.old?config.o:zone.offset(this.ts);c=tsToObj(this.ts,ot),invalid=Number.isNaN(c.year)?new Invalid("invalid input"):null,c=invalid?null:c,o=invalid?null:ot}this._zone=zone,this.loc=config.loc||Locale.create(),this.invalid=invalid,this.weekData=null,this.localWeekData=null,this.c=c,this.o=o,this.isLuxonDateTime=!0}static now(){return new _DateTime({})}static local(){let[opts,args]=lastOpts(arguments),[year,month,day,hour,minute,second,millisecond]=args;return quickDT({year,month,day,hour,minute,second,millisecond},opts)}static utc(){let[opts,args]=lastOpts(arguments),[year,month,day,hour,minute,second,millisecond]=args;return opts.zone=FixedOffsetZone.utcInstance,quickDT({year,month,day,hour,minute,second,millisecond},opts)}static fromJSDate(date,options={}){let ts=isDate(date)?date.valueOf():NaN;if(Number.isNaN(ts))return _DateTime.invalid("invalid input");let zoneToUse=normalizeZone(options.zone,Settings.defaultZone);return zoneToUse.isValid?new _DateTime({ts,zone:zoneToUse,loc:Locale.fromObject(options)}):_DateTime.invalid(unsupportedZone(zoneToUse))}static fromMillis(milliseconds,options={}){if(isNumber(milliseconds))return milliseconds<-MAX_DATE||milliseconds>MAX_DATE?_DateTime.invalid("Timestamp out of range"):new _DateTime({ts:milliseconds,zone:normalizeZone(options.zone,Settings.defaultZone),loc:Locale.fromObject(options)});throw new InvalidArgumentError(`fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`)}static fromSeconds(seconds,options={}){if(isNumber(seconds))return new _DateTime({ts:seconds*1e3,zone:normalizeZone(options.zone,Settings.defaultZone),loc:Locale.fromObject(options)});throw new InvalidArgumentError("fromSeconds requires a numerical input")}static fromObject(obj,opts={}){obj=obj||{};let zoneToUse=normalizeZone(opts.zone,Settings.defaultZone);if(!zoneToUse.isValid)return _DateTime.invalid(unsupportedZone(zoneToUse));let loc=Locale.fromObject(opts),normalized=normalizeObject(obj,normalizeUnitWithLocalWeeks),{minDaysInFirstWeek,startOfWeek}=usesLocalWeekValues(normalized,loc),tsNow=Settings.now(),offsetProvis=isUndefined(opts.specificOffset)?zoneToUse.offset(tsNow):opts.specificOffset,containsOrdinal=!isUndefined(normalized.ordinal),containsGregorYear=!isUndefined(normalized.year),containsGregorMD=!isUndefined(normalized.month)||!isUndefined(normalized.day),containsGregor=containsGregorYear||containsGregorMD,definiteWeekDef=normalized.weekYear||normalized.weekNumber;if((containsGregor||containsOrdinal)&&definiteWeekDef)throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(containsGregorMD&&containsOrdinal)throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day");let useWeekData=definiteWeekDef||normalized.weekday&&!containsGregor,units,defaultValues,objNow=tsToObj(tsNow,offsetProvis);useWeekData?(units=orderedWeekUnits,defaultValues=defaultWeekUnitValues,objNow=gregorianToWeek(objNow,minDaysInFirstWeek,startOfWeek)):containsOrdinal?(units=orderedOrdinalUnits,defaultValues=defaultOrdinalUnitValues,objNow=gregorianToOrdinal(objNow)):(units=orderedUnits,defaultValues=defaultUnitValues);let foundFirst=!1;for(let u of units){let v=normalized[u];isUndefined(v)?foundFirst?normalized[u]=defaultValues[u]:normalized[u]=objNow[u]:foundFirst=!0}let higherOrderInvalid=useWeekData?hasInvalidWeekData(normalized,minDaysInFirstWeek,startOfWeek):containsOrdinal?hasInvalidOrdinalData(normalized):hasInvalidGregorianData(normalized),invalid=higherOrderInvalid||hasInvalidTimeData(normalized);if(invalid)return _DateTime.invalid(invalid);let gregorian=useWeekData?weekToGregorian(normalized,minDaysInFirstWeek,startOfWeek):containsOrdinal?ordinalToGregorian(normalized):normalized,[tsFinal,offsetFinal]=objToTS(gregorian,offsetProvis,zoneToUse),inst=new _DateTime({ts:tsFinal,zone:zoneToUse,o:offsetFinal,loc});return normalized.weekday&&containsGregor&&obj.weekday!==inst.weekday?_DateTime.invalid("mismatched weekday",`you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`):inst.isValid?inst:_DateTime.invalid(inst.invalid)}static fromISO(text,opts={}){let[vals,parsedZone]=parseISODate(text);return parseDataToDateTime(vals,parsedZone,opts,"ISO 8601",text)}static fromRFC2822(text,opts={}){let[vals,parsedZone]=parseRFC2822Date(text);return parseDataToDateTime(vals,parsedZone,opts,"RFC 2822",text)}static fromHTTP(text,opts={}){let[vals,parsedZone]=parseHTTPDate(text);return parseDataToDateTime(vals,parsedZone,opts,"HTTP",opts)}static fromFormat(text,fmt,opts={}){if(isUndefined(text)||isUndefined(fmt))throw new InvalidArgumentError("fromFormat requires an input string and a format");let{locale=null,numberingSystem=null}=opts,localeToUse=Locale.fromOpts({locale,numberingSystem,defaultToEN:!0}),[vals,parsedZone,specificOffset,invalid]=parseFromTokens(localeToUse,text,fmt);return invalid?_DateTime.invalid(invalid):parseDataToDateTime(vals,parsedZone,opts,`format ${fmt}`,text,specificOffset)}static fromString(text,fmt,opts={}){return _DateTime.fromFormat(text,fmt,opts)}static fromSQL(text,opts={}){let[vals,parsedZone]=parseSQL(text);return parseDataToDateTime(vals,parsedZone,opts,"SQL",text)}static invalid(reason,explanation=null){if(!reason)throw new InvalidArgumentError("need to specify a reason the DateTime is invalid");let invalid=reason instanceof Invalid?reason:new Invalid(reason,explanation);if(Settings.throwOnInvalid)throw new InvalidDateTimeError(invalid);return new _DateTime({invalid})}static isDateTime(o){return o&&o.isLuxonDateTime||!1}static parseFormatForOpts(formatOpts,localeOpts={}){let tokenList=formatOptsToTokens(formatOpts,Locale.fromObject(localeOpts));return tokenList?tokenList.map(t=>t?t.val:null).join(""):null}static expandFormat(fmt,localeOpts={}){return expandMacroTokens(Formatter.parseFormat(fmt),Locale.fromObject(localeOpts)).map(t=>t.val).join("")}static resetCache(){zoneOffsetTs=void 0,zoneOffsetGuessCache.clear()}get(unit){return this[unit]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?possiblyCachedWeekData(this).weekYear:NaN}get weekNumber(){return this.isValid?possiblyCachedWeekData(this).weekNumber:NaN}get weekday(){return this.isValid?possiblyCachedWeekData(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?possiblyCachedLocalWeekData(this).weekday:NaN}get localWeekNumber(){return this.isValid?possiblyCachedLocalWeekData(this).weekNumber:NaN}get localWeekYear(){return this.isValid?possiblyCachedLocalWeekData(this).weekYear:NaN}get ordinal(){return this.isValid?gregorianToOrdinal(this.c).ordinal:NaN}get monthShort(){return this.isValid?Info.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Info.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Info.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Info.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let dayMs=864e5,minuteMs=6e4,localTS=objToLocalTS(this.c),oEarlier=this.zone.offset(localTS-dayMs),oLater=this.zone.offset(localTS+dayMs),o1=this.zone.offset(localTS-oEarlier*minuteMs),o2=this.zone.offset(localTS-oLater*minuteMs);if(o1===o2)return[this];let ts1=localTS-o1*minuteMs,ts2=localTS-o2*minuteMs,c1=tsToObj(ts1,o1),c2=tsToObj(ts2,o2);return c1.hour===c2.hour&&c1.minute===c2.minute&&c1.second===c2.second&&c1.millisecond===c2.millisecond?[clone(this,{ts:ts1}),clone(this,{ts:ts2})]:[this]}get isInLeapYear(){return isLeapYear(this.year)}get daysInMonth(){return daysInMonth(this.year,this.month)}get daysInYear(){return this.isValid?daysInYear(this.year):NaN}get weeksInWeekYear(){return this.isValid?weeksInWeekYear(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?weeksInWeekYear(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(opts={}){let{locale,numberingSystem,calendar}=Formatter.create(this.loc.clone(opts),opts).resolvedOptions(this);return{locale,numberingSystem,outputCalendar:calendar}}toUTC(offset2=0,opts={}){return this.setZone(FixedOffsetZone.instance(offset2),opts)}toLocal(){return this.setZone(Settings.defaultZone)}setZone(zone,{keepLocalTime=!1,keepCalendarTime=!1}={}){if(zone=normalizeZone(zone,Settings.defaultZone),zone.equals(this.zone))return this;if(zone.isValid){let newTS=this.ts;if(keepLocalTime||keepCalendarTime){let offsetGuess=zone.offset(this.ts),asObj=this.toObject();[newTS]=objToTS(asObj,offsetGuess,zone)}return clone(this,{ts:newTS,zone})}else return _DateTime.invalid(unsupportedZone(zone))}reconfigure({locale,numberingSystem,outputCalendar}={}){let loc=this.loc.clone({locale,numberingSystem,outputCalendar});return clone(this,{loc})}setLocale(locale){return this.reconfigure({locale})}set(values){if(!this.isValid)return this;let normalized=normalizeObject(values,normalizeUnitWithLocalWeeks),{minDaysInFirstWeek,startOfWeek}=usesLocalWeekValues(normalized,this.loc),settingWeekStuff=!isUndefined(normalized.weekYear)||!isUndefined(normalized.weekNumber)||!isUndefined(normalized.weekday),containsOrdinal=!isUndefined(normalized.ordinal),containsGregorYear=!isUndefined(normalized.year),containsGregorMD=!isUndefined(normalized.month)||!isUndefined(normalized.day),containsGregor=containsGregorYear||containsGregorMD,definiteWeekDef=normalized.weekYear||normalized.weekNumber;if((containsGregor||containsOrdinal)&&definiteWeekDef)throw new ConflictingSpecificationError("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(containsGregorMD&&containsOrdinal)throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day");let mixed;settingWeekStuff?mixed=weekToGregorian({...gregorianToWeek(this.c,minDaysInFirstWeek,startOfWeek),...normalized},minDaysInFirstWeek,startOfWeek):isUndefined(normalized.ordinal)?(mixed={...this.toObject(),...normalized},isUndefined(normalized.day)&&(mixed.day=Math.min(daysInMonth(mixed.year,mixed.month),mixed.day))):mixed=ordinalToGregorian({...gregorianToOrdinal(this.c),...normalized});let[ts,o]=objToTS(mixed,this.o,this.zone);return clone(this,{ts,o})}plus(duration){if(!this.isValid)return this;let dur=Duration.fromDurationLike(duration);return clone(this,adjustTime(this,dur))}minus(duration){if(!this.isValid)return this;let dur=Duration.fromDurationLike(duration).negate();return clone(this,adjustTime(this,dur))}startOf(unit,{useLocaleWeeks=!1}={}){if(!this.isValid)return this;let o={},normalizedUnit=Duration.normalizeUnit(unit);switch(normalizedUnit){case"years":o.month=1;case"quarters":case"months":o.day=1;case"weeks":case"days":o.hour=0;case"hours":o.minute=0;case"minutes":o.second=0;case"seconds":o.millisecond=0;break}if(normalizedUnit==="weeks")if(useLocaleWeeks){let startOfWeek=this.loc.getStartOfWeek(),{weekday}=this;weekday<startOfWeek&&(o.weekNumber=this.weekNumber-1),o.weekday=startOfWeek}else o.weekday=1;if(normalizedUnit==="quarters"){let q=Math.ceil(this.month/3);o.month=(q-1)*3+1}return this.set(o)}endOf(unit,opts){return this.isValid?this.plus({[unit]:1}).startOf(unit,opts).minus(1):this}toFormat(fmt,opts={}){return this.isValid?Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this,fmt):INVALID}toLocaleString(formatOpts=DATE_SHORT,opts={}){return this.isValid?Formatter.create(this.loc.clone(opts),formatOpts).formatDateTime(this):INVALID}toLocaleParts(opts={}){return this.isValid?Formatter.create(this.loc.clone(opts),opts).formatDateTimeParts(this):[]}toISO({format="extended",suppressSeconds=!1,suppressMilliseconds=!1,includeOffset=!0,extendedZone=!1,precision="milliseconds"}={}){if(!this.isValid)return null;precision=normalizeUnit(precision);let ext=format==="extended",c=toISODate(this,ext,precision);return orderedUnits.indexOf(precision)>=3&&(c+="T"),c+=toISOTime(this,ext,suppressSeconds,suppressMilliseconds,includeOffset,extendedZone,precision),c}toISODate({format="extended",precision="day"}={}){return this.isValid?toISODate(this,format==="extended",normalizeUnit(precision)):null}toISOWeekDate(){return toTechFormat(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds=!1,suppressSeconds=!1,includeOffset=!0,includePrefix=!1,extendedZone=!1,format="extended",precision="milliseconds"}={}){return this.isValid?(precision=normalizeUnit(precision),(includePrefix&&orderedUnits.indexOf(precision)>=3?"T":"")+toISOTime(this,format==="extended",suppressSeconds,suppressMilliseconds,includeOffset,extendedZone,precision)):null}toRFC2822(){return toTechFormat(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return toTechFormat(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?toISODate(this,!0):null}toSQLTime({includeOffset=!0,includeZone=!1,includeOffsetSpace=!0}={}){let fmt="HH:mm:ss.SSS";return(includeZone||includeOffset)&&(includeOffsetSpace&&(fmt+=" "),includeZone?fmt+="z":includeOffset&&(fmt+="ZZ")),toTechFormat(this,fmt,!0)}toSQL(opts={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(opts)}`:null}toString(){return this.isValid?this.toISO():INVALID}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(opts={}){if(!this.isValid)return{};let base={...this.c};return opts.includeConfig&&(base.outputCalendar=this.outputCalendar,base.numberingSystem=this.loc.numberingSystem,base.locale=this.loc.locale),base}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(otherDateTime,unit="milliseconds",opts={}){if(!this.isValid||!otherDateTime.isValid)return Duration.invalid("created by diffing an invalid DateTime");let durOpts={locale:this.locale,numberingSystem:this.numberingSystem,...opts},units=maybeArray(unit).map(Duration.normalizeUnit),otherIsLater=otherDateTime.valueOf()>this.valueOf(),earlier=otherIsLater?this:otherDateTime,later=otherIsLater?otherDateTime:this,diffed=diff(earlier,later,units,durOpts);return otherIsLater?diffed.negate():diffed}diffNow(unit="milliseconds",opts={}){return this.diff(_DateTime.now(),unit,opts)}until(otherDateTime){return this.isValid?Interval.fromDateTimes(this,otherDateTime):this}hasSame(otherDateTime,unit,opts){if(!this.isValid)return!1;let inputMs=otherDateTime.valueOf(),adjustedToZone=this.setZone(otherDateTime.zone,{keepLocalTime:!0});return adjustedToZone.startOf(unit,opts)<=inputMs&&inputMs<=adjustedToZone.endOf(unit,opts)}equals(other){return this.isValid&&other.isValid&&this.valueOf()===other.valueOf()&&this.zone.equals(other.zone)&&this.loc.equals(other.loc)}toRelative(options={}){if(!this.isValid)return null;let base=options.base||_DateTime.fromObject({},{zone:this.zone}),padding=options.padding?this<base?-options.padding:options.padding:0,units=["years","months","days","hours","minutes","seconds"],unit=options.unit;return Array.isArray(options.unit)&&(units=options.unit,unit=void 0),diffRelative(base,this.plus(padding),{...options,numeric:"always",units,unit})}toRelativeCalendar(options={}){return this.isValid?diffRelative(options.base||_DateTime.fromObject({},{zone:this.zone}),this,{...options,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...dateTimes){if(!dateTimes.every(_DateTime.isDateTime))throw new InvalidArgumentError("min requires all arguments be DateTimes");return bestBy(dateTimes,i=>i.valueOf(),Math.min)}static max(...dateTimes){if(!dateTimes.every(_DateTime.isDateTime))throw new InvalidArgumentError("max requires all arguments be DateTimes");return bestBy(dateTimes,i=>i.valueOf(),Math.max)}static fromFormatExplain(text,fmt,options={}){let{locale=null,numberingSystem=null}=options,localeToUse=Locale.fromOpts({locale,numberingSystem,defaultToEN:!0});return explainFromTokens(localeToUse,text,fmt)}static fromStringExplain(text,fmt,options={}){return _DateTime.fromFormatExplain(text,fmt,options)}static buildFormatParser(fmt,options={}){let{locale=null,numberingSystem=null}=options,localeToUse=Locale.fromOpts({locale,numberingSystem,defaultToEN:!0});return new TokenParser(localeToUse,fmt)}static fromFormatParser(text,formatParser,opts={}){if(isUndefined(text)||isUndefined(formatParser))throw new InvalidArgumentError("fromFormatParser requires an input string and a format parser");let{locale=null,numberingSystem=null}=opts,localeToUse=Locale.fromOpts({locale,numberingSystem,defaultToEN:!0});if(!localeToUse.equals(formatParser.locale))throw new InvalidArgumentError(`fromFormatParser called with a locale of ${localeToUse}, but the format parser was created for ${formatParser.locale}`);let{result,zone,specificOffset,invalidReason}=formatParser.explainFromTokens(text);return invalidReason?_DateTime.invalid(invalidReason):parseDataToDateTime(result,zone,opts,`format ${formatParser.format}`,text,specificOffset)}static get DATE_SHORT(){return DATE_SHORT}static get DATE_MED(){return DATE_MED}static get DATE_MED_WITH_WEEKDAY(){return DATE_MED_WITH_WEEKDAY}static get DATE_FULL(){return DATE_FULL}static get DATE_HUGE(){return DATE_HUGE}static get TIME_SIMPLE(){return TIME_SIMPLE}static get TIME_WITH_SECONDS(){return TIME_WITH_SECONDS}static get TIME_WITH_SHORT_OFFSET(){return TIME_WITH_SHORT_OFFSET}static get TIME_WITH_LONG_OFFSET(){return TIME_WITH_LONG_OFFSET}static get TIME_24_SIMPLE(){return TIME_24_SIMPLE}static get TIME_24_WITH_SECONDS(){return TIME_24_WITH_SECONDS}static get TIME_24_WITH_SHORT_OFFSET(){return TIME_24_WITH_SHORT_OFFSET}static get TIME_24_WITH_LONG_OFFSET(){return TIME_24_WITH_LONG_OFFSET}static get DATETIME_SHORT(){return DATETIME_SHORT}static get DATETIME_SHORT_WITH_SECONDS(){return DATETIME_SHORT_WITH_SECONDS}static get DATETIME_MED(){return DATETIME_MED}static get DATETIME_MED_WITH_SECONDS(){return DATETIME_MED_WITH_SECONDS}static get DATETIME_MED_WITH_WEEKDAY(){return DATETIME_MED_WITH_WEEKDAY}static get DATETIME_FULL(){return DATETIME_FULL}static get DATETIME_FULL_WITH_SECONDS(){return DATETIME_FULL_WITH_SECONDS}static get DATETIME_HUGE(){return DATETIME_HUGE}static get DATETIME_HUGE_WITH_SECONDS(){return DATETIME_HUGE_WITH_SECONDS}};function friendlyDateTime(dateTimeish){if(DateTime.isDateTime(dateTimeish))return dateTimeish;if(dateTimeish&&dateTimeish.valueOf&&isNumber(dateTimeish.valueOf()))return DateTime.fromJSDate(dateTimeish);if(dateTimeish&&typeof dateTimeish=="object")return DateTime.fromObject(dateTimeish);throw new InvalidArgumentError(`Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`)}var import_ms=__toESM(require_ms(),1),LA_TIMEZONE="America/Los_Angeles";function toISOOrThrow(dt){if(!dt.isValid)throw new Error(`Invalid DateTime: ${dt.invalidReason}`);let iso=dt.toISO();if(!iso)throw new Error("Failed to convert DateTime to ISO");return iso}function getDefaultFromDateTime(){return DateTime.now().setZone(LA_TIMEZONE).startOf("month")}function getDefaultToDateTime(){return DateTime.utc()}function getDefaultFromDate(){let dt=getDefaultFromDateTime();return toISOOrThrow(dt.toUTC())}function getDefaultToDate(){let dt=getDefaultToDateTime();return toISOOrThrow(dt.toUTC())}function isRelativeTime(input){return(0,import_ms.default)(input)!==void 0}function parseBillingDate(dateStr,isEndDate=!1){let relativeMs=(0,import_ms.default)(dateStr);if(relativeMs!==void 0)return new Date(Date.now()-relativeMs).toISOString();if(dateStr.includes("T")){if(!DateTime.fromISO(dateStr).isValid)throw new Error(`Invalid date: "${dateStr}". Expected YYYY-MM-DD, ISO 8601 (YYYY-MM-DDTHH:mm:ss), or relative (7d)`);return dateStr}let laDateTime=DateTime.fromISO(dateStr,{zone:LA_TIMEZONE}).startOf("day");if(!laDateTime.isValid)throw new Error(`Invalid date: "${dateStr}". Expected YYYY-MM-DD, ISO 8601, or relative (7d)`);let finalDateTime=isEndDate?laDateTime.plus({days:1}):laDateTime;return toISOOrThrow(finalDateTime.toUTC())}function getISOWeekNumber(dateStr){let date=new Date(dateStr);date.setUTCDate(date.getUTCDate()+4-(date.getUTCDay()||7));let yearStart=new Date(Date.UTC(date.getUTCFullYear(),0,1));return Math.ceil(((date.getTime()-yearStart.getTime())/864e5+1)/7)}function getISOWeekYear(dateStr){let date=new Date(dateStr);return date.setUTCDate(date.getUTCDate()+4-(date.getUTCDay()||7)),date.getUTCFullYear()}function getPeriodKey(chargePeriodStart,breakdownPeriod){if(!chargePeriodStart)return"Unknown";switch(breakdownPeriod){case"daily":return chargePeriodStart.substring(0,10);case"weekly":{let weekYear=getISOWeekYear(chargePeriodStart),weekNum=getISOWeekNumber(chargePeriodStart);return`${weekYear}-W${weekNum.toString().padStart(2,"0")}`}case"monthly":return chargePeriodStart.substring(0,7);default:return chargePeriodStart.substring(0,10)}}var VALID_BREAKDOWN_PERIODS=["daily","weekly","monthly"];function isValidBreakdownPeriod(value){return value!==void 0&&VALID_BREAKDOWN_PERIODS.includes(value)}var VALID_GROUP_BY_DIMENSIONS=["project","region"];function isValidGroupByDimension(value){return value!==void 0&&VALID_GROUP_BY_DIMENSIONS.includes(value)}var import_chalk2=__toESM(require_source(),1);function formatUsageAmount(amount,unit){if(unit==="managed_infrastructure_units")return formatUsageQuantity(amount,"MIUs",{showSmallValues:!0});let formattedAmount=amount.toFixed(2);return amount!==0&&Number(formattedAmount)===0?amount>0?"<$0.01":">-$0.01":`$${formattedAmount}`}function formatUsageQuantity(quantity,unit="",options={}){let displayUnit=quantity===1&&options.singularUnit?options.singularUnit:unit;if(options.unitKind==="digitalStorage")return formatStorageQuantity(quantity,unit,options.showSmallValues);let formatter=new Intl.NumberFormat("en-US",{maximumFractionDigits:2,notation:options.compact&&Math.abs(quantity)>=1e3?"compact":"standard"}),formattedQuantity=formatter.format(quantity),roundsToZero=formatter.format(Math.abs(quantity))===formatter.format(0),displayQuantity=options.showSmallValues&&quantity!==0&&roundsToZero?quantity>0?`<${formatter.format(.01)}`:`>${formatter.format(-.01)}`:formattedQuantity;return displayUnit?`${displayQuantity} ${displayUnit}`:displayQuantity}function formatStorageQuantity(quantity,unit,showSmallValues=!1){let units=["byte","kilobyte","megabyte","gigabyte","terabyte"],symbols=["B","KB","MB","GB","TB"],startIndex=units.indexOf(unit.toLowerCase());if(startIndex===-1)return formatUsageQuantity(quantity,unit,{showSmallValues});let value=quantity,unitIndex=startIndex;for(;Math.abs(value)>=1e3&&unitIndex<symbols.length-1;)value/=1e3,unitIndex++;return formatUsageQuantity(value,symbols[unitIndex],{showSmallValues})}var import_chalk=__toESM(require_source(),1);function formatServiceName(name,service){return service.included?`${name} (Flat Rate CDN)`:name}function formatServiceCost(service,costUnit){return service.included?"Included":formatUsageAmount(service.cost,costUnit)}function isEmptyService(service){return(service.category==="subscription"||service.quantity===0)&&service.cost===0}function visibleServices(services){return[...services.values()].filter(service=>!isEmptyService(service)).map(service=>[service.name,service])}function outputUsageHeader(data,title,elapsedSuffix){let{log}=output_manager_default;log(`${title} for ${data.contextType} ${import_chalk.default.bold(data.contextName)} ${elapsedSuffix}`),log(""),data.usingDefaults?log(`${import_chalk.default.gray("Billing cycle:")} ${formatRange(data.fromDisplay,data.toDisplay)}`):log(`${import_chalk.default.gray("Period:")} ${formatRange(data.fromDisplay,data.toDisplay)}`),log(import_chalk.default.gray(`Accrued through ${formatDate(data.usageThrough)} in ${data.costUnit==="managed_infrastructure_units"?"MIUs":"USD"}, before credits and discounts.`)),log("")}function outputHiddenServicesHint(hiddenCount){hiddenCount<=0||output_manager_default.log(import_chalk.default.gray(`${hiddenCount} ${hiddenCount===1?"service":"services"} with no usage hidden. Add --json to include ${hiddenCount===1?"it":"them"}.`))}function formatRange(from,to){let start=parseDate(from),end=parseDate(to);if(!start||!end)return`${from} to ${to}`;let sameYear=start.year===end.year;return`${start.toFormat(sameYear?"LLL d":"LLL d, yyyy")}\u2013${end.toFormat("LLL d, yyyy")}`}function formatDate(value){return parseDate(value)?.toFormat("LLL d, yyyy")??value}function parseDate(value){let date=DateTime.fromISO(value,{zone:"utc"});return date.isValid?date:null}function outputAggregated({data,startTime}){let{print,log}=output_manager_default;if(outputUsageHeader(data,"Usage",elapsed(Date.now()-startTime)),data.creditBalance){log(import_chalk2.default.bold("Current credit balance")),data.creditBalance.cadence&&log(` ${import_chalk2.default.gray("Cadence")} ${formatCadence(data.creditBalance.cadence)}`),log(` ${import_chalk2.default.gray("Used")} ${formatCredit(data.creditBalance.used,data.creditBalance.currency)} of ${formatCredit(data.creditBalance.allocated,data.creditBalance.currency)}`),log(` ${import_chalk2.default.gray("Remaining")} ${formatCredit(data.creditBalance.remaining,data.creditBalance.currency)}`);let progress=data.creditBalance.allocated>0?data.creditBalance.used/data.creditBalance.allocated*100:0;log(` ${import_chalk2.default.gray("Progress")} ${Math.round(progress)}%`),log("")}let allServices=[...data.services.entries()],sortedServices=visibleServices(data.services).sort((a,b)=>b[1].cost-a[1].cost);if(sortedServices.length===0){log("No usage data found for this period."),outputHiddenServicesHint(allServices.length);return}let usage2=sortedServices.filter(([,service])=>service.category==="usage"),subscriptions=sortedServices.filter(([,service])=>service.category==="subscription");usage2.length>0&&(log(import_chalk2.default.bold("Infrastructure")),printTable(print,usage2,"Infrastructure subtotal",data.costUnit),log("")),subscriptions.length>0&&(log(import_chalk2.default.bold("Subscription licenses")),printTable(print,subscriptions,"Subscriptions subtotal",data.costUnit),log("")),printCostSummary(print,usage2,subscriptions,data.costUnit),outputHiddenServicesHint(allServices.length-sortedServices.length)}function formatCadence(cadence){return cadence.split("_").map(word=>word[0].toUpperCase()+word.slice(1)).join(" ")}function formatCredit(amount,currency){return formatUsageAmount(amount,currency)}function printCostSummary(print,usage2,subscriptions,costUnit){let subscriptionCost=sumCost(subscriptions),infrastructureCost=sumCost(usage2),rows=[["Subscriptions",formatUsageAmount(subscriptionCost,costUnit)],["Infrastructure usage",formatUsageAmount(infrastructureCost,costUnit)],[import_chalk2.default.bold("Estimated total"),import_chalk2.default.bold(formatUsageAmount(subscriptionCost+infrastructureCost,costUnit))]],tablePrint=table(rows,{hsep:4,align:["l","r"]}).replace(/^/gm," ");print(`${tablePrint}
8
+ `)}function sumCost(services){return services.reduce((total,[,service])=>total+service.cost,0)}function printTable(print,services,subtotalLabel,costUnit){let headers=["Service","Usage","Cost"],rows=services.map(([name,service])=>[formatServiceName(name,service),formatUsageQuantity(service.quantity,service.unit,{compact:!0,showSmallValues:service.category==="usage",singularUnit:service.singularUnit,unitKind:service.unitKind}),formatServiceCost(service,costUnit)]),subtotal=services.reduce((total,[,service])=>total+service.cost,0);rows.push([import_chalk2.default.bold(subtotalLabel),"",import_chalk2.default.bold(formatUsageAmount(subtotal,costUnit))]);let tablePrint=table([headers.map(header=>import_chalk2.default.bold(import_chalk2.default.cyan(header))),...rows],{hsep:4,align:["l","l","r"]}).replace(/^/gm," ");print(`
9
+ ${tablePrint}
10
+ `)}var import_chalk3=__toESM(require_source(),1);function getPeriodLabel(period){switch(period){case"daily":return"Daily";case"weekly":return"Weekly";case"monthly":return"Monthly"}}function outputBreakdown({data,breakdownPeriod,startTime}){let{print,log}=output_manager_default,periodLabel=getPeriodLabel(breakdownPeriod);outputUsageHeader(data,`${periodLabel} usage`,elapsed(Date.now()-startTime));let sortedPeriods=[...data.periodUsage.keys()].sort();if(sortedPeriods.length===0){log("No usage data found for this period.");return}let hiddenCount=0;for(let periodKey of sortedPeriods){let periodData=data.periodUsage.get(periodKey),allServices=[...periodData.services.entries()],sortedServices=visibleServices(periodData.services).sort((a,b)=>b[1].cost-a[1].cost);if(hiddenCount+=allServices.length-sortedServices.length,sortedServices.length===0)continue;log(`${import_chalk3.default.bold(import_chalk3.default.cyan(periodKey))} (${formatUsageAmount(periodData.totalCost,data.costUnit)})`);let rows=sortedServices.map(([name,service])=>[formatServiceName(name,service),formatUsageQuantity(service.quantity,service.unit,{compact:!0,showSmallValues:!0,singularUnit:service.singularUnit,unitKind:service.unitKind}),formatServiceCost(service,data.costUnit)]),tablePrint=table([["Service","Usage","Cost"].map(header=>import_chalk3.default.bold(import_chalk3.default.gray(header))),...rows],{hsep:4,align:["l","l","r"]}).replace(/^/gm," ");print(`${tablePrint}
11
+ `)}outputHiddenServicesHint(hiddenCount)}var import_chalk4=__toESM(require_source(),1);function getDimensionLabel(dimension){return dimension==="project"?"Project":"Region"}function outputGroupBy({data,groupByDimension,startTime}){let{print,log}=output_manager_default,dimensionLabel=getDimensionLabel(groupByDimension);outputUsageHeader(data,`Usage by ${dimensionLabel}`,elapsed(Date.now()-startTime));let sortedGroups=[...data.groupByUsage.entries()].sort((a,b)=>b[1].totalCost-a[1].totalCost);if(sortedGroups.length===0){log("No usage data found for this period.");return}let hiddenCount=0;for(let[groupName,groupData]of sortedGroups){let allServices=[...groupData.services.entries()],services=visibleServices(groupData.services).sort((a,b)=>b[1].cost-a[1].cost);if(hiddenCount+=allServices.length-services.length,services.length===0)continue;log(`${import_chalk4.default.bold(import_chalk4.default.cyan(groupName))} (${formatUsageAmount(groupData.totalCost,data.costUnit)})`);let rows=services.map(([name,service])=>[formatServiceName(name,service),formatUsageQuantity(service.quantity,service.unit,{compact:!0,showSmallValues:!0,singularUnit:service.singularUnit,unitKind:service.unitKind}),formatServiceCost(service,data.costUnit)]),tablePrint=table([["Service","Usage","Cost"].map(header=>import_chalk4.default.bold(import_chalk4.default.gray(header))),...rows],{hsep:4,align:["l","l","r"]}).replace(/^/gm," ");print(`${tablePrint}
12
+ `)}log(""),log(`${import_chalk4.default.gray("Estimated total:")} ${import_chalk4.default.bold(formatUsageAmount(data.totalCost,data.costUnit))}`),outputHiddenServicesHint(hiddenCount)}function serializeService(service){return{name:service.name,product:service.product,quantity:service.quantity,unit:service.unit,cost:service.cost,included:service.included,category:service.category}}function outputJson(client,{data,fromDate,toDate,breakdownPeriod,groupByDimension}){let sortedServices=[...data.services.entries()].sort((a,b)=>b[1].cost-a[1].cost),jsonOutput={period:{from:fromDate,to:toDate},context:data.contextName,costUnit:data.costUnit};data.creditBalance&&(jsonOutput.creditBalance=data.creditBalance),breakdownPeriod&&(jsonOutput.breakdown={period:breakdownPeriod,data:[...data.periodUsage.keys()].sort().map(periodKey=>{let period=data.periodUsage.get(periodKey);return{periodKey,services:[...period.services.entries()].sort((a,b)=>b[1].cost-a[1].cost).map(([,service])=>serializeService(service)),totals:{cost:period.totalCost}}})}),groupByDimension&&(jsonOutput.groupBy={dimension:groupByDimension,data:[...data.groupByUsage.entries()].sort((a,b)=>b[1].totalCost-a[1].totalCost).map(([name,group])=>({name,services:[...group.services.entries()].sort((a,b)=>b[1].cost-a[1].cost).map(([,service])=>serializeService(service)),totals:{cost:group.totalCost}}))}),jsonOutput.services=sortedServices.map(([,service])=>serializeService(service)),jsonOutput.totals={cost:data.totalCost},client.stdout.write(`${JSON.stringify(jsonOutput,null,2)}
13
+ `)}var GROSS_COST_METRIC="gross_cost",SUMMARY_VIEW="byProduct",DETAIL_VIEW="byProductRegionProject";function getCostViews(groupByDimension){let views={};return groupByDimension&&(views[DETAIL_VIEW]={groupBy:["product","region","project"]}),views[SUMMARY_VIEW]={groupBy:["product"]},{views,summaryViewName:SUMMARY_VIEW,detailViewName:groupByDimension?DETAIL_VIEW:void 0}}async function usage(client,argv){let{error,debug,spinner,warn}=output_manager_default,flagsSpecification=getFlagsSpecification(usageCommand.options),parsedArgs;try{parsedArgs=parseArguments(argv,flagsSpecification)}catch(err){return printError(err),2}let telemetry=new UsageTelemetryClient({opts:{store:client.telemetryEventStore}}),formatResult=validateJsonOutput(parsedArgs.flags);if(!formatResult.valid)return error(formatResult.error),2;let asJson=formatResult.jsonOutput,fromFlag=parsedArgs.flags["--from"],toFlag=parsedArgs.flags["--to"];if(fromFlag!==void 0&&parsedArgs.flags["--since"]!==void 0)return error("Pass only one of --since or --from. (--from is deprecated.)"),2;if(toFlag!==void 0&&parsedArgs.flags["--until"]!==void 0)return error("Pass only one of --until or --to. (--to is deprecated.)"),2;fromFlag!==void 0&&warn("`--from` is deprecated, please use `--since` instead"),toFlag!==void 0&&warn("`--to` is deprecated, please use `--until` instead");let sinceFlag=parsedArgs.flags["--since"]??fromFlag,untilFlag=parsedArgs.flags["--until"]??toFlag;if(untilFlag&&!sinceFlag)return error("--until requires --since. Omit both to show the current billing cycle."),2;let breakdownFlag=parsedArgs.flags["--breakdown"];if(breakdownFlag&&!isValidBreakdownPeriod(breakdownFlag))return error(`Invalid breakdown period: "${breakdownFlag}". Valid options are: ${VALID_BREAKDOWN_PERIODS.join(", ")}`),2;let breakdownPeriod=breakdownFlag,groupByFlag=parsedArgs.flags["--group-by"];if(groupByFlag&&!isValidGroupByDimension(groupByFlag))return error(`Invalid group-by dimension: "${groupByFlag}". Valid options are: ${VALID_GROUP_BY_DIMENSIONS.join(", ")}`),2;let groupByDimension=groupByFlag;if(breakdownPeriod&&groupByDimension)return error("--breakdown and --group-by cannot be used together. Use one or the other."),2;let sinceDate,untilDate;try{sinceDate=sinceFlag?parseBillingDate(sinceFlag,!1):void 0,untilDate=untilFlag?parseBillingDate(untilFlag,!0):void 0}catch(err){return error(err.message),2}telemetry.trackCliOptionSince(parsedArgs.flags["--since"]),telemetry.trackCliOptionUntil(parsedArgs.flags["--until"]),telemetry.trackCliOptionFrom(fromFlag),telemetry.trackCliOptionTo(toFlag),telemetry.trackCliOptionFormat(parsedArgs.flags["--format"]),telemetry.trackCliFlagJson(parsedArgs.flags["--json"]),telemetry.trackCliOptionBreakdown(breakdownFlag),telemetry.trackCliOptionGroupBy(groupByFlag);let contextName,contextType,teamId,billingPeriod,hasPrecommitment=!1;try{let scope=await getScope(client),owner=scope.team??scope.user;contextName=scope.contextName,contextType=scope.team?"team":"personal account",teamId=scope.team?.id;let billing=owner?.billing;billingPeriod=billing?.subscriptions?.find(subscription=>subscription.frequency.interval==="month"&&subscription.frequency.intervalCount===1)?.period??billing?.period,hasPrecommitment=billing?.plan==="enterprise"||billing?.planIteration==="plus"||billing?.plan==="pro"&&billing?.planIteration==="flex"}catch(err){if((0,import_error_utils.isErrnoException)(err)&&(err.code==="NOT_AUTHORIZED"||err.code==="TEAM_DELETED"))return error(err.message),1;throw err}let usingDefaults=!sinceFlag,fromDate=sinceDate??(billingPeriod?new Date(billingPeriod.start).toISOString():getDefaultFromDate()),toDate=untilDate??(sinceFlag?new Date().toISOString():billingPeriod?new Date(billingPeriod.end).toISOString():getDefaultToDate()),fromDisplay=sinceFlag&&!isRelativeTime(sinceFlag)?sinceFlag:extractDatePortion(fromDate),toDisplay=untilFlag&&!isRelativeTime(untilFlag)?untilFlag:extractDatePortion(toDate);debug(`Fetching dashboard usage from ${fromDate} to ${toDate}`);let start=Date.now();asJson||spinner(`Fetching usage data for ${import_chalk5.default.bold(contextName)}`);try{let query=new URLSearchParams;teamId&&query.set("teamId",teamId);let viewPlan=getCostViews(groupByDimension),queryString=query.toString(),costsRequest=client.fetch(`/v2/billing/costs${queryString?`?${queryString}`:""}`,{method:"POST",body:{from:fromDate,to:toDate,metrics:[GROSS_COST_METRIC,"quantity"],format:"timeseries",views:viewPlan.views,userAgent:"vercel-cli.usage"},useCurrentTeam:!1}),commitmentRequest=usingDefaults&&teamId&&hasPrecommitment?client.fetch(`/v1/invoices/pre-commitment-usage?teamId=${encodeURIComponent(teamId)}`,{useCurrentTeam:!1}).catch(err=>(debug(`Unable to fetch infrastructure credit: ${String(err)}`),null)):Promise.resolve(null),[response,commitmentUsage]=await Promise.all([costsRequest,commitmentRequest]),usageData=processCosts(response,{summaryView:response.results.views[viewPlan.summaryViewName],detailView:viewPlan.detailViewName?response.results.views[viewPlan.detailViewName]:void 0,contextName,contextType,scope:parsedArgs.flags["--scope"],fromDisplay,toDisplay,usingDefaults,breakdownPeriod,groupByDimension});return attachCredit(usageData,commitmentUsage),asJson?(outputJson(client,{data:usageData,fromDate,toDate,breakdownPeriod,groupByDimension}),0):(groupByDimension?outputGroupBy({data:usageData,groupByDimension,startTime:start}):breakdownPeriod?outputBreakdown({data:usageData,breakdownPeriod,startTime:start}):outputAggregated({data:usageData,startTime:start}),0)}catch(err){return isAPIError(err)&&err.status===404&&err.code==="costs_not_found"?error(`Billing cost data is unavailable for ${fromDisplay} through ${toDisplay}. This does not mean usage was zero. It usually means the team has no active subscription for that range, or the range is before the team's billing data starts. Check that the selected team and date range are correct.`):output_manager_default.prettyError(err),1}}function roundToHundredths(value){return Math.round((value+Number.EPSILON)*100)/100}function getUsageThrough(queriedAt,toDisplay){let queriedDate=extractDatePortion(queriedAt);return queriedDate<toDisplay?queriedDate:toDisplay}function attachCredit(usageData,commitmentUsage){if(!commitmentUsage)return;let creditLedger=commitmentUsage.creditLedgers.find(ledger=>ledger.currency===usageData.costUnit);if(!creditLedger)return;let used=roundToHundredths(creditLedger.total-creditLedger.remaining);usageData.creditBalance={cadence:commitmentUsage.cadence,currency:creditLedger.currency,allocated:creditLedger.total,used,remaining:creditLedger.remaining}}function processCosts(response,options){let{summaryView,detailView,contextName,contextType,scope,fromDisplay,toDisplay,usingDefaults,breakdownPeriod,groupByDimension}=options;if(!summaryView)throw new Error("The billing API did not return the requested usage summary.");let costUnit=getCostUnit(response);if(response.availableCurrencies?.some(currency=>currency!==costUnit))throw new Error("Can't show complete costs for this date range because some costs use a different billing currency. Choose a date range within the current billing currency or view usage in the dashboard.");let products=response.results.dimensionsMeta.product?.values??{},projects=response.results.dimensionsMeta.project?.values??{},regions=response.results.dimensionsMeta.region?.values??{};if(groupByDimension&&(!detailView||!detailView.groupBy.includes(groupByDimension)))throw new Error(`Usage cannot be grouped by ${groupByDimension} for this team.`);let services=new Map,periodUsage=new Map,groupByUsage=new Map,totalCost=0;for(let result of summaryView?.results??[]){let product=result.dimensionValues.product;if(!product)continue;let productMetadata=products[product],serviceName=productMetadata?.title??product,aggregation=aggregateResult(result,product,serviceName,response.metrics,void 0,productMetadata?.category==="Subscription Licenses");if(addService(services,serviceName,aggregation),totalCost+=aggregation.cost,breakdownPeriod)for(let index=0;index<response.results.times.length;index++){let periodKey=getPeriodKey(response.results.times[index],breakdownPeriod),period=periodUsage.get(periodKey)??emptyAggregation(),sample=aggregateResult(result,product,serviceName,response.metrics,index,productMetadata?.category==="Subscription Licenses");addService(period.services,serviceName,sample),period.totalCost+=sample.cost,periodUsage.set(periodKey,period)}}if(groupByDimension)for(let result of detailView?.results??[]){let product=result.dimensionValues.product;if(!product)continue;let productMetadata=products[product],serviceName=productMetadata?.title??product,aggregation=aggregateResult(result,product,serviceName,response.metrics,void 0,productMetadata?.category==="Subscription Licenses"),id=result.dimensionValues[groupByDimension],groupName=id?(groupByDimension==="project"?projects:regions)[id]?.title??id:groupByDimension==="project"?"(unattributed)":"(global)",group=groupByUsage.get(groupName)??emptyAggregation();addService(group.services,serviceName,aggregation),group.totalCost+=aggregation.cost,groupByUsage.set(groupName,group)}return{contextName,contextType,scope,fromDisplay,toDisplay,usageThrough:getUsageThrough(response.queriedAt,toDisplay),usingDefaults,costUnit,services,periodUsage,groupByUsage,totalCost}}function getCostUnit(response){let unit=response.metrics.find(metric=>metric.slug===GROSS_COST_METRIC)?.unit;return unit?.singular==="MIU"||unit?.plural==="MIUs"?"managed_infrastructure_units":"USD"}function aggregateResult(result,product,name,metrics,sampleIndex,isSubscription=!1){let grossCostIndex=result.metrics.indexOf(GROSS_COST_METRIC),quantityIndex=result.metrics.findIndex(metric=>metric!==GROSS_COST_METRIC),quantityMetric=metrics.find(metric=>metric.slug===result.metrics[quantityIndex]),values=sampleIndex===void 0?result.totalValue:result.values[sampleIndex]??[],cost=grossCostIndex===-1?0:values[grossCostIndex]??0,included=result.flatRate===!0,rawQuantity=quantityIndex===-1?0:values[quantityIndex]??0,quantity=isSubscription&&sampleIndex===void 0&&quantityIndex!==-1?result.values.reduce((maximum,sample)=>Math.max(maximum,sample[quantityIndex]??0),0):rawQuantity,units=getQuantityUnits(quantityMetric,product,isSubscription);return{name,product,quantity,...units,cost,included,category:isSubscription?"subscription":"usage"}}function getQuantityUnits(metric,product,isSubscription){if(isSubscription)return{unit:"licenses",singularUnit:"license"};if(!metric?.unit)return{};if(metric.unit.kind==="custom"){let singularUnit=metric.unit.singular,unit2=metric.unit.plural??singularUnit;return!unit2||singularUnit===metric.title||unit2===metric.title?{}:{unit:unit2,singularUnit}}if(metric.unit.kind==="digitalStorage"&&metric.unit.name)return{unit:metric.unit.name,unitKind:metric.unit.kind};let unit=metric.unit.name;return!unit||unit===metric.title||unit===product?{}:{unit,unitKind:metric.unit.kind}}function addService(services,name,value){let key=JSON.stringify([value.product,value.included]),existing=services.get(key);if(!existing){services.set(key,{...value,name});return}let previousQuantity=existing.quantity;existing.quantity=existing.category==="subscription"?Math.max(previousQuantity,value.quantity):previousQuantity+value.quantity,existing.cost+=value.cost}function emptyAggregation(){return{services:new Map,totalCost:0}}export{usage as default};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __createRequire } from 'node:module';
2
+ import { fileURLToPath as __fileURLToPath } from 'node:url';
3
+ import { dirname as __dirname_ } from 'node:path';
4
+ const require = __createRequire(import.meta.url);
5
+ const __filename = __fileURLToPath(import.meta.url);
6
+ const __dirname = __dirname_(__filename);
7
+ import{buildVercelConfigSchema,validateConfig}from"./chunk-EM3U6PRB.js";import"./chunk-66TKNVRG.js";import"./chunk-REJLEESP.js";import"./chunk-ZKNEIE44.js";import"./chunk-AW33SRYY.js";import"./chunk-5MDNVAE6.js";import"./chunk-OCR5CRTH.js";import"./chunk-7EJQLVWX.js";import"./chunk-SCV7XEEO.js";import"./chunk-MCYG7CCE.js";import"./chunk-BZENIQ7N.js";export{buildVercelConfigSchema,validateConfig};