@powerhousedao/connect 1.0.0-dev.202 → 1.0.0-dev.204

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 (640) hide show
  1. package/dist/.env +9 -0
  2. package/dist/assets/ArrowFilledRight-DR0hNbwn.js +7 -0
  3. package/dist/assets/ArrowLeft-B0Xj8PvP.js +15 -0
  4. package/dist/assets/ArrowUp-CwtCJqy6.js +7 -0
  5. package/dist/assets/BarChart-nVfxphhs.js +7 -0
  6. package/dist/assets/BaseArrowLeft-C8cn--_E.js +7 -0
  7. package/dist/assets/BaseArrowRight-D3q0C2-y.js +7 -0
  8. package/dist/assets/{Braces-3LcexUsR.js.map → Braces-B9gXulWt.js} +17 -1
  9. package/dist/assets/Branch-DWau4RYZ.js +7 -0
  10. package/dist/assets/BrickGlobe-Dz0dBSi2.js +7 -0
  11. package/dist/assets/Briefcase-CvO1rhlH.js +7 -0
  12. package/dist/assets/Calendar-BUcLO8hE.js +7 -0
  13. package/dist/assets/CalendarTime-DPWILM_L.js +27 -0
  14. package/dist/assets/Caret-DhnOHiAk.js +7 -0
  15. package/dist/assets/CaretDown-Dlfvehxg.js +14 -0
  16. package/dist/assets/CaretLeft-a4NLMV88.js +27 -0
  17. package/dist/assets/CaretRight-B5YZKpzX.js +27 -0
  18. package/dist/assets/CaretSort-Ct9KtNAH.js +14 -0
  19. package/dist/assets/Check-DFFCZvyb.js +7 -0
  20. package/dist/assets/CheckCircle-D0cadyWB.js +23 -0
  21. package/dist/assets/CheckCircleFill-D9omvoi2.js +7 -0
  22. package/dist/assets/Checkmark-B9Fhan_U.js +14 -0
  23. package/dist/assets/ChevronDown-C2q5ewWu.js +15 -0
  24. package/dist/assets/Circle-DvbXQBRR.js +7 -0
  25. package/dist/assets/CircleInfo-B-ZX0ilU.js +40 -0
  26. package/dist/assets/Clock-DZfefmeN.js +26 -0
  27. package/dist/assets/ClockFill-CABo21fb.js +7 -0
  28. package/dist/assets/CloudSlash-CMWY3Yiz.js +7 -0
  29. package/dist/assets/Collapse-B6so4C4x.js +7 -0
  30. package/dist/assets/Connect-BwTXbdDU.js +16 -0
  31. package/dist/assets/ConnectSmall-QnqlDdXI.js +24 -0
  32. package/dist/assets/Copy-B6zR-spv.js +14 -0
  33. package/dist/assets/Created-DFpCpnA0.js +30 -0
  34. package/dist/assets/CrossCircle-CqWwlop8.js +27 -0
  35. package/dist/assets/Danger-pz0IZ9ht.js +18 -0
  36. package/dist/assets/Discord-BBOYl-Cv.js +31 -0
  37. package/dist/assets/Drive-U3vNMpII.js +7 -0
  38. package/dist/assets/Duplicated-8BQyTQTq.js +39 -0
  39. package/dist/assets/Edit-Csq3Kjo4.js +17 -0
  40. package/dist/assets/Ellipsis-9SpKcRLu.js +7 -0
  41. package/dist/assets/Error-Aw8n4vvA.js +7 -0
  42. package/dist/assets/Exclamation-BrTZuGoh.js +10 -0
  43. package/dist/assets/File-CZLnU7sR.js +24 -0
  44. package/dist/assets/FilesEarmark-BFvgl_Tg.js +7 -0
  45. package/dist/assets/FolderClose-CKAhNitU.js +13 -0
  46. package/dist/assets/FolderOpen-BeUyXyGp.js +7 -0
  47. package/dist/assets/FolderPlus-vsjvCtD1.js +7 -0
  48. package/dist/assets/Forum-D9m-5WTT.js +22 -0
  49. package/dist/assets/Gear-yPrII5SD.js +7 -0
  50. package/dist/assets/Github-CD-46ylo.js +24 -0
  51. package/dist/assets/Globe-31ZjNNZd.js +7 -0
  52. package/dist/assets/GlobeWww-NUl-mssK.js +22 -0
  53. package/dist/assets/Hdd-iEstELlC.js +7 -0
  54. package/dist/assets/History-Bqbk20Zf.js +7 -0
  55. package/dist/assets/InfoSquare-PvIdwYp_.js +7 -0
  56. package/dist/assets/Link-CkpgSxML.js +14 -0
  57. package/dist/assets/Linkedin-CwtjXXnu.js +22 -0
  58. package/dist/assets/Lock-iwF_5hIn.js +7 -0
  59. package/dist/assets/M-JPfHvUlx.js +22 -0
  60. package/dist/assets/Modified-DJa3zTii.js +29 -0
  61. package/dist/assets/Moved-Bj3ueg6N.js +42 -0
  62. package/dist/assets/PackageManager-ByYYO-CH.js +17 -0
  63. package/dist/assets/Pencil-B5DNXkv2.js +7 -0
  64. package/dist/assets/People-DWpcpRpZ.js +7 -0
  65. package/dist/assets/PeopleFill-BxcdOZRn.js +23 -0
  66. package/dist/assets/Person-Dd4QCiac.js +7 -0
  67. package/dist/assets/Pin-DSN6BBS6.js +24 -0
  68. package/dist/assets/PinFilled-Du7ciT8p.js +35 -0
  69. package/dist/assets/Plus-dRXu8yLK.js +7 -0
  70. package/dist/assets/PlusCircle-kj00UDxx.js +7 -0
  71. package/dist/assets/PlusSquare-CASzVJ_x.js +24 -0
  72. package/dist/assets/PowerhouseLogoSmall-C7rkb4Ku.js +14 -0
  73. package/dist/assets/Project-BLYGn5jD.js +7 -0
  74. package/dist/assets/QuestionSquare-hGUPKN7o.js +17 -0
  75. package/dist/assets/RedoArrow-C1UsCGGt.js +7 -0
  76. package/dist/assets/Reload-Clzg07Z8.js +14 -0
  77. package/dist/assets/Removed-BdJpuaHB.js +29 -0
  78. package/dist/assets/Renown-BQJirg5w.js +15 -0
  79. package/dist/assets/RenownHover-CIsVCjKE.js +21 -0
  80. package/dist/assets/Ring-BnzZk41B.js +7 -0
  81. package/dist/assets/Save-DB-qMoQ6.js +7 -0
  82. package/dist/assets/Search-C4fgASd0.js +7 -0
  83. package/dist/assets/Server-DdLkUTUf.js +7 -0
  84. package/dist/assets/{Settings-Cca-sV-_.js.map → Settings-XVLcCNRw.js} +24 -1
  85. package/dist/assets/Synced-Dp7j8Wr1.js +7 -0
  86. package/dist/assets/Syncing-B3eGgW4P.js +7 -0
  87. package/dist/assets/Tabler-Dv8tnKMX.js +39 -0
  88. package/dist/assets/Trash-GSQzjB0i.js +7 -0
  89. package/dist/assets/TrashFill-D7pcPl3s.js +7 -0
  90. package/dist/assets/TreeViewSlash-vQKVapHr.js +43 -0
  91. package/dist/assets/TriangleDown-eodKDfJJ.js +25 -0
  92. package/dist/assets/VariantArrowLeft-DMEp2hza.js +7 -0
  93. package/dist/assets/VerticalDots-BKEnBm9D.js +7 -0
  94. package/dist/assets/WarningFill-CDTwbvyA.js +7 -0
  95. package/dist/assets/XTwitter-BT5khtsS.js +22 -0
  96. package/dist/assets/Xmark-D0fieu2C.js +14 -0
  97. package/dist/assets/XmarkLight-XhDqUkWV.js +7 -0
  98. package/dist/assets/Youtube-CN2M5XHi.js +24 -0
  99. package/dist/assets/app-CUCqMKzi.js +80369 -0
  100. package/dist/assets/app-loader-CPs1vSZX.js +2850 -0
  101. package/dist/assets/app-loader-DDJF7XJ1.css +1247 -0
  102. package/dist/assets/browser-CxyZrEOK.js +19711 -0
  103. package/dist/assets/browser-DZJ42QJ_.js +69 -0
  104. package/dist/assets/ccip-Cu4eABPH.js +167 -0
  105. package/dist/assets/content-Dl9R4PbF.js +7616 -0
  106. package/dist/assets/getEnsName-DWivtwb7.js +3716 -0
  107. package/dist/assets/index-DTaLzqPB.js +48824 -0
  108. package/dist/assets/index-DwVIKIra.js +12 -0
  109. package/dist/assets/index-NQYDKBPt.js +2323 -0
  110. package/dist/assets/isAddressEqual-Bdoyz5QE.js +11 -0
  111. package/dist/assets/main.gOLEbBZ8.js +105 -0
  112. package/dist/assets/react-error-boundary.esm-C_c9J3CB.js +927 -0
  113. package/dist/assets/root-8D1QJbsn.js +788 -0
  114. package/dist/assets/router-DfLA9Erc.js +539 -0
  115. package/dist/hmr.js +8 -0
  116. package/dist/index.html +44 -5
  117. package/dist/modules/@powerhousedao/reactor-browser/chunk-2DNQ5HGB.js +18 -0
  118. package/dist/modules/@powerhousedao/reactor-browser/chunk-2DNQ5HGB.js.map +7 -0
  119. package/dist/modules/@powerhousedao/reactor-browser/chunk-3HAUJUGM.js +14075 -0
  120. package/dist/modules/@powerhousedao/reactor-browser/chunk-3HAUJUGM.js.map +7 -0
  121. package/dist/modules/@powerhousedao/reactor-browser/chunk-4KT7S3FS.js +2405 -0
  122. package/dist/modules/@powerhousedao/reactor-browser/chunk-4KT7S3FS.js.map +7 -0
  123. package/dist/modules/@powerhousedao/reactor-browser/chunk-5Q3OAWSW.js +64 -0
  124. package/dist/modules/@powerhousedao/reactor-browser/chunk-5Q3OAWSW.js.map +7 -0
  125. package/dist/modules/@powerhousedao/reactor-browser/chunk-6F57YDMX.js +179 -0
  126. package/dist/modules/@powerhousedao/reactor-browser/chunk-6F57YDMX.js.map +7 -0
  127. package/dist/modules/@powerhousedao/reactor-browser/chunk-6MC6YR4B.js +1 -0
  128. package/dist/modules/@powerhousedao/reactor-browser/chunk-6MC6YR4B.js.map +7 -0
  129. package/dist/modules/@powerhousedao/reactor-browser/chunk-6UJ4SY5D.js +45 -0
  130. package/dist/modules/@powerhousedao/reactor-browser/chunk-6UJ4SY5D.js.map +7 -0
  131. package/dist/modules/@powerhousedao/reactor-browser/chunk-76N27672.js +1 -0
  132. package/dist/modules/@powerhousedao/reactor-browser/chunk-76N27672.js.map +7 -0
  133. package/dist/modules/@powerhousedao/reactor-browser/chunk-7AJIWSJK.js +83 -0
  134. package/dist/modules/@powerhousedao/reactor-browser/chunk-7AJIWSJK.js.map +7 -0
  135. package/dist/modules/@powerhousedao/reactor-browser/chunk-BGYB4KKP.js +1 -0
  136. package/dist/modules/@powerhousedao/reactor-browser/chunk-BGYB4KKP.js.map +7 -0
  137. package/dist/modules/@powerhousedao/reactor-browser/chunk-C42IHLVY.js +49 -0
  138. package/dist/modules/@powerhousedao/reactor-browser/chunk-C42IHLVY.js.map +7 -0
  139. package/dist/modules/@powerhousedao/reactor-browser/chunk-DVMSG5VM.js +12 -0
  140. package/dist/modules/@powerhousedao/reactor-browser/chunk-DVMSG5VM.js.map +7 -0
  141. package/dist/modules/@powerhousedao/reactor-browser/chunk-GLZ3ZPQT.js +1 -0
  142. package/dist/modules/@powerhousedao/reactor-browser/chunk-GLZ3ZPQT.js.map +7 -0
  143. package/dist/modules/@powerhousedao/reactor-browser/chunk-GWYLZGKO.js +53 -0
  144. package/dist/modules/@powerhousedao/reactor-browser/chunk-GWYLZGKO.js.map +7 -0
  145. package/dist/modules/@powerhousedao/reactor-browser/chunk-HLXGMOSE.js +114 -0
  146. package/dist/modules/@powerhousedao/reactor-browser/chunk-HLXGMOSE.js.map +7 -0
  147. package/dist/modules/@powerhousedao/reactor-browser/chunk-K5KDABES.js +1 -0
  148. package/dist/modules/@powerhousedao/reactor-browser/chunk-K5KDABES.js.map +7 -0
  149. package/dist/modules/@powerhousedao/reactor-browser/chunk-LEVFKHRO.js +44 -0
  150. package/dist/modules/@powerhousedao/reactor-browser/chunk-LEVFKHRO.js.map +7 -0
  151. package/dist/modules/@powerhousedao/reactor-browser/chunk-OXJ2U3HA.js +11900 -0
  152. package/dist/modules/@powerhousedao/reactor-browser/chunk-OXJ2U3HA.js.map +7 -0
  153. package/dist/modules/@powerhousedao/reactor-browser/chunk-PLDDJCW6.js +49 -0
  154. package/dist/modules/@powerhousedao/reactor-browser/chunk-PLDDJCW6.js.map +7 -0
  155. package/dist/modules/@powerhousedao/reactor-browser/chunk-PRKHJCY6.js +51 -0
  156. package/dist/modules/@powerhousedao/reactor-browser/chunk-PRKHJCY6.js.map +7 -0
  157. package/dist/modules/@powerhousedao/reactor-browser/chunk-SDNEXZQH.js +2543 -0
  158. package/dist/modules/@powerhousedao/reactor-browser/chunk-SDNEXZQH.js.map +7 -0
  159. package/dist/modules/@powerhousedao/reactor-browser/chunk-SQMQ6KEB.js +163 -0
  160. package/dist/modules/@powerhousedao/reactor-browser/chunk-SQMQ6KEB.js.map +7 -0
  161. package/dist/modules/@powerhousedao/reactor-browser/chunk-ULBB7S2G.js +46 -0
  162. package/dist/modules/@powerhousedao/reactor-browser/chunk-ULBB7S2G.js.map +7 -0
  163. package/dist/modules/@powerhousedao/reactor-browser/chunk-UVZMZ4MR.js +37 -0
  164. package/dist/modules/@powerhousedao/reactor-browser/chunk-UVZMZ4MR.js.map +7 -0
  165. package/dist/modules/@powerhousedao/reactor-browser/chunk-VNJW3K7R.js +251 -0
  166. package/dist/modules/@powerhousedao/reactor-browser/chunk-VNJW3K7R.js.map +7 -0
  167. package/dist/modules/@powerhousedao/reactor-browser/chunk-VO6HAEED.js +15 -0
  168. package/dist/modules/@powerhousedao/reactor-browser/chunk-VO6HAEED.js.map +7 -0
  169. package/dist/modules/@powerhousedao/reactor-browser/chunk-WARL4IRP.js +13 -0
  170. package/dist/modules/@powerhousedao/reactor-browser/chunk-WARL4IRP.js.map +7 -0
  171. package/dist/modules/@powerhousedao/reactor-browser/chunk-YAO66KBZ.js +746 -0
  172. package/dist/modules/@powerhousedao/reactor-browser/chunk-YAO66KBZ.js.map +7 -0
  173. package/dist/modules/@powerhousedao/reactor-browser/context/index.js +17 -0
  174. package/dist/modules/@powerhousedao/reactor-browser/context/index.js.map +7 -0
  175. package/dist/modules/@powerhousedao/reactor-browser/context/read-mode.js +16 -0
  176. package/dist/modules/@powerhousedao/reactor-browser/context/read-mode.js.map +7 -0
  177. package/dist/modules/@powerhousedao/reactor-browser/crypto/browser.js +8 -0
  178. package/dist/modules/@powerhousedao/reactor-browser/crypto/browser.js.map +7 -0
  179. package/dist/modules/@powerhousedao/reactor-browser/crypto/index.js +8 -0
  180. package/dist/modules/@powerhousedao/reactor-browser/crypto/index.js.map +7 -0
  181. package/dist/modules/@powerhousedao/reactor-browser/document-model.js +11 -0
  182. package/dist/modules/@powerhousedao/reactor-browser/document-model.js.map +7 -0
  183. package/dist/modules/@powerhousedao/reactor-browser/hooks/index.js +97 -0
  184. package/dist/modules/@powerhousedao/reactor-browser/hooks/index.js.map +7 -0
  185. package/dist/modules/@powerhousedao/reactor-browser/hooks/useAddDebouncedOperations.js +12 -0
  186. package/dist/modules/@powerhousedao/reactor-browser/hooks/useAddDebouncedOperations.js.map +7 -0
  187. package/dist/modules/@powerhousedao/reactor-browser/hooks/useConnectCrypto.js +13 -0
  188. package/dist/modules/@powerhousedao/reactor-browser/hooks/useConnectCrypto.js.map +7 -0
  189. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocument.js +8 -0
  190. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocument.js.map +7 -0
  191. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentDispatch.js +8 -0
  192. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentDispatch.js.map +7 -0
  193. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentDrives.js +14 -0
  194. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentDrives.js.map +7 -0
  195. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentEditor.js +19 -0
  196. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentEditor.js.map +7 -0
  197. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveActions.js +10 -0
  198. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveActions.js.map +7 -0
  199. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveActionsWithUiNodes.js +15 -0
  200. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveActionsWithUiNodes.js.map +7 -0
  201. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveContext.js +10 -0
  202. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveContext.js.map +7 -0
  203. package/dist/modules/@powerhousedao/reactor-browser/hooks/useUiNodesContext.js +47 -0
  204. package/dist/modules/@powerhousedao/reactor-browser/hooks/useUiNodesContext.js.map +7 -0
  205. package/dist/modules/@powerhousedao/reactor-browser/hooks/useUserPermissions.js +8 -0
  206. package/dist/modules/@powerhousedao/reactor-browser/hooks/useUserPermissions.js.map +7 -0
  207. package/dist/modules/@powerhousedao/reactor-browser/index.js +119 -0
  208. package/dist/modules/@powerhousedao/reactor-browser/index.js.map +7 -0
  209. package/dist/modules/@powerhousedao/reactor-browser/reactor.js +12 -0
  210. package/dist/modules/@powerhousedao/reactor-browser/reactor.js.map +7 -0
  211. package/dist/modules/@powerhousedao/reactor-browser/renown/constants.js +54 -0
  212. package/dist/modules/@powerhousedao/reactor-browser/renown/constants.js.map +7 -0
  213. package/dist/modules/@powerhousedao/reactor-browser/renown/types.js +1 -0
  214. package/dist/modules/@powerhousedao/reactor-browser/renown/types.js.map +7 -0
  215. package/dist/modules/@powerhousedao/reactor-browser/storage/index.js +2 -0
  216. package/dist/modules/@powerhousedao/reactor-browser/storage/index.js.map +7 -0
  217. package/dist/modules/@powerhousedao/reactor-browser/storage/types.js +2 -0
  218. package/dist/modules/@powerhousedao/reactor-browser/storage/types.js.map +7 -0
  219. package/dist/modules/@powerhousedao/reactor-browser/uiNodes/constants.js +38 -0
  220. package/dist/modules/@powerhousedao/reactor-browser/uiNodes/constants.js.map +7 -0
  221. package/dist/modules/@powerhousedao/reactor-browser/uiNodes/types.js +2 -0
  222. package/dist/modules/@powerhousedao/reactor-browser/uiNodes/types.js.map +7 -0
  223. package/dist/modules/@powerhousedao/reactor-browser/utils/index.js +10 -0
  224. package/dist/modules/@powerhousedao/reactor-browser/utils/index.js.map +7 -0
  225. package/dist/modules/@powerhousedao/reactor-browser/utils/signature.js +11 -0
  226. package/dist/modules/@powerhousedao/reactor-browser/utils/signature.js.map +7 -0
  227. package/dist/service-worker.js +46 -2
  228. package/dist/swEnv.js +7 -4
  229. package/dist/vite-envs.sh +50 -11
  230. package/package.json +24 -29
  231. package/dist/assets/ArrowFilledRight-BXP1j8Cl.js +0 -2
  232. package/dist/assets/ArrowFilledRight-BXP1j8Cl.js.map +0 -1
  233. package/dist/assets/ArrowFilledRight-blx8xu7X-D3d8PUWh.js +0 -2
  234. package/dist/assets/ArrowFilledRight-blx8xu7X-D3d8PUWh.js.map +0 -1
  235. package/dist/assets/ArrowLeft-7pYNK4eX-8ZR_YHAJ.js +0 -2
  236. package/dist/assets/ArrowLeft-7pYNK4eX-8ZR_YHAJ.js.map +0 -1
  237. package/dist/assets/ArrowLeft-8ZR_YHAJ.js +0 -2
  238. package/dist/assets/ArrowLeft-8ZR_YHAJ.js.map +0 -1
  239. package/dist/assets/ArrowUp-Bbr_dwo_-C5ppCQo4.js +0 -2
  240. package/dist/assets/ArrowUp-Bbr_dwo_-C5ppCQo4.js.map +0 -1
  241. package/dist/assets/ArrowUp-E2jS6Wzt.js +0 -2
  242. package/dist/assets/ArrowUp-E2jS6Wzt.js.map +0 -1
  243. package/dist/assets/BarChart-B0G05Nfd-CHDJ7OaJ.js +0 -2
  244. package/dist/assets/BarChart-B0G05Nfd-CHDJ7OaJ.js.map +0 -1
  245. package/dist/assets/BarChart-C-E6t7dt.js +0 -2
  246. package/dist/assets/BarChart-C-E6t7dt.js.map +0 -1
  247. package/dist/assets/BaseArrowLeft-DBzhFHMt-Dkbf2sWs.js +0 -2
  248. package/dist/assets/BaseArrowLeft-DBzhFHMt-Dkbf2sWs.js.map +0 -1
  249. package/dist/assets/BaseArrowLeft-DtHrkTW4.js +0 -2
  250. package/dist/assets/BaseArrowLeft-DtHrkTW4.js.map +0 -1
  251. package/dist/assets/BaseArrowRight-BIwzFHnh.js +0 -2
  252. package/dist/assets/BaseArrowRight-BIwzFHnh.js.map +0 -1
  253. package/dist/assets/BaseArrowRight-DYQTBWAs-CkkPllYm.js +0 -2
  254. package/dist/assets/BaseArrowRight-DYQTBWAs-CkkPllYm.js.map +0 -1
  255. package/dist/assets/Braces-3LcexUsR.js +0 -2
  256. package/dist/assets/Braces-N-sH2Zyc-3LcexUsR.js +0 -2
  257. package/dist/assets/Braces-N-sH2Zyc-3LcexUsR.js.map +0 -1
  258. package/dist/assets/Branch-CWdBw1_P-CmGdOXsI.js +0 -2
  259. package/dist/assets/Branch-CWdBw1_P-CmGdOXsI.js.map +0 -1
  260. package/dist/assets/Branch-D0CssEh3.js +0 -2
  261. package/dist/assets/Branch-D0CssEh3.js.map +0 -1
  262. package/dist/assets/BrickGlobe-67zaG6_H-DP0By6z_.js +0 -2
  263. package/dist/assets/BrickGlobe-67zaG6_H-DP0By6z_.js.map +0 -1
  264. package/dist/assets/BrickGlobe-CdHw7ZVP.js +0 -2
  265. package/dist/assets/BrickGlobe-CdHw7ZVP.js.map +0 -1
  266. package/dist/assets/Briefcase-CV2bgnSj.js +0 -2
  267. package/dist/assets/Briefcase-CV2bgnSj.js.map +0 -1
  268. package/dist/assets/Briefcase-CedW3KRR-DO5_k15F.js +0 -2
  269. package/dist/assets/Briefcase-CedW3KRR-DO5_k15F.js.map +0 -1
  270. package/dist/assets/Calendar-C-6HV96D-YetudWvP.js +0 -2
  271. package/dist/assets/Calendar-C-6HV96D-YetudWvP.js.map +0 -1
  272. package/dist/assets/Calendar-DuXN-sPt.js +0 -2
  273. package/dist/assets/Calendar-DuXN-sPt.js.map +0 -1
  274. package/dist/assets/CalendarTime-Bhjzlgn_-BVlYgNLL.js +0 -2
  275. package/dist/assets/CalendarTime-Bhjzlgn_-BVlYgNLL.js.map +0 -1
  276. package/dist/assets/CalendarTime-BowYBiVM.js +0 -2
  277. package/dist/assets/CalendarTime-BowYBiVM.js.map +0 -1
  278. package/dist/assets/Caret-Ep0j0fz2-By3ojfim.js +0 -2
  279. package/dist/assets/Caret-Ep0j0fz2-By3ojfim.js.map +0 -1
  280. package/dist/assets/Caret-r16V7Hcs.js +0 -2
  281. package/dist/assets/Caret-r16V7Hcs.js.map +0 -1
  282. package/dist/assets/CaretDown-3X7LFYBf-C43xdKg8.js +0 -2
  283. package/dist/assets/CaretDown-3X7LFYBf-C43xdKg8.js.map +0 -1
  284. package/dist/assets/CaretDown-DljrBfIz.js +0 -2
  285. package/dist/assets/CaretDown-DljrBfIz.js.map +0 -1
  286. package/dist/assets/CaretLeft-B_Lzd_Rn.js +0 -2
  287. package/dist/assets/CaretLeft-B_Lzd_Rn.js.map +0 -1
  288. package/dist/assets/CaretLeft-Df3E-68c-wke5zKLt.js +0 -2
  289. package/dist/assets/CaretLeft-Df3E-68c-wke5zKLt.js.map +0 -1
  290. package/dist/assets/CaretRight-Bbz5nCpg.js +0 -2
  291. package/dist/assets/CaretRight-Bbz5nCpg.js.map +0 -1
  292. package/dist/assets/CaretRight-DSVWUSka-Cx0Mkcqa.js +0 -2
  293. package/dist/assets/CaretRight-DSVWUSka-Cx0Mkcqa.js.map +0 -1
  294. package/dist/assets/CaretSort-BkGdLETT-DVOzEEqR.js +0 -2
  295. package/dist/assets/CaretSort-BkGdLETT-DVOzEEqR.js.map +0 -1
  296. package/dist/assets/CaretSort-DSgBum1h.js +0 -2
  297. package/dist/assets/CaretSort-DSgBum1h.js.map +0 -1
  298. package/dist/assets/Check-CbV9BYHY.js +0 -2
  299. package/dist/assets/Check-CbV9BYHY.js.map +0 -1
  300. package/dist/assets/Check-DV-U4AEq-B582NMZp.js +0 -2
  301. package/dist/assets/Check-DV-U4AEq-B582NMZp.js.map +0 -1
  302. package/dist/assets/CheckCircle-CX2jIKoF.js +0 -2
  303. package/dist/assets/CheckCircle-CX2jIKoF.js.map +0 -1
  304. package/dist/assets/CheckCircle-DI5fEgGd-CVF4LDhR.js +0 -2
  305. package/dist/assets/CheckCircle-DI5fEgGd-CVF4LDhR.js.map +0 -1
  306. package/dist/assets/CheckCircleFill-C-F0v5mB-BSW1YMqM.js +0 -2
  307. package/dist/assets/CheckCircleFill-C-F0v5mB-BSW1YMqM.js.map +0 -1
  308. package/dist/assets/CheckCircleFill-DLK12sW5.js +0 -2
  309. package/dist/assets/CheckCircleFill-DLK12sW5.js.map +0 -1
  310. package/dist/assets/Checkmark-BXnfChpo-CyQitGI2.js +0 -2
  311. package/dist/assets/Checkmark-BXnfChpo-CyQitGI2.js.map +0 -1
  312. package/dist/assets/Checkmark-DBvUEZAd.js +0 -2
  313. package/dist/assets/Checkmark-DBvUEZAd.js.map +0 -1
  314. package/dist/assets/ChevronDown-eUsCPXcB.js +0 -2
  315. package/dist/assets/ChevronDown-eUsCPXcB.js.map +0 -1
  316. package/dist/assets/ChevronDown-ouBxrU-k-eUsCPXcB.js +0 -2
  317. package/dist/assets/ChevronDown-ouBxrU-k-eUsCPXcB.js.map +0 -1
  318. package/dist/assets/Circle-8dOehHQf.js +0 -2
  319. package/dist/assets/Circle-8dOehHQf.js.map +0 -1
  320. package/dist/assets/Circle-n3-Wh4HS-8dOehHQf.js +0 -2
  321. package/dist/assets/Circle-n3-Wh4HS-8dOehHQf.js.map +0 -1
  322. package/dist/assets/CircleInfo-BhZY3C2Q-CZgYK1h2.js +0 -2
  323. package/dist/assets/CircleInfo-BhZY3C2Q-CZgYK1h2.js.map +0 -1
  324. package/dist/assets/CircleInfo-D0ktZDko.js +0 -2
  325. package/dist/assets/CircleInfo-D0ktZDko.js.map +0 -1
  326. package/dist/assets/Clock-CudavWaE.js +0 -2
  327. package/dist/assets/Clock-CudavWaE.js.map +0 -1
  328. package/dist/assets/Clock-DF-XMxha-CudavWaE.js +0 -2
  329. package/dist/assets/Clock-DF-XMxha-CudavWaE.js.map +0 -1
  330. package/dist/assets/ClockFill-Bd0t48q7-CcfHiJtH.js +0 -2
  331. package/dist/assets/ClockFill-Bd0t48q7-CcfHiJtH.js.map +0 -1
  332. package/dist/assets/ClockFill-yWs52y_e.js +0 -2
  333. package/dist/assets/ClockFill-yWs52y_e.js.map +0 -1
  334. package/dist/assets/CloudSlash-B-zJBjaD-CxVyp-Ac.js +0 -2
  335. package/dist/assets/CloudSlash-B-zJBjaD-CxVyp-Ac.js.map +0 -1
  336. package/dist/assets/CloudSlash-D18Hl3VW.js +0 -2
  337. package/dist/assets/CloudSlash-D18Hl3VW.js.map +0 -1
  338. package/dist/assets/Collapse-BOxZH5-e.js +0 -2
  339. package/dist/assets/Collapse-BOxZH5-e.js.map +0 -1
  340. package/dist/assets/Collapse-DRDB8Czs-CGcuZQgy.js +0 -2
  341. package/dist/assets/Collapse-DRDB8Czs-CGcuZQgy.js.map +0 -1
  342. package/dist/assets/Connect-Dme-qfKq-CgniLji8.js +0 -2
  343. package/dist/assets/Connect-Dme-qfKq-CgniLji8.js.map +0 -1
  344. package/dist/assets/Connect-laqJZT3s.js +0 -2
  345. package/dist/assets/Connect-laqJZT3s.js.map +0 -1
  346. package/dist/assets/Copy-CkOtWZ6m.js +0 -2
  347. package/dist/assets/Copy-CkOtWZ6m.js.map +0 -1
  348. package/dist/assets/Copy-ms9-7m7Y-CkOtWZ6m.js +0 -2
  349. package/dist/assets/Copy-ms9-7m7Y-CkOtWZ6m.js.map +0 -1
  350. package/dist/assets/CrossCircle-B6ZawoOx-z5-kkOo3.js +0 -2
  351. package/dist/assets/CrossCircle-B6ZawoOx-z5-kkOo3.js.map +0 -1
  352. package/dist/assets/CrossCircle-Bp9diEe9.js +0 -2
  353. package/dist/assets/CrossCircle-Bp9diEe9.js.map +0 -1
  354. package/dist/assets/Danger-CLu7nxgz.js +0 -2
  355. package/dist/assets/Danger-CLu7nxgz.js.map +0 -1
  356. package/dist/assets/Danger-KM8BZjue-CLu7nxgz.js +0 -2
  357. package/dist/assets/Danger-KM8BZjue-CLu7nxgz.js.map +0 -1
  358. package/dist/assets/Discord-CAS0Cj7s-CcsBWpnf.js +0 -2
  359. package/dist/assets/Discord-CAS0Cj7s-CcsBWpnf.js.map +0 -1
  360. package/dist/assets/Discord-CcPWRT8g.js +0 -2
  361. package/dist/assets/Discord-CcPWRT8g.js.map +0 -1
  362. package/dist/assets/Drive-CzahDx9j.js +0 -2
  363. package/dist/assets/Drive-CzahDx9j.js.map +0 -1
  364. package/dist/assets/Drive-GMcgBcIY-CzahDx9j.js +0 -2
  365. package/dist/assets/Drive-GMcgBcIY-CzahDx9j.js.map +0 -1
  366. package/dist/assets/Edit-D9GlgGu8.js +0 -2
  367. package/dist/assets/Edit-D9GlgGu8.js.map +0 -1
  368. package/dist/assets/Edit-Dr-ZiMSE-D9GlgGu8.js +0 -2
  369. package/dist/assets/Edit-Dr-ZiMSE-D9GlgGu8.js.map +0 -1
  370. package/dist/assets/Ellipsis-DWNUJYUI.js +0 -2
  371. package/dist/assets/Ellipsis-DWNUJYUI.js.map +0 -1
  372. package/dist/assets/Ellipsis-XK8AwMEC-BuVBeYhB.js +0 -2
  373. package/dist/assets/Ellipsis-XK8AwMEC-BuVBeYhB.js.map +0 -1
  374. package/dist/assets/Error-BmIZ2ZUy-CphzuMLn.js +0 -2
  375. package/dist/assets/Error-BmIZ2ZUy-CphzuMLn.js.map +0 -1
  376. package/dist/assets/Error-FBAhqFT5.js +0 -2
  377. package/dist/assets/Error-FBAhqFT5.js.map +0 -1
  378. package/dist/assets/Exclamation-BGFGsVRw.js +0 -2
  379. package/dist/assets/Exclamation-BGFGsVRw.js.map +0 -1
  380. package/dist/assets/Exclamation-CVsNS_QS-DLccamql.js +0 -2
  381. package/dist/assets/Exclamation-CVsNS_QS-DLccamql.js.map +0 -1
  382. package/dist/assets/File-Ba7ClyaL-BU1g1wjO.js +0 -2
  383. package/dist/assets/File-Ba7ClyaL-BU1g1wjO.js.map +0 -1
  384. package/dist/assets/File-DWKl25DR.js +0 -2
  385. package/dist/assets/File-DWKl25DR.js.map +0 -1
  386. package/dist/assets/FilesEarmark-BTL53WSf.js +0 -2
  387. package/dist/assets/FilesEarmark-BTL53WSf.js.map +0 -1
  388. package/dist/assets/FilesEarmark-CyrCQy8E-Bhut4E02.js +0 -2
  389. package/dist/assets/FilesEarmark-CyrCQy8E-Bhut4E02.js.map +0 -1
  390. package/dist/assets/FolderClose-BVMKeKvW.js +0 -2
  391. package/dist/assets/FolderClose-BVMKeKvW.js.map +0 -1
  392. package/dist/assets/FolderClose-DG_qHisc-CH6NoBuu.js +0 -2
  393. package/dist/assets/FolderClose-DG_qHisc-CH6NoBuu.js.map +0 -1
  394. package/dist/assets/FolderOpen-DT55_X9N.js +0 -2
  395. package/dist/assets/FolderOpen-DT55_X9N.js.map +0 -1
  396. package/dist/assets/FolderOpen-kDoWFkJO-Cciutkdg.js +0 -2
  397. package/dist/assets/FolderOpen-kDoWFkJO-Cciutkdg.js.map +0 -1
  398. package/dist/assets/FolderPlus-C2G5PVs-.js +0 -2
  399. package/dist/assets/FolderPlus-C2G5PVs-.js.map +0 -1
  400. package/dist/assets/FolderPlus-CSBSl9lZ-CifD0ek9.js +0 -2
  401. package/dist/assets/FolderPlus-CSBSl9lZ-CifD0ek9.js.map +0 -1
  402. package/dist/assets/Forum-Cfgyizyn.js +0 -2
  403. package/dist/assets/Forum-Cfgyizyn.js.map +0 -1
  404. package/dist/assets/Forum-DZ-CkLFh-BwabccAX.js +0 -2
  405. package/dist/assets/Forum-DZ-CkLFh-BwabccAX.js.map +0 -1
  406. package/dist/assets/Gear-CoQ9O06k.js +0 -2
  407. package/dist/assets/Gear-CoQ9O06k.js.map +0 -1
  408. package/dist/assets/Gear-cUlHJ4q6-B9R2l_9_.js +0 -2
  409. package/dist/assets/Gear-cUlHJ4q6-B9R2l_9_.js.map +0 -1
  410. package/dist/assets/Github-0PLiINY0-CjkZIHCO.js +0 -2
  411. package/dist/assets/Github-0PLiINY0-CjkZIHCO.js.map +0 -1
  412. package/dist/assets/Github-CjkZIHCO.js +0 -2
  413. package/dist/assets/Github-CjkZIHCO.js.map +0 -1
  414. package/dist/assets/Globe-CIYqVkpa-CL530H46.js +0 -2
  415. package/dist/assets/Globe-CIYqVkpa-CL530H46.js.map +0 -1
  416. package/dist/assets/Globe-Dy2otZRk.js +0 -2
  417. package/dist/assets/Globe-Dy2otZRk.js.map +0 -1
  418. package/dist/assets/GlobeWww-Ci7aa5CE.js +0 -2
  419. package/dist/assets/GlobeWww-Ci7aa5CE.js.map +0 -1
  420. package/dist/assets/GlobeWww-DN4yKujh-Ci7aa5CE.js +0 -2
  421. package/dist/assets/GlobeWww-DN4yKujh-Ci7aa5CE.js.map +0 -1
  422. package/dist/assets/Hdd-CP-hFB7d.js +0 -2
  423. package/dist/assets/Hdd-CP-hFB7d.js.map +0 -1
  424. package/dist/assets/Hdd-Dn_LdJIh-CJ6x9Bve.js +0 -2
  425. package/dist/assets/Hdd-Dn_LdJIh-CJ6x9Bve.js.map +0 -1
  426. package/dist/assets/History-BP4SmaS_-P4WBKyqX.js +0 -2
  427. package/dist/assets/History-BP4SmaS_-P4WBKyqX.js.map +0 -1
  428. package/dist/assets/History-CmOiP5qa.js +0 -2
  429. package/dist/assets/History-CmOiP5qa.js.map +0 -1
  430. package/dist/assets/InfoSquare-C98JaLiz-yPcGR71f.js +0 -2
  431. package/dist/assets/InfoSquare-C98JaLiz-yPcGR71f.js.map +0 -1
  432. package/dist/assets/InfoSquare-DbYZrwmg.js +0 -2
  433. package/dist/assets/InfoSquare-DbYZrwmg.js.map +0 -1
  434. package/dist/assets/Link-BF7aZjVu-CXIVQOz6.js +0 -2
  435. package/dist/assets/Link-BF7aZjVu-CXIVQOz6.js.map +0 -1
  436. package/dist/assets/Link-CXIVQOz6.js +0 -2
  437. package/dist/assets/Link-CXIVQOz6.js.map +0 -1
  438. package/dist/assets/Linkedin-DJwIkS6q-Dkb5Tp_Z.js +0 -2
  439. package/dist/assets/Linkedin-DJwIkS6q-Dkb5Tp_Z.js.map +0 -1
  440. package/dist/assets/Linkedin-exhl1yGN.js +0 -2
  441. package/dist/assets/Linkedin-exhl1yGN.js.map +0 -1
  442. package/dist/assets/Lock-DWdDRi_O.js +0 -2
  443. package/dist/assets/Lock-DWdDRi_O.js.map +0 -1
  444. package/dist/assets/Lock-PyaFHdNS-D_qxRTye.js +0 -2
  445. package/dist/assets/Lock-PyaFHdNS-D_qxRTye.js.map +0 -1
  446. package/dist/assets/M-ByQIo8bX.js +0 -2
  447. package/dist/assets/M-ByQIo8bX.js.map +0 -1
  448. package/dist/assets/M-DozhhPMY-DBQw97P_.js +0 -2
  449. package/dist/assets/M-DozhhPMY-DBQw97P_.js.map +0 -1
  450. package/dist/assets/PackageManager-B-MUWliB-bW01ZQSP.js +0 -2
  451. package/dist/assets/PackageManager-B-MUWliB-bW01ZQSP.js.map +0 -1
  452. package/dist/assets/PackageManager-D6Ia8zHs.js +0 -2
  453. package/dist/assets/PackageManager-D6Ia8zHs.js.map +0 -1
  454. package/dist/assets/Pencil-D7lvxXIP-D830iveq.js +0 -2
  455. package/dist/assets/Pencil-D7lvxXIP-D830iveq.js.map +0 -1
  456. package/dist/assets/Pencil-D830iveq.js +0 -2
  457. package/dist/assets/Pencil-D830iveq.js.map +0 -1
  458. package/dist/assets/People-B1tewG8c.js +0 -2
  459. package/dist/assets/People-B1tewG8c.js.map +0 -1
  460. package/dist/assets/People-CUB8LYKf-CyJmMqcw.js +0 -2
  461. package/dist/assets/People-CUB8LYKf-CyJmMqcw.js.map +0 -1
  462. package/dist/assets/PeopleFill-DQQdtDDe.js +0 -2
  463. package/dist/assets/PeopleFill-DQQdtDDe.js.map +0 -1
  464. package/dist/assets/Person-BPRmm67U.js +0 -2
  465. package/dist/assets/Person-BPRmm67U.js.map +0 -1
  466. package/dist/assets/Person-DuL4PQzm-ttQR0nPy.js +0 -2
  467. package/dist/assets/Person-DuL4PQzm-ttQR0nPy.js.map +0 -1
  468. package/dist/assets/Pin-D53eCMAz.js +0 -2
  469. package/dist/assets/Pin-D53eCMAz.js.map +0 -1
  470. package/dist/assets/Pin-DF70btCU-D53eCMAz.js +0 -2
  471. package/dist/assets/Pin-DF70btCU-D53eCMAz.js.map +0 -1
  472. package/dist/assets/PinFilled-CMXfFW67.js +0 -2
  473. package/dist/assets/PinFilled-CMXfFW67.js.map +0 -1
  474. package/dist/assets/PinFilled-vImzS0do-CMXfFW67.js +0 -2
  475. package/dist/assets/PinFilled-vImzS0do-CMXfFW67.js.map +0 -1
  476. package/dist/assets/Plus-DPFWGJM4-BztpK8li.js +0 -2
  477. package/dist/assets/Plus-DPFWGJM4-BztpK8li.js.map +0 -1
  478. package/dist/assets/Plus-XUIm1wNw.js +0 -2
  479. package/dist/assets/Plus-XUIm1wNw.js.map +0 -1
  480. package/dist/assets/PlusCircle-BEnWRjHa-w5zztKGx.js +0 -2
  481. package/dist/assets/PlusCircle-BEnWRjHa-w5zztKGx.js.map +0 -1
  482. package/dist/assets/PlusCircle-D1IRYULb.js +0 -2
  483. package/dist/assets/PlusCircle-D1IRYULb.js.map +0 -1
  484. package/dist/assets/PlusSquare-3oD1-vzk.js +0 -2
  485. package/dist/assets/PlusSquare-3oD1-vzk.js.map +0 -1
  486. package/dist/assets/PlusSquare-CspgRMoS-3oD1-vzk.js +0 -2
  487. package/dist/assets/PlusSquare-CspgRMoS-3oD1-vzk.js.map +0 -1
  488. package/dist/assets/PowerhouseLogoSmall-CmO95IAS-CDGLkst3.js +0 -2
  489. package/dist/assets/PowerhouseLogoSmall-CmO95IAS-CDGLkst3.js.map +0 -1
  490. package/dist/assets/PowerhouseLogoSmall-DF1uUwIC.js +0 -2
  491. package/dist/assets/PowerhouseLogoSmall-DF1uUwIC.js.map +0 -1
  492. package/dist/assets/Project-BlXuclr0-EsBam9d0.js +0 -2
  493. package/dist/assets/Project-BlXuclr0-EsBam9d0.js.map +0 -1
  494. package/dist/assets/Project-EsBam9d0.js +0 -2
  495. package/dist/assets/Project-EsBam9d0.js.map +0 -1
  496. package/dist/assets/QuestionSquare-B6O9Le7r-CDaw1i6L.js +0 -2
  497. package/dist/assets/QuestionSquare-B6O9Le7r-CDaw1i6L.js.map +0 -1
  498. package/dist/assets/QuestionSquare-CDaw1i6L.js +0 -2
  499. package/dist/assets/QuestionSquare-CDaw1i6L.js.map +0 -1
  500. package/dist/assets/RedoArrow-BJeEsiph-BbidqIFP.js +0 -2
  501. package/dist/assets/RedoArrow-BJeEsiph-BbidqIFP.js.map +0 -1
  502. package/dist/assets/RedoArrow-DM-fqhEP.js +0 -2
  503. package/dist/assets/RedoArrow-DM-fqhEP.js.map +0 -1
  504. package/dist/assets/Reload-6C2CYgrl-DPZbA7yl.js +0 -2
  505. package/dist/assets/Reload-6C2CYgrl-DPZbA7yl.js.map +0 -1
  506. package/dist/assets/Reload-DPZbA7yl.js +0 -2
  507. package/dist/assets/Reload-DPZbA7yl.js.map +0 -1
  508. package/dist/assets/Renown-6m7hx37h-CItksi2j.js +0 -2
  509. package/dist/assets/Renown-6m7hx37h-CItksi2j.js.map +0 -1
  510. package/dist/assets/Renown-CItksi2j.js +0 -2
  511. package/dist/assets/Renown-CItksi2j.js.map +0 -1
  512. package/dist/assets/RenownHover-CQ0TZHZv-cYQgnwQW.js +0 -2
  513. package/dist/assets/RenownHover-CQ0TZHZv-cYQgnwQW.js.map +0 -1
  514. package/dist/assets/RenownHover-cYQgnwQW.js +0 -2
  515. package/dist/assets/RenownHover-cYQgnwQW.js.map +0 -1
  516. package/dist/assets/Ring-BivnmVc5.js +0 -2
  517. package/dist/assets/Ring-BivnmVc5.js.map +0 -1
  518. package/dist/assets/Ring-DKv0gnwT-CDHLz87h.js +0 -2
  519. package/dist/assets/Ring-DKv0gnwT-CDHLz87h.js.map +0 -1
  520. package/dist/assets/Save-BBxj68pn-BkUvn89C.js +0 -2
  521. package/dist/assets/Save-BBxj68pn-BkUvn89C.js.map +0 -1
  522. package/dist/assets/Save-BWCZPY82.js +0 -2
  523. package/dist/assets/Save-BWCZPY82.js.map +0 -1
  524. package/dist/assets/Search-BiEcSbcf.js +0 -2
  525. package/dist/assets/Search-BiEcSbcf.js.map +0 -1
  526. package/dist/assets/Search-YUJuRBLe-CecGUkZA.js +0 -2
  527. package/dist/assets/Search-YUJuRBLe-CecGUkZA.js.map +0 -1
  528. package/dist/assets/Server-Bfkkjui1-lBan_3Dm.js +0 -2
  529. package/dist/assets/Server-Bfkkjui1-lBan_3Dm.js.map +0 -1
  530. package/dist/assets/Server-cAzmNxsS.js +0 -2
  531. package/dist/assets/Server-cAzmNxsS.js.map +0 -1
  532. package/dist/assets/Settings-Cca-sV-_.js +0 -2
  533. package/dist/assets/Settings-mbbylBS5-Cca-sV-_.js +0 -2
  534. package/dist/assets/Settings-mbbylBS5-Cca-sV-_.js.map +0 -1
  535. package/dist/assets/Synced-CjieGKOk.js +0 -2
  536. package/dist/assets/Synced-CjieGKOk.js.map +0 -1
  537. package/dist/assets/Synced-DKJXzPiw-Cui8pDsS.js +0 -2
  538. package/dist/assets/Synced-DKJXzPiw-Cui8pDsS.js.map +0 -1
  539. package/dist/assets/Syncing-KnDBLSYe.js +0 -2
  540. package/dist/assets/Syncing-KnDBLSYe.js.map +0 -1
  541. package/dist/assets/Syncing-aT9WSMFf-2VhhyCcX.js +0 -2
  542. package/dist/assets/Syncing-aT9WSMFf-2VhhyCcX.js.map +0 -1
  543. package/dist/assets/Trash-CgSbHk-P-DIYkVMER.js +0 -2
  544. package/dist/assets/Trash-CgSbHk-P-DIYkVMER.js.map +0 -1
  545. package/dist/assets/Trash-DIHOD5wQ.js +0 -2
  546. package/dist/assets/Trash-DIHOD5wQ.js.map +0 -1
  547. package/dist/assets/TrashFill-CG3humXp.js +0 -2
  548. package/dist/assets/TrashFill-CG3humXp.js.map +0 -1
  549. package/dist/assets/TrashFill-DN50ercb-Oqx67xXN.js +0 -2
  550. package/dist/assets/TrashFill-DN50ercb-Oqx67xXN.js.map +0 -1
  551. package/dist/assets/TreeViewSlash-BywCsx5o-CUTTXZi-.js +0 -2
  552. package/dist/assets/TreeViewSlash-BywCsx5o-CUTTXZi-.js.map +0 -1
  553. package/dist/assets/TreeViewSlash-CKJADIpa.js +0 -2
  554. package/dist/assets/TreeViewSlash-CKJADIpa.js.map +0 -1
  555. package/dist/assets/TriangleDown-Boh-WZzH.js +0 -2
  556. package/dist/assets/TriangleDown-Boh-WZzH.js.map +0 -1
  557. package/dist/assets/TriangleDown-eCXwUfu8-F-V79AL3.js +0 -2
  558. package/dist/assets/TriangleDown-eCXwUfu8-F-V79AL3.js.map +0 -1
  559. package/dist/assets/VariantArrowLeft-CnuX59_e-6Zt_Q3tm.js +0 -2
  560. package/dist/assets/VariantArrowLeft-CnuX59_e-6Zt_Q3tm.js.map +0 -1
  561. package/dist/assets/VariantArrowLeft-Dl1-3L5q.js +0 -2
  562. package/dist/assets/VariantArrowLeft-Dl1-3L5q.js.map +0 -1
  563. package/dist/assets/VerticalDots-C8QYf7et-CCxZfvjq.js +0 -2
  564. package/dist/assets/VerticalDots-C8QYf7et-CCxZfvjq.js.map +0 -1
  565. package/dist/assets/VerticalDots-CCZxgZM8.js +0 -2
  566. package/dist/assets/VerticalDots-CCZxgZM8.js.map +0 -1
  567. package/dist/assets/WarningFill-CRRaW3Oz.js +0 -2
  568. package/dist/assets/WarningFill-CRRaW3Oz.js.map +0 -1
  569. package/dist/assets/WarningFill-WowAvi5P-D5XCckM6.js +0 -2
  570. package/dist/assets/WarningFill-WowAvi5P-D5XCckM6.js.map +0 -1
  571. package/dist/assets/XTwitter-CW6IaHUb.js +0 -2
  572. package/dist/assets/XTwitter-CW6IaHUb.js.map +0 -1
  573. package/dist/assets/XTwitter-k3Pt8itk-mvLk8TKx.js +0 -2
  574. package/dist/assets/XTwitter-k3Pt8itk-mvLk8TKx.js.map +0 -1
  575. package/dist/assets/Xmark-8qnJCs2Y-CZ3t0Fap.js +0 -2
  576. package/dist/assets/Xmark-8qnJCs2Y-CZ3t0Fap.js.map +0 -1
  577. package/dist/assets/Xmark-CZ3t0Fap.js +0 -2
  578. package/dist/assets/Xmark-CZ3t0Fap.js.map +0 -1
  579. package/dist/assets/XmarkLight-BkhBFy51.js +0 -2
  580. package/dist/assets/XmarkLight-BkhBFy51.js.map +0 -1
  581. package/dist/assets/XmarkLight-GHzDR5_F-CloMvuzt.js +0 -2
  582. package/dist/assets/XmarkLight-GHzDR5_F-CloMvuzt.js.map +0 -1
  583. package/dist/assets/Youtube-h-Dc9pri.js +0 -2
  584. package/dist/assets/Youtube-h-Dc9pri.js.map +0 -1
  585. package/dist/assets/Youtube-i8V0IXUU-Bkiwoayp.js +0 -2
  586. package/dist/assets/Youtube-i8V0IXUU-Bkiwoayp.js.map +0 -1
  587. package/dist/assets/app-DVu2OIYO.js +0 -582
  588. package/dist/assets/app-DVu2OIYO.js.map +0 -1
  589. package/dist/assets/app-loader-CcY7cVzc.css +0 -1
  590. package/dist/assets/app-loader-DqWwQ81E.js +0 -3
  591. package/dist/assets/app-loader-DqWwQ81E.js.map +0 -1
  592. package/dist/assets/browser-BbIPlSaA.js +0 -2
  593. package/dist/assets/browser-BbIPlSaA.js.map +0 -1
  594. package/dist/assets/browser-Szk8zoDr.js +0 -7
  595. package/dist/assets/browser-Szk8zoDr.js.map +0 -1
  596. package/dist/assets/ccip-7PoVR3HK.js +0 -2
  597. package/dist/assets/ccip-7PoVR3HK.js.map +0 -1
  598. package/dist/assets/content-DAx9dSD8.js +0 -7
  599. package/dist/assets/content-DAx9dSD8.js.map +0 -1
  600. package/dist/assets/editor-BSjQci3v.js +0 -2
  601. package/dist/assets/editor-BSjQci3v.js.map +0 -1
  602. package/dist/assets/editor-CD3DIxJK.js +0 -2
  603. package/dist/assets/editor-CD3DIxJK.js.map +0 -1
  604. package/dist/assets/editor-CLU5aaxL.js +0 -2
  605. package/dist/assets/editor-CLU5aaxL.js.map +0 -1
  606. package/dist/assets/editor-DzksqT6J.js +0 -346
  607. package/dist/assets/editor-DzksqT6J.js.map +0 -1
  608. package/dist/assets/editors-QFZAWtl0.js +0 -3
  609. package/dist/assets/editors-QFZAWtl0.js.map +0 -1
  610. package/dist/assets/getEnsName-CWy0aCA9.js +0 -35
  611. package/dist/assets/getEnsName-CWy0aCA9.js.map +0 -1
  612. package/dist/assets/index-CLu1C_is-jUM7ckQa.js +0 -12
  613. package/dist/assets/index-CLu1C_is-jUM7ckQa.js.map +0 -1
  614. package/dist/assets/index-Cfezsgfl.js +0 -16
  615. package/dist/assets/index-Cfezsgfl.js.map +0 -1
  616. package/dist/assets/index-CuqBG-XH.js +0 -3
  617. package/dist/assets/index-CuqBG-XH.js.map +0 -1
  618. package/dist/assets/isAddressEqual-7_-I3JPu.js +0 -2
  619. package/dist/assets/isAddressEqual-7_-I3JPu.js.map +0 -1
  620. package/dist/assets/json-BK2P0vCl.js +0 -3
  621. package/dist/assets/json-BK2P0vCl.js.map +0 -1
  622. package/dist/assets/main.CqyrPdgE.js +0 -2
  623. package/dist/assets/main.CqyrPdgE.js.map +0 -1
  624. package/dist/assets/react-error-boundary.esm-BQ1o-seO.js +0 -2
  625. package/dist/assets/react-error-boundary.esm-BQ1o-seO.js.map +0 -1
  626. package/dist/assets/root-CAjjh02O.js +0 -17
  627. package/dist/assets/root-CAjjh02O.js.map +0 -1
  628. package/dist/assets/router-BEJNE1RL.js +0 -12
  629. package/dist/assets/router-BEJNE1RL.js.map +0 -1
  630. package/dist/service-worker.js.map +0 -1
  631. package/dist/studio/cli.js +0 -6
  632. package/dist/studio/helpers.d.ts +0 -2
  633. package/dist/studio/hmr.js +0 -10
  634. package/dist/studio/index.d.ts +0 -20
  635. package/dist/studio/index.js +0 -655
  636. package/dist/studio/server.d.ts +0 -8
  637. package/dist/studio/vite-plugins/base.d.ts +0 -14
  638. package/dist/studio/vite-plugins/external-packages.d.ts +0 -5
  639. package/dist/studio/vite-plugins/hmr.d.ts +0 -2
  640. package/dist/studio/vite-plugins/studio.d.ts +0 -3
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../node_modules/.pnpm/safe-stable-stringify@2.5.0/node_modules/safe-stable-stringify/index.js", "../../../../../../node_modules/.pnpm/jszip@3.10.1/node_modules/jszip/dist/jszip.min.js", "../../../../../../node_modules/.pnpm/sha1-uint8array@0.10.7/node_modules/sha1-uint8array/dist/sha1-uint8array.mjs", "../../../../../../packages/document-model/dist/src/document/utils/browser.js", "../../../../../../node_modules/.pnpm/safe-stable-stringify@2.5.0/node_modules/safe-stable-stringify/esm/wrapper.js", "../../../../../../packages/document-model/dist/src/document/utils/crypto.js", "../../../../../../packages/document-model/dist/src/document-model/custom/utils.js", "../../../../../../node_modules/.pnpm/change-case@5.4.4/node_modules/change-case/src/index.ts", "../../../../../../packages/document-model/dist/src/document-model/gen/actions.js", "../../../../../../packages/document-model/dist/src/document-model/gen/creators.js", "../../../../../../node_modules/.pnpm/zod@3.24.1/node_modules/zod/lib/index.mjs", "../../../../../../packages/document-model/dist/src/document/actions/types.js", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/interface.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/constant.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/internal.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/utils/proto.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/utils/draft.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/utils/copy.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/utils/mark.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/utils/deepFreeze.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/utils/forEach.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/utils/finalize.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/patch.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/unsafe.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/map.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/set.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/draft.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/draftify.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/current.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/makeCreator.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/create.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/apply.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/original.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/rawReturn.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/utils/marker.ts", "../../../../../../node_modules/.pnpm/mutative@1.1.0/node_modules/mutative/src/utils/cast.ts", "../../../../../../packages/document-model/dist/src/document/utils/document-helpers.js", "../../../../../../packages/document-model/dist/src/document/schema/zod.js", "../../../../../../packages/document-model/dist/src/document/actions/creators.js", "../../../../../../packages/document-model/dist/src/document/actions/operations.js", "../../../../../../packages/document-model/dist/src/document/reducer.js", "../../../../../../packages/document-model/dist/src/document/utils/errors.js", "../../../../../../packages/document-model/dist/src/document/utils/base.js", "../../../../../../packages/document-model/dist/src/document-model/gen/header/creators.js", "../../../../../../packages/document-model/dist/src/document-model/gen/versioning/creators.js", "../../../../../../packages/document-model/dist/src/document-model/gen/module/creators.js", "../../../../../../packages/document-model/dist/src/document-model/gen/operation-error/creators.js", "../../../../../../packages/document-model/dist/src/document-model/gen/operation-example/creators.js", "../../../../../../packages/document-model/dist/src/document-model/gen/operation/creators.js", "../../../../../../packages/document-model/dist/src/document-model/gen/state/creators.js", "../../../../../../packages/document-model/dist/src/document-model/gen/document-model.js", "../../../../../../packages/document-model/dist/src/document-model/custom/reducers/header.js", "../../../../../../packages/document-model/dist/src/document-model/custom/reducers/module.js", "../../../../../../packages/document-model/dist/src/document-model/custom/reducers/operation-error.js", "../../../../../../packages/document-model/dist/src/document-model/custom/reducers/operation-example.js", "../../../../../../packages/document-model/dist/src/document-model/custom/reducers/operation.js", "../../../../../../packages/document-model/dist/src/document-model/custom/reducers/state.js", "../../../../../../packages/document-model/dist/src/document-model/custom/reducers/versioning.js", "../../../../../../packages/document-model/dist/src/document-model/gen/schema/zod.js", "../../../../../../packages/document-model/dist/src/document-model/gen/reducer.js", "../../../../../../packages/document-model/dist/src/document-model/gen/utils.js", "../../../../../../packages/document-model/dist/src/document/utils/file.js", "../../../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/types/standard.js", "../../../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/src/Mime.js", "../../../../../../node_modules/.pnpm/mime@4.0.6/node_modules/mime/dist/src/index_lite.js", "../../../../../../packages/document-model/dist/src/document/utils/validation.js", "../../../../../../packages/document-model/dist/src/document-model/gen/constants.js", "../../../../../../packages/document-model/dist/src/document-model/module.js"],
4
+ "sourcesContent": ["'use strict'\n\nconst { hasOwnProperty } = Object.prototype\n\nconst stringify = configure()\n\n// @ts-expect-error\nstringify.configure = configure\n// @ts-expect-error\nstringify.stringify = stringify\n\n// @ts-expect-error\nstringify.default = stringify\n\n// @ts-expect-error used for named export\nexports.stringify = stringify\n// @ts-expect-error used for named export\nexports.configure = configure\n\nmodule.exports = stringify\n\n// eslint-disable-next-line no-control-regex\nconst strEscapeSequencesRegExp = /[\\u0000-\\u001f\\u0022\\u005c\\ud800-\\udfff]/\n\n// Escape C0 control characters, double quotes, the backslash and every code\n// unit with a numeric value in the inclusive range 0xD800 to 0xDFFF.\nfunction strEscape (str) {\n // Some magic numbers that worked out fine while benchmarking with v8 8.0\n if (str.length < 5000 && !strEscapeSequencesRegExp.test(str)) {\n return `\"${str}\"`\n }\n return JSON.stringify(str)\n}\n\nfunction sort (array, comparator) {\n // Insertion sort is very efficient for small input sizes, but it has a bad\n // worst case complexity. Thus, use native array sort for bigger values.\n if (array.length > 2e2 || comparator) {\n return array.sort(comparator)\n }\n for (let i = 1; i < array.length; i++) {\n const currentValue = array[i]\n let position = i\n while (position !== 0 && array[position - 1] > currentValue) {\n array[position] = array[position - 1]\n position--\n }\n array[position] = currentValue\n }\n return array\n}\n\nconst typedArrayPrototypeGetSymbolToStringTag =\n Object.getOwnPropertyDescriptor(\n Object.getPrototypeOf(\n Object.getPrototypeOf(\n new Int8Array()\n )\n ),\n Symbol.toStringTag\n ).get\n\nfunction isTypedArrayWithEntries (value) {\n return typedArrayPrototypeGetSymbolToStringTag.call(value) !== undefined && value.length !== 0\n}\n\nfunction stringifyTypedArray (array, separator, maximumBreadth) {\n if (array.length < maximumBreadth) {\n maximumBreadth = array.length\n }\n const whitespace = separator === ',' ? '' : ' '\n let res = `\"0\":${whitespace}${array[0]}`\n for (let i = 1; i < maximumBreadth; i++) {\n res += `${separator}\"${i}\":${whitespace}${array[i]}`\n }\n return res\n}\n\nfunction getCircularValueOption (options) {\n if (hasOwnProperty.call(options, 'circularValue')) {\n const circularValue = options.circularValue\n if (typeof circularValue === 'string') {\n return `\"${circularValue}\"`\n }\n if (circularValue == null) {\n return circularValue\n }\n if (circularValue === Error || circularValue === TypeError) {\n return {\n toString () {\n throw new TypeError('Converting circular structure to JSON')\n }\n }\n }\n throw new TypeError('The \"circularValue\" argument must be of type string or the value null or undefined')\n }\n return '\"[Circular]\"'\n}\n\nfunction getDeterministicOption (options) {\n let value\n if (hasOwnProperty.call(options, 'deterministic')) {\n value = options.deterministic\n if (typeof value !== 'boolean' && typeof value !== 'function') {\n throw new TypeError('The \"deterministic\" argument must be of type boolean or comparator function')\n }\n }\n return value === undefined ? true : value\n}\n\nfunction getBooleanOption (options, key) {\n let value\n if (hasOwnProperty.call(options, key)) {\n value = options[key]\n if (typeof value !== 'boolean') {\n throw new TypeError(`The \"${key}\" argument must be of type boolean`)\n }\n }\n return value === undefined ? true : value\n}\n\nfunction getPositiveIntegerOption (options, key) {\n let value\n if (hasOwnProperty.call(options, key)) {\n value = options[key]\n if (typeof value !== 'number') {\n throw new TypeError(`The \"${key}\" argument must be of type number`)\n }\n if (!Number.isInteger(value)) {\n throw new TypeError(`The \"${key}\" argument must be an integer`)\n }\n if (value < 1) {\n throw new RangeError(`The \"${key}\" argument must be >= 1`)\n }\n }\n return value === undefined ? Infinity : value\n}\n\nfunction getItemCount (number) {\n if (number === 1) {\n return '1 item'\n }\n return `${number} items`\n}\n\nfunction getUniqueReplacerSet (replacerArray) {\n const replacerSet = new Set()\n for (const value of replacerArray) {\n if (typeof value === 'string' || typeof value === 'number') {\n replacerSet.add(String(value))\n }\n }\n return replacerSet\n}\n\nfunction getStrictOption (options) {\n if (hasOwnProperty.call(options, 'strict')) {\n const value = options.strict\n if (typeof value !== 'boolean') {\n throw new TypeError('The \"strict\" argument must be of type boolean')\n }\n if (value) {\n return (value) => {\n let message = `Object can not safely be stringified. Received type ${typeof value}`\n if (typeof value !== 'function') message += ` (${value.toString()})`\n throw new Error(message)\n }\n }\n }\n}\n\nfunction configure (options) {\n options = { ...options }\n const fail = getStrictOption(options)\n if (fail) {\n if (options.bigint === undefined) {\n options.bigint = false\n }\n if (!('circularValue' in options)) {\n options.circularValue = Error\n }\n }\n const circularValue = getCircularValueOption(options)\n const bigint = getBooleanOption(options, 'bigint')\n const deterministic = getDeterministicOption(options)\n const comparator = typeof deterministic === 'function' ? deterministic : undefined\n const maximumDepth = getPositiveIntegerOption(options, 'maximumDepth')\n const maximumBreadth = getPositiveIntegerOption(options, 'maximumBreadth')\n\n function stringifyFnReplacer (key, parent, stack, replacer, spacer, indentation) {\n let value = parent[key]\n\n if (typeof value === 'object' && value !== null && typeof value.toJSON === 'function') {\n value = value.toJSON(key)\n }\n value = replacer.call(parent, key, value)\n\n switch (typeof value) {\n case 'string':\n return strEscape(value)\n case 'object': {\n if (value === null) {\n return 'null'\n }\n if (stack.indexOf(value) !== -1) {\n return circularValue\n }\n\n let res = ''\n let join = ','\n const originalIndentation = indentation\n\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return '[]'\n }\n if (maximumDepth < stack.length + 1) {\n return '\"[Array]\"'\n }\n stack.push(value)\n if (spacer !== '') {\n indentation += spacer\n res += `\\n${indentation}`\n join = `,\\n${indentation}`\n }\n const maximumValuesToStringify = Math.min(value.length, maximumBreadth)\n let i = 0\n for (; i < maximumValuesToStringify - 1; i++) {\n const tmp = stringifyFnReplacer(String(i), value, stack, replacer, spacer, indentation)\n res += tmp !== undefined ? tmp : 'null'\n res += join\n }\n const tmp = stringifyFnReplacer(String(i), value, stack, replacer, spacer, indentation)\n res += tmp !== undefined ? tmp : 'null'\n if (value.length - 1 > maximumBreadth) {\n const removedKeys = value.length - maximumBreadth - 1\n res += `${join}\"... ${getItemCount(removedKeys)} not stringified\"`\n }\n if (spacer !== '') {\n res += `\\n${originalIndentation}`\n }\n stack.pop()\n return `[${res}]`\n }\n\n let keys = Object.keys(value)\n const keyLength = keys.length\n if (keyLength === 0) {\n return '{}'\n }\n if (maximumDepth < stack.length + 1) {\n return '\"[Object]\"'\n }\n let whitespace = ''\n let separator = ''\n if (spacer !== '') {\n indentation += spacer\n join = `,\\n${indentation}`\n whitespace = ' '\n }\n const maximumPropertiesToStringify = Math.min(keyLength, maximumBreadth)\n if (deterministic && !isTypedArrayWithEntries(value)) {\n keys = sort(keys, comparator)\n }\n stack.push(value)\n for (let i = 0; i < maximumPropertiesToStringify; i++) {\n const key = keys[i]\n const tmp = stringifyFnReplacer(key, value, stack, replacer, spacer, indentation)\n if (tmp !== undefined) {\n res += `${separator}${strEscape(key)}:${whitespace}${tmp}`\n separator = join\n }\n }\n if (keyLength > maximumBreadth) {\n const removedKeys = keyLength - maximumBreadth\n res += `${separator}\"...\":${whitespace}\"${getItemCount(removedKeys)} not stringified\"`\n separator = join\n }\n if (spacer !== '' && separator.length > 1) {\n res = `\\n${indentation}${res}\\n${originalIndentation}`\n }\n stack.pop()\n return `{${res}}`\n }\n case 'number':\n return isFinite(value) ? String(value) : fail ? fail(value) : 'null'\n case 'boolean':\n return value === true ? 'true' : 'false'\n case 'undefined':\n return undefined\n case 'bigint':\n if (bigint) {\n return String(value)\n }\n // fallthrough\n default:\n return fail ? fail(value) : undefined\n }\n }\n\n function stringifyArrayReplacer (key, value, stack, replacer, spacer, indentation) {\n if (typeof value === 'object' && value !== null && typeof value.toJSON === 'function') {\n value = value.toJSON(key)\n }\n\n switch (typeof value) {\n case 'string':\n return strEscape(value)\n case 'object': {\n if (value === null) {\n return 'null'\n }\n if (stack.indexOf(value) !== -1) {\n return circularValue\n }\n\n const originalIndentation = indentation\n let res = ''\n let join = ','\n\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return '[]'\n }\n if (maximumDepth < stack.length + 1) {\n return '\"[Array]\"'\n }\n stack.push(value)\n if (spacer !== '') {\n indentation += spacer\n res += `\\n${indentation}`\n join = `,\\n${indentation}`\n }\n const maximumValuesToStringify = Math.min(value.length, maximumBreadth)\n let i = 0\n for (; i < maximumValuesToStringify - 1; i++) {\n const tmp = stringifyArrayReplacer(String(i), value[i], stack, replacer, spacer, indentation)\n res += tmp !== undefined ? tmp : 'null'\n res += join\n }\n const tmp = stringifyArrayReplacer(String(i), value[i], stack, replacer, spacer, indentation)\n res += tmp !== undefined ? tmp : 'null'\n if (value.length - 1 > maximumBreadth) {\n const removedKeys = value.length - maximumBreadth - 1\n res += `${join}\"... ${getItemCount(removedKeys)} not stringified\"`\n }\n if (spacer !== '') {\n res += `\\n${originalIndentation}`\n }\n stack.pop()\n return `[${res}]`\n }\n stack.push(value)\n let whitespace = ''\n if (spacer !== '') {\n indentation += spacer\n join = `,\\n${indentation}`\n whitespace = ' '\n }\n let separator = ''\n for (const key of replacer) {\n const tmp = stringifyArrayReplacer(key, value[key], stack, replacer, spacer, indentation)\n if (tmp !== undefined) {\n res += `${separator}${strEscape(key)}:${whitespace}${tmp}`\n separator = join\n }\n }\n if (spacer !== '' && separator.length > 1) {\n res = `\\n${indentation}${res}\\n${originalIndentation}`\n }\n stack.pop()\n return `{${res}}`\n }\n case 'number':\n return isFinite(value) ? String(value) : fail ? fail(value) : 'null'\n case 'boolean':\n return value === true ? 'true' : 'false'\n case 'undefined':\n return undefined\n case 'bigint':\n if (bigint) {\n return String(value)\n }\n // fallthrough\n default:\n return fail ? fail(value) : undefined\n }\n }\n\n function stringifyIndent (key, value, stack, spacer, indentation) {\n switch (typeof value) {\n case 'string':\n return strEscape(value)\n case 'object': {\n if (value === null) {\n return 'null'\n }\n if (typeof value.toJSON === 'function') {\n value = value.toJSON(key)\n // Prevent calling `toJSON` again.\n if (typeof value !== 'object') {\n return stringifyIndent(key, value, stack, spacer, indentation)\n }\n if (value === null) {\n return 'null'\n }\n }\n if (stack.indexOf(value) !== -1) {\n return circularValue\n }\n const originalIndentation = indentation\n\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return '[]'\n }\n if (maximumDepth < stack.length + 1) {\n return '\"[Array]\"'\n }\n stack.push(value)\n indentation += spacer\n let res = `\\n${indentation}`\n const join = `,\\n${indentation}`\n const maximumValuesToStringify = Math.min(value.length, maximumBreadth)\n let i = 0\n for (; i < maximumValuesToStringify - 1; i++) {\n const tmp = stringifyIndent(String(i), value[i], stack, spacer, indentation)\n res += tmp !== undefined ? tmp : 'null'\n res += join\n }\n const tmp = stringifyIndent(String(i), value[i], stack, spacer, indentation)\n res += tmp !== undefined ? tmp : 'null'\n if (value.length - 1 > maximumBreadth) {\n const removedKeys = value.length - maximumBreadth - 1\n res += `${join}\"... ${getItemCount(removedKeys)} not stringified\"`\n }\n res += `\\n${originalIndentation}`\n stack.pop()\n return `[${res}]`\n }\n\n let keys = Object.keys(value)\n const keyLength = keys.length\n if (keyLength === 0) {\n return '{}'\n }\n if (maximumDepth < stack.length + 1) {\n return '\"[Object]\"'\n }\n indentation += spacer\n const join = `,\\n${indentation}`\n let res = ''\n let separator = ''\n let maximumPropertiesToStringify = Math.min(keyLength, maximumBreadth)\n if (isTypedArrayWithEntries(value)) {\n res += stringifyTypedArray(value, join, maximumBreadth)\n keys = keys.slice(value.length)\n maximumPropertiesToStringify -= value.length\n separator = join\n }\n if (deterministic) {\n keys = sort(keys, comparator)\n }\n stack.push(value)\n for (let i = 0; i < maximumPropertiesToStringify; i++) {\n const key = keys[i]\n const tmp = stringifyIndent(key, value[key], stack, spacer, indentation)\n if (tmp !== undefined) {\n res += `${separator}${strEscape(key)}: ${tmp}`\n separator = join\n }\n }\n if (keyLength > maximumBreadth) {\n const removedKeys = keyLength - maximumBreadth\n res += `${separator}\"...\": \"${getItemCount(removedKeys)} not stringified\"`\n separator = join\n }\n if (separator !== '') {\n res = `\\n${indentation}${res}\\n${originalIndentation}`\n }\n stack.pop()\n return `{${res}}`\n }\n case 'number':\n return isFinite(value) ? String(value) : fail ? fail(value) : 'null'\n case 'boolean':\n return value === true ? 'true' : 'false'\n case 'undefined':\n return undefined\n case 'bigint':\n if (bigint) {\n return String(value)\n }\n // fallthrough\n default:\n return fail ? fail(value) : undefined\n }\n }\n\n function stringifySimple (key, value, stack) {\n switch (typeof value) {\n case 'string':\n return strEscape(value)\n case 'object': {\n if (value === null) {\n return 'null'\n }\n if (typeof value.toJSON === 'function') {\n value = value.toJSON(key)\n // Prevent calling `toJSON` again\n if (typeof value !== 'object') {\n return stringifySimple(key, value, stack)\n }\n if (value === null) {\n return 'null'\n }\n }\n if (stack.indexOf(value) !== -1) {\n return circularValue\n }\n\n let res = ''\n\n const hasLength = value.length !== undefined\n if (hasLength && Array.isArray(value)) {\n if (value.length === 0) {\n return '[]'\n }\n if (maximumDepth < stack.length + 1) {\n return '\"[Array]\"'\n }\n stack.push(value)\n const maximumValuesToStringify = Math.min(value.length, maximumBreadth)\n let i = 0\n for (; i < maximumValuesToStringify - 1; i++) {\n const tmp = stringifySimple(String(i), value[i], stack)\n res += tmp !== undefined ? tmp : 'null'\n res += ','\n }\n const tmp = stringifySimple(String(i), value[i], stack)\n res += tmp !== undefined ? tmp : 'null'\n if (value.length - 1 > maximumBreadth) {\n const removedKeys = value.length - maximumBreadth - 1\n res += `,\"... ${getItemCount(removedKeys)} not stringified\"`\n }\n stack.pop()\n return `[${res}]`\n }\n\n let keys = Object.keys(value)\n const keyLength = keys.length\n if (keyLength === 0) {\n return '{}'\n }\n if (maximumDepth < stack.length + 1) {\n return '\"[Object]\"'\n }\n let separator = ''\n let maximumPropertiesToStringify = Math.min(keyLength, maximumBreadth)\n if (hasLength && isTypedArrayWithEntries(value)) {\n res += stringifyTypedArray(value, ',', maximumBreadth)\n keys = keys.slice(value.length)\n maximumPropertiesToStringify -= value.length\n separator = ','\n }\n if (deterministic) {\n keys = sort(keys, comparator)\n }\n stack.push(value)\n for (let i = 0; i < maximumPropertiesToStringify; i++) {\n const key = keys[i]\n const tmp = stringifySimple(key, value[key], stack)\n if (tmp !== undefined) {\n res += `${separator}${strEscape(key)}:${tmp}`\n separator = ','\n }\n }\n if (keyLength > maximumBreadth) {\n const removedKeys = keyLength - maximumBreadth\n res += `${separator}\"...\":\"${getItemCount(removedKeys)} not stringified\"`\n }\n stack.pop()\n return `{${res}}`\n }\n case 'number':\n return isFinite(value) ? String(value) : fail ? fail(value) : 'null'\n case 'boolean':\n return value === true ? 'true' : 'false'\n case 'undefined':\n return undefined\n case 'bigint':\n if (bigint) {\n return String(value)\n }\n // fallthrough\n default:\n return fail ? fail(value) : undefined\n }\n }\n\n function stringify (value, replacer, space) {\n if (arguments.length > 1) {\n let spacer = ''\n if (typeof space === 'number') {\n spacer = ' '.repeat(Math.min(space, 10))\n } else if (typeof space === 'string') {\n spacer = space.slice(0, 10)\n }\n if (replacer != null) {\n if (typeof replacer === 'function') {\n return stringifyFnReplacer('', { '': value }, [], replacer, spacer, '')\n }\n if (Array.isArray(replacer)) {\n return stringifyArrayReplacer('', value, [], getUniqueReplacerSet(replacer), spacer, '')\n }\n }\n if (spacer.length !== 0) {\n return stringifyIndent('', value, [], spacer, '')\n }\n }\n return stringifySimple('', value, [])\n }\n\n return stringify\n}\n", "/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n<http://stuartk.com/jszip>\n\n(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>\nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){\"use strict\";var d=e(\"./utils\"),c=e(\"./support\"),p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c=\"string\"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join(\"\")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u=\"data:\";if(e.substr(0,u.length)===u)throw new Error(\"Invalid base64 input, it looks like a data url.\");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,\"\")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error(\"Invalid base64 input, bad content length.\");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h(\"Deflate\",e)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(e,t,r){\"use strict\";function A(e,t){var r,n=\"\";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo(\"string\",s(h.name)),c=I.transformTo(\"string\",O.utf8encode(h.name)),d=h.comment,p=I.transformTo(\"string\",s(d)),m=I.transformTo(\"string\",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b=\"\",v=\"\",y=\"\",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),\"UNIX\"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+=\"up\"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+=\"uc\"+A(y.length,2)+y);var E=\"\";return E+=\"\\n\\0\",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+\"\\0\\0\\0\\0\"+A(z,4)+A(n,4)+f+b+p}}var I=e(\"../utils\"),i=e(\"../stream/GenericWorker\"),O=e(\"../utf8\"),B=e(\"../crc32\"),R=e(\"../signature\");function s(e,t,r,n){i.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,n=function(e,t,r,n,i){var s=I.transformTo(\"string\",i(n));return R.CENTRAL_DIRECTORY_END+\"\\0\\0\\0\\0\"+A(e,2)+A(e,2)+A(t,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on(\"data\",function(e){t.processChunk(e)}),e.on(\"end\",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on(\"error\",function(e){t.error(e)}),this},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},s.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=s},{\"../crc32\":4,\"../signature\":23,\"../stream/GenericWorker\":28,\"../utf8\":31,\"../utils\":32}],9:[function(e,t,r){\"use strict\";var u=e(\"../compressions\"),n=e(\"./ZipFileWorker\");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),h=0;try{e.forEach(function(e,t){h++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+\" is not a valid compression method !\");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo(\"file\",{name:e,dir:i,date:s,comment:t.comment||\"\",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(e){o.error(e)}return o}},{\"../compressions\":3,\"./ZipFileWorker\":8}],10:[function(e,t,r){\"use strict\";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error(\"The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.\");this.files=Object.create(null),this.comment=null,this.root=\"\",this.clone=function(){var e=new n;for(var t in this)\"function\"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e(\"./object\")).loadAsync=e(\"./load\"),n.support=e(\"./support\"),n.defaults=e(\"./defaults\"),n.version=\"3.10.1\",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e(\"./external\"),t.exports=n},{\"./defaults\":5,\"./external\":6,\"./load\":11,\"./object\":15,\"./support\":30}],11:[function(e,t,r){\"use strict\";var u=e(\"./utils\"),i=e(\"./external\"),n=e(\"./utf8\"),s=e(\"./zipEntries\"),a=e(\"./stream/Crc32Probe\"),l=e(\"./nodejsUtils\");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new a);r.on(\"error\",function(e){t(e)}).on(\"end\",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error(\"Corrupted zip : CRC32 mismatch\")):e()}).resume()})}t.exports=function(e,o){var h=this;return o=u.extend(o||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:n.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error(\"JSZip can't accept a stream when loading a zip file.\")):u.prepareContent(\"the loaded zip file\",e,!0,o.optimizedBinaryString,o.base64).then(function(e){var t=new s(o);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(o.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n],s=i.fileNameStr,a=u.resolve(i.fileNameStr);h.file(a,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:o.createFolders}),i.dir||(h.file(a).unsafeOriginalName=s)}return t.zipComment.length&&(h.comment=t.zipComment),h})}},{\"./external\":6,\"./nodejsUtils\":14,\"./stream/Crc32Probe\":25,\"./utf8\":31,\"./utils\":32,\"./zipEntries\":33}],12:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../stream/GenericWorker\");function s(e,t){i.call(this,\"Nodejs stream input adapter for \"+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on(\"data\",function(e){t.push({data:e,meta:{percent:0}})}).on(\"error\",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on(\"end\",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{\"../stream/GenericWorker\":28,\"../utils\":32}],13:[function(e,t,r){\"use strict\";var i=e(\"readable-stream\").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on(\"data\",function(e,t){n.push(e)||n._helper.pause(),r&&r(t)}).on(\"error\",function(e){n.emit(\"error\",e)}).on(\"end\",function(){n.push(null)})}e(\"../utils\").inherits(n,i),n.prototype._read=function(){this._helper.resume()},t.exports=n},{\"../utils\":32,\"readable-stream\":16}],14:[function(e,t,r){\"use strict\";t.exports={isNode:\"undefined\"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if(\"number\"==typeof e)throw new Error('The \"data\" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&\"function\"==typeof e.on&&\"function\"==typeof e.pause&&\"function\"==typeof e.resume}}},{}],15:[function(e,t,r){\"use strict\";function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),\"string\"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=g(e)),s.createFolders&&(n=_(e))&&b.call(this,n,!0);var a=\"string\"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t=\"\",s.compression=\"STORE\",i=\"string\");var o=null;o=t instanceof c||t instanceof l?t:p.isNode&&p.isStream(t)?new m(e,t):u.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var h=new d(e,o,s);this.files[e]=h}var i=e(\"./utf8\"),u=e(\"./utils\"),l=e(\"./stream/GenericWorker\"),a=e(\"./stream/StreamHelper\"),f=e(\"./defaults\"),c=e(\"./compressedObject\"),d=e(\"./zipObject\"),o=e(\"./generate\"),p=e(\"./nodejsUtils\"),m=e(\"./nodejs/NodejsStreamInputAdapter\"),_=function(e){\"/\"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf(\"/\");return 0<t?e.substring(0,t):\"\"},g=function(e){return\"/\"!==e.slice(-1)&&(e+=\"/\"),e},b=function(e,t){return t=void 0!==t?t:f.createFolders,e=g(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function h(e){return\"[object RegExp]\"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t)}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(h(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=b.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||(\"/\"!==r.slice(-1)&&(r+=\"/\"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},generateInternalStream:function(e){var t,r={};try{if((r=u.extend(e||{},{streamFiles:!1,compression:\"STORE\",compressionOptions:null,type:\"\",platform:\"DOS\",comment:null,mimeType:\"application/zip\",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),\"binarystring\"===r.type&&(r.type=\"string\"),!r.type)throw new Error(\"No output type specified.\");u.checkSupport(r.type),\"darwin\"!==r.platform&&\"freebsd\"!==r.platform&&\"linux\"!==r.platform&&\"sunos\"!==r.platform||(r.platform=\"UNIX\"),\"win32\"===r.platform&&(r.platform=\"DOS\");var n=r.comment||this.comment||\"\";t=o.generateWorker(this,r,n)}catch(e){(t=new l(\"error\")).error(e)}return new a(t,r.type||\"string\",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type=\"nodebuffer\"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n},{\"./compressedObject\":2,\"./defaults\":5,\"./generate\":9,\"./nodejs/NodejsStreamInputAdapter\":12,\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31,\"./utils\":32,\"./zipObject\":35}],16:[function(e,t,r){\"use strict\";t.exports=e(\"stream\")},{stream:void 0}],17:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],18:[function(e,t,r){\"use strict\";var n=e(\"../utils\");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error(\"End of data reached (data length = \"+this.length+\", asked index = \"+e+\"). Corrupted zip ?\")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo(\"string\",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{\"../utils\":32}],19:[function(e,t,r){\"use strict\";var n=e(\"./Uint8ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],21:[function(e,t,r){\"use strict\";var n=e(\"./ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../support\"),s=e(\"./ArrayReader\"),a=e(\"./StringReader\"),o=e(\"./NodeBufferReader\"),h=e(\"./Uint8ArrayReader\");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),\"string\"!==t||i.uint8array?\"nodebuffer\"===t?new o(e):i.uint8array?new h(n.transformTo(\"uint8array\",e)):new s(n.transformTo(\"array\",e)):new a(e)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(e,t,r){\"use strict\";r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../utils\");function s(e){n.call(this,\"ConvertWorker to \"+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../crc32\");function s(){n.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}e(\"../utils\").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataLengthProbe for \"+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataWorker\");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":e=this.data.substring(this.index,t);break;case\"uint8array\":e=this.data.subarray(this.index,t);break;case\"array\":case\"nodebuffer\":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(e,t,r){\"use strict\";function n(e){this.name=e||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit(\"data\",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit(\"error\",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit(\"error\",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on(\"data\",function(e){t.processChunk(e)}),e.on(\"end\",function(){t.end()}),e.on(\"error\",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error(\"The stream '\"+this+\"' has already been used.\");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e=\"Worker \"+this.name;return this.previous?this.previous+\" -> \"+e:e}},t.exports=n},{}],29:[function(e,t,r){\"use strict\";var h=e(\"../utils\"),i=e(\"./ConvertWorker\"),s=e(\"./GenericWorker\"),u=e(\"../base64\"),n=e(\"../support\"),a=e(\"../external\"),o=null;if(n.nodestream)try{o=e(\"../nodejs/NodejsStreamOutputAdapter\")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on(\"data\",function(e,t){n.push(e),o&&o(t)}).on(\"error\",function(e){n=[],r(e)}).on(\"end\",function(){try{var e=function(e,t,r){switch(e){case\"blob\":return h.newBlob(h.transformTo(\"arraybuffer\",t),r);case\"base64\":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case\"string\":return t.join(\"\");case\"array\":return Array.prototype.concat.apply([],t);case\"uint8array\":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case\"nodebuffer\":return Buffer.concat(t);default:throw new Error(\"concat : unsupported type '\"+e+\"'\")}}(i,n),a);t(e)}catch(e){r(e)}n=[]}).resume()})}function f(e,t,r){var n=t;switch(t){case\"blob\":case\"arraybuffer\":n=\"uint8array\";break;case\"base64\":n=\"string\"}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock()}catch(e){this._worker=new s(\"error\"),this._worker.error(e)}}f.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return\"data\"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta)}):this._worker.on(e,function(){h.delay(t,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport(\"nodestream\"),\"nodebuffer\"!==this._outputType)throw new Error(this._outputType+\" is not supported by this method\");return new o(this,{objectMode:\"nodebuffer\"!==this._outputType},e)}},t.exports=f},{\"../base64\":1,\"../external\":6,\"../nodejs/NodejsStreamOutputAdapter\":13,\"../support\":30,\"../utils\":32,\"./ConvertWorker\":24,\"./GenericWorker\":28}],30:[function(e,t,r){\"use strict\";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,r.nodebuffer=\"undefined\"!=typeof Buffer,r.uint8array=\"undefined\"!=typeof Uint8Array,\"undefined\"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:\"application/zip\"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob(\"application/zip\").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e(\"readable-stream\").Readable}catch(e){r.nodestream=!1}},{\"readable-stream\":16}],31:[function(e,t,s){\"use strict\";for(var o=e(\"./utils\"),h=e(\"./support\"),r=e(\"./nodejsUtils\"),n=e(\"./stream/GenericWorker\"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;u[254]=u[254]=1;function a(){n.call(this,\"utf-8 decode\"),this.leftOver=null}function l(){n.call(this,\"utf-8 encode\")}s.utf8encode=function(e){return h.nodebuffer?r.newBufferFrom(e,\"utf-8\"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=h.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo(\"nodebuffer\",e).toString(\"utf-8\"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=u[n]))a[r++]=65533,t+=i-1;else{for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?\"uint8array\":\"array\",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?\"uint8array\":\"array\",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(e,t,a){\"use strict\";var o=e(\"./support\"),h=e(\"./base64\"),r=e(\"./nodejsUtils\"),u=e(\"./external\");function n(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e(\"setimmediate\"),a.newBlob=function(t,r){a.checkSupport(\"blob\");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error(\"Bug : can't construct the Blob.\")}}};var i={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)\"array\"===t||\"nodebuffer\"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join(\"\")},stringifyByChar:function(e){for(var t=\"\",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if(\"uint8array\"===r?n=i.applyCanBeUsed.uint8array:\"nodebuffer\"===r&&(n=i.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return i.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2)}return i.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=s;var c={};c.string={string:n,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:s,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return s(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:n},a.transformTo=function(e,t){if(t=t||\"\",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.resolve=function(e){for(var t=e.split(\"/\"),r=[],n=0;n<t.length;n++){var i=t[n];\".\"===i||\"\"===i&&0!==n&&n!==t.length-1||(\"..\"===i?r.pop():r.push(i))}return r.join(\"/\")},a.getTypeOf=function(e){return\"string\"==typeof e?\"string\":\"[object Array]\"===Object.prototype.toString.call(e)?\"array\":o.nodebuffer&&r.isBuffer(e)?\"nodebuffer\":o.uint8array&&e instanceof Uint8Array?\"uint8array\":o.arraybuffer&&e instanceof ArrayBuffer?\"arraybuffer\":void 0},a.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+\" is not supported by this platform\")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n=\"\";for(r=0;r<(e||\"\").length;r++)n+=\"\\\\x\"+((t=e.charCodeAt(r))<16?\"0\":\"\")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[])})},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(r,e,n,i,s){return u.Promise.resolve(e).then(function(n){return o.blob&&(n instanceof Blob||-1!==[\"[object File]\",\"[object Blob]\"].indexOf(Object.prototype.toString.call(n)))&&\"undefined\"!=typeof FileReader?new u.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.onerror=function(e){r(e.target.error)},e.readAsArrayBuffer(n)}):n}).then(function(e){var t=a.getTypeOf(e);return t?(\"arraybuffer\"===t?e=a.transformTo(\"uint8array\",e):\"string\"===t&&(s?e=h.decode(e):n&&!0!==i&&(e=function(e){return l(e,o.uint8array?new Uint8Array(e.length):new Array(e.length))}(e))),e):u.Promise.reject(new Error(\"Can't read the data of '\"+r+\"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?\"))})}},{\"./base64\":1,\"./external\":6,\"./nodejsUtils\":14,\"./support\":30,setimmediate:54}],33:[function(e,t,r){\"use strict\";var n=e(\"./reader/readerFor\"),i=e(\"./utils\"),s=e(\"./signature\"),a=e(\"./zipEntry\"),o=e(\"./support\");function h(e){this.files=[],this.loadOptions=e}h.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error(\"Corrupted zip or bug: unexpected signature (\"+i.pretty(t)+\", expected \"+i.pretty(e)+\")\")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?\"uint8array\":\"array\",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error(\"Multi-volumes zip are not supported\")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error(\"Corrupted zip or bug: expected \"+this.centralDirRecords+\" records in central dir, got \"+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error(\"Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html\"):new Error(\"Corrupted zip: can't find end of central directory\");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory locator\");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error(\"Corrupted zip: can't find the ZIP64 end of central directory\");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error(\"Corrupted zip: missing \"+Math.abs(n)+\" bytes.\")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=h},{\"./reader/readerFor\":22,\"./signature\":23,\"./support\":30,\"./utils\":32,\"./zipEntry\":34}],34:[function(e,t,r){\"use strict\";var n=e(\"./reader/readerFor\"),s=e(\"./utils\"),i=e(\"./compressedObject\"),a=e(\"./crc32\"),o=e(\"./utf8\"),h=e(\"./compressions\"),u=e(\"./support\");function l(e,t){this.options=e,this.loadOptions=t}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error(\"Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)\");if(null===(t=function(e){for(var t in h)if(Object.prototype.hasOwnProperty.call(h,t)&&h[t].magic===e)return h[t];return null}(this.compressionMethod)))throw new Error(\"Corrupted zip : compression \"+s.pretty(this.compressionMethod)+\" unknown (inner file : \"+s.transformTo(\"string\",this.fileName)+\")\");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error(\"Encrypted zip are not supported\");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=u.uint8array?\"uint8array\":\"array\";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=l},{\"./compressedObject\":2,\"./compressions\":3,\"./crc32\":4,\"./reader/readerFor\":22,\"./support\":30,\"./utf8\":31,\"./utils\":32}],35:[function(e,t,r){\"use strict\";function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=e(\"./stream/StreamHelper\"),i=e(\"./stream/DataWorker\"),a=e(\"./utf8\"),o=e(\"./compressedObject\"),h=e(\"./stream/GenericWorker\");n.prototype={internalStream:function(e){var t=null,r=\"string\";try{if(!e)throw new Error(\"No output type specified.\");var n=\"string\"===(r=e.toLowerCase())||\"text\"===r;\"binarystring\"!==r&&\"text\"!==r||(r=\"string\"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker))}catch(e){(t=new h(\"error\")).error(e)}return new s(t,r,\"\")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||\"nodebuffer\").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var u=[\"asText\",\"asBinary\",\"asNodeBuffer\",\"asUint8Array\",\"asArrayBuffer\"],l=function(){throw new Error(\"This method has been removed in JSZip 3.0, please check the upgrade guide.\")},f=0;f<u.length;f++)n.prototype[u[f]]=l;t.exports=n},{\"./compressedObject\":2,\"./stream/DataWorker\":27,\"./stream/GenericWorker\":28,\"./stream/StreamHelper\":29,\"./utf8\":31}],36:[function(e,l,t){(function(t){\"use strict\";var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),a=t.document.createTextNode(\"\");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2}}else if(t.setImmediate||void 0===t.MessageChannel)r=\"document\"in t&&\"onreadystatechange\"in t.document.createElement(\"script\")?function(){var e=t.document.createElement(\"script\");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(u,0)};else{var o=new t.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r;)t[e]();r=h.length}n=!1}l.exports=function(e){1!==h.push(e)||n||r()}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],37:[function(e,t,r){\"use strict\";var i=e(\"immediate\");function u(){}var l={},s=[\"REJECTED\"],a=[\"FULFILLED\"],n=[\"PENDING\"];function o(e){if(\"function\"!=typeof e)throw new TypeError(\"resolver must be a function\");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&d(this,e)}function h(e,t,r){this.promise=e,\"function\"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),\"function\"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(t,r,n){i(function(){var e;try{e=r(n)}catch(e){return l.reject(t,e)}e===t?l.reject(t,new TypeError(\"Cannot resolve promise with itself\")):l.resolve(t,e)})}function c(e){var t=e&&e.then;if(e&&(\"object\"==typeof e||\"function\"==typeof e)&&\"function\"==typeof t)return function(){t.apply(e,arguments)}}function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e))}function i(e){r||(r=!0,l.resolve(t,e))}var s=p(function(){e(i,n)});\"error\"===s.status&&n(s.value)}function p(e,t){var r={};try{r.value=e(t),r.status=\"success\"}catch(e){r.status=\"error\",r.value=e}return r}(t.exports=o).prototype.finally=function(t){if(\"function\"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if(\"function\"!=typeof e&&this.state===a||\"function\"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);this.state!==n?f(r,this.state===a?e:t,this.outcome):this.queue.push(new h(r,e,t));return r},h.prototype.callFulfilled=function(e){l.resolve(this.promise,e)},h.prototype.otherCallFulfilled=function(e){f(this.promise,this.onFulfilled,e)},h.prototype.callRejected=function(e){l.reject(this.promise,e)},h.prototype.otherCallRejected=function(e){f(this.promise,this.onRejected,e)},l.resolve=function(e,t){var r=p(c,t);if(\"error\"===r.status)return l.reject(e,r.value);var n=r.value;if(n)d(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},l.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){if(e instanceof this)return e;return l.resolve(new this(u),e)},o.reject=function(e){var t=new this(u);return l.reject(t,e)},o.all=function(e){var r=this;if(\"[object Array]\"!==Object.prototype.toString.call(e))return this.reject(new TypeError(\"must be an array\"));var n=e.length,i=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,t=-1,o=new this(u);for(;++t<n;)h(e[t],t);return o;function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l.resolve(o,s))},function(e){i||(i=!0,l.reject(o,e))})}},o.race=function(e){var t=this;if(\"[object Array]\"!==Object.prototype.toString.call(e))return this.reject(new TypeError(\"must be an array\"));var r=e.length,n=!1;if(!r)return this.resolve([]);var i=-1,s=new this(u);for(;++i<r;)a=e[i],t.resolve(a).then(function(e){n||(n=!0,l.resolve(s,e))},function(e){n||(n=!0,l.reject(s,e))});var a;return s}},{immediate:36}],38:[function(e,t,r){\"use strict\";var n={};(0,e(\"./lib/utils/common\").assign)(n,e(\"./lib/deflate\"),e(\"./lib/inflate\"),e(\"./lib/zlib/constants\")),t.exports=n},{\"./lib/deflate\":39,\"./lib/inflate\":40,\"./lib/utils/common\":41,\"./lib/zlib/constants\":44}],39:[function(e,t,r){\"use strict\";var a=e(\"./zlib/deflate\"),o=e(\"./utils/common\"),h=e(\"./utils/strings\"),i=e(\"./zlib/messages\"),s=e(\"./zlib/zstream\"),u=Object.prototype.toString,l=0,f=-1,c=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:f,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:\"\"},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n=\"string\"==typeof t.dictionary?h.string2buf(t.dictionary):\"[object ArrayBuffer]\"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==l)throw new Error(i[r]);this._dict_set=!0}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?4:0,\"string\"==typeof e?i.input=h.string2buf(e):\"[object ArrayBuffer]\"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||(\"string\"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)))}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==n||(this.onEnd(l),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===l&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,n(e,t)}},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/deflate\":46,\"./zlib/messages\":51,\"./zlib/zstream\":53}],40:[function(e,t,r){\"use strict\";var c=e(\"./zlib/inflate\"),d=e(\"./utils/common\"),p=e(\"./utils/strings\"),m=e(\"./zlib/constants\"),n=e(\"./zlib/messages\"),i=e(\"./zlib/zstream\"),s=e(\"./zlib/gzheader\"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=d.assign({chunkSize:16384,windowBits:0,to:\"\"},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=c.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,c.inflateGetHeader(this.strm,this.header)}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,\"string\"==typeof e?h.input=p.binstring2buf(e):\"[object ArrayBuffer]\"===_.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new d.Buf8(u),h.next_out=0,h.avail_out=u),(r=c.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o=\"string\"==typeof l?p.string2buf(l):\"[object ArrayBuffer]\"===_.call(l)?new Uint8Array(l):l,r=c.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||(\"string\"===this.options.to?(i=p.utf8border(h.output,h.next_out),s=h.next_out-i,a=p.buf2string(h.output,i),h.next_out=s,h.avail_out=u-s,s&&d.arraySet(h.output,h.output,i,s,0),this.onData(a)):this.onData(d.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=c.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e)},a.prototype.onEnd=function(e){e===m.Z_OK&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,o(e,t)},r.ungzip=o},{\"./utils/common\":41,\"./utils/strings\":42,\"./zlib/constants\":44,\"./zlib/gzheader\":47,\"./zlib/inflate\":49,\"./zlib/messages\":51,\"./zlib/zstream\":53}],41:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(\"object\"!=typeof r)throw new TypeError(r+\"must be non-object\");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(e,t,r){\"use strict\";var h=e(\"./common\"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var u=new h.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,h.shrinkBuf(e,t));for(var r=\"\",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new h.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=u[i]))o[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{\"./common\":41}],43:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521}return i|s<<16|0}},{}],44:[function(e,t,r){\"use strict\";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){\"use strict\";var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){\"use strict\";var h,c=e(\"../utils/common\"),u=e(\"./trees\"),d=e(\"./adler32\"),p=e(\"./crc32\"),n=e(\"./messages\"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4<e?9:0)}function D(e){for(var t=e.length;0<=--t;)e[t]=0}function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<c);if(n=S-(c-s),s=c-S,a<n){if(e.match_start=t,o<=(a=n))break;d=u[s+a-1],p=u[s+a]}}}while((t=f[t&l])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,c.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=d(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=r,e.lookahead+e.insert>=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+x-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<z&&0!==e.strm.avail_in)}function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r)),e.match_length>=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return A}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return A}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(2*w),this.dyn_dtree=new c.Buf16(2*(2*a+1)),this.bl_tree=new c.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(k+1),this.heap=new c.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?C:E,e.adler=2===t.wrap?0:1,t.last_flush=l,u._tr_init(t),m):R(e,_)}function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_size,D(e.head),e.max_lazy_match=h[e.level].max_lazy,e.good_match=h[e.level].good_length,e.nice_match=h[e.level].nice_length,e.max_chain_length=h[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0}(e.state),t}function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||y<i||r!==v||n<8||15<n||t<0||9<t||s<0||b<s)return R(e,_);8===n&&(n=9);var o=new H;return(e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new c.Buf8(2*o.w_size),o.head=new c.Buf16(o.hash_size),o.prev=new c.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new c.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,K(e)}h=[new M(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?R(e,_):_;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&t!==f)return R(e,0===e.avail_out?-5:_);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===C)if(2===n.wrap)e.adler=0,U(n,31),U(n,139),U(n,8),n.gzhead?(U(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),U(n,255&n.gzhead.time),U(n,n.gzhead.time>>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+S;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=S-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?m:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==C&&69!==t&&73!==t&&91!==t&&103!==t&&t!==E&&666!==t?R(e,_):(e.state=null,t===E?R(e,-3):m):_},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,h,u,l=t.length;if(!e||!e.state)return _;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(e.adler=d(e.adler,t,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+x-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,e.next_in=o,e.input=h,e.avail_in=a,r.wrap=s,m},r.deflateInfo=\"pako deflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./messages\":51,\"./trees\":52}],47:[function(e,t,r){\"use strict\";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){\"use strict\";t.exports=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,c=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg=\"invalid literal/length code\",r.mode=30;break e}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}e.msg=\"invalid distance code\",r.mode=30;break e}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break e}if(S=c,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=c[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=c[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p}},{}],49:[function(e,t,r){\"use strict\";var I=e(\"../utils/common\"),O=e(\"./adler32\"),B=e(\"./crc32\"),R=e(\"./inffast\"),T=e(\"./inftrees\"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e,t))!==N&&(e.state=null),r):U}var l,f,c=!0;function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(D,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,f,0,e.work,{bits:5}),c=!1}e.lencode=l,e.lenbits=9,e.distcode=f,e.distbits=5}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,f=o,c=h,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){e.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){e.msg=\"unknown compression method\",r.mode=30;break}if(57344&r.flags){e.msg=\"unknown header flags set\",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(65535&r.check)){e.msg=\"header crc mismatch\",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}e.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o<d&&(d=o),h<d&&(d=h),0===d)break e;I.arraySet(i,n,s,d,a),o-=d,s+=d,h-=d,a+=d,r.length-=d;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){e.msg=\"too many length or distance symbols\",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(h<d&&(d=h),h-=d,r.length-=d;i[a++]=m[p++],--d;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;i[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break e;o--,u|=n[s++]<<l,l+=8}if(c-=h,e.total_out+=c,r.total+=c,c&&(e.adler=r.check=r.flags?B(r.check,i,c,a-c):O(r.check,i,c,a-c)),c=h,(r.flags?u:L(u))!==r.check){e.msg=\"incorrect data check\",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(4294967295&r.total)){e.msg=\"incorrect length check\",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return-4;case 32:default:return U}return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,(r.wsize||c!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,c-e.avail_out)?(r.mode=31,-4):(f-=e.avail_in,c-=e.avail_out,e.total_in+=f,e.total_out+=c,r.total+=c,r.wrap&&c&&(e.adler=r.check=r.flags?B(r.check,i,c,e.next_out-c):O(r.check,i,c,e.next_out-c)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===c||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo=\"pako inflate (from Nodeca project)\"},{\"../utils/common\":41,\"./adler32\":43,\"./crc32\":45,\"./inffast\":48,\"./inftrees\":50}],50:[function(e,t,r){\"use strict\";var D=e(\"../utils/common\"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,a,o){var h,u,l,f,c,d,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<n;v++)O[t[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===e||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<n;v++)0!==t[r+v]&&(a[B[t[r+v]]++]=v);if(d=0===e?(A=R=a,19):1===e?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,c=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<d?(m=0,a[v]):a[v]>d?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;i[c+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),c+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===e&&852<C||2===e&&592<C)return 1;i[l=E&f]=k<<24|x<<16|c-s|0}}return 0!==E&&(i[c+E]=b-S<<24|64<<16|0),o.bits=k,0}},{\"../utils/common\":41}],51:[function(e,t,r){\"use strict\";t.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}},{}],52:[function(e,t,r){\"use strict\";var i=e(\"../utils/common\"),o=0,h=1;function n(e){for(var t=e.length;0<=--t;)e[t]=0}var s=0,a=29,u=256,l=u+1+a,f=30,c=19,_=2*l+1,g=15,d=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));n(z);var C=new Array(2*f);n(C);var E=new Array(512);n(E);var A=new Array(256);n(A);var I=new Array(a);n(I);var O,B,R,T=new Array(f);function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function N(e){return e<256?E[e]:E[256+(e>>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi_buf),e.bi_buf=t>>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function L(e,t,r){P(e,r[2*t],r[2*t+1])}function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<c;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*m]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&H(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!H(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?L(e,i,t):(L(e,(s=A[i])+u+1,t),0!==(a=w[s])&&P(e,i-=I[s],a),L(e,s=N(--n),r),0!==(a=k[s])&&P(e,n-=T[s],a)),o<e.last_lit;);L(e,m,t)}function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u<n||(e.bl_count[s]++,a=0,d<=n&&(a=c[n-d]),o=h[2*n],e.opt_len+=o*(s+a),f&&(e.static_len+=o*(l[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(h[2*i+1]!==s&&(e.opt_len+=(s-h[2*i+1])*h[2*i],h[2*i+1]=s),n--)}}(e,t),Z(s,u,e.bl_count)}function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<h&&i===a||(o<u?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):o<=10?e.bl_tree[2*v]++:e.bl_tree[2*y]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4))}function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;L(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(L(e,i,e.bl_tree),o--),L(e,b,e.bl_tree),P(e,o-3,2)):o<=10?(L(e,v,e.bl_tree),P(e,o-3,3)):(L(e,y,e.bl_tree),P(e,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4)}}n(T);var q=!1;function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e,r),U(e,~r)),i.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}r._tr_init=function(e){q||(function(){var e,t,r,n,i,s=new Array(g+1);for(n=r=0;n<a-1;n++)for(I[n]=r,e=0;e<1<<w[n];e++)A[r++]=n;for(A[r-1]=n,n=i=0;n<16;n++)for(T[n]=i,e=0;e<1<<k[n];e++)E[i++]=n;for(i>>=7;n<f;n++)for(T[n]=i<<7,e=0;e<1<<k[n]-7;e++)E[256+i++]=n;for(t=0;t<=g;t++)s[t]=0;for(e=0;e<=143;)z[2*e+1]=8,e++,s[8]++;for(;e<=255;)z[2*e+1]=9,e++,s[9]++;for(;e<=279;)z[2*e+1]=7,e++,s[7]++;for(;e<=287;)z[2*e+1]=8,e++,s[8]++;for(Z(z,l+1,s),e=0;e<f;e++)C[2*e+1]=5,C[2*e]=j(e,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,c,p)}(),q=!0),e.l_desc=new F(e.dyn_ltree,O),e.d_desc=new F(e.dyn_dtree,B),e.bl_desc=new F(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,W(e)},r._tr_stored_block=J,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return h;return o}(e)),Y(e,e.l_desc),Y(e,e.d_desc),a=function(e){var t;for(X(e,e.dyn_ltree,e.l_desc.max_code),X(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=c-1;3<=t&&0===e.bl_tree[2*S[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i<n;i++)P(e,e.bl_tree[2*S[i]+1],3);V(e,e.dyn_ltree,t-1),V(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),K(e,e.dyn_ltree,e.dyn_dtree)),W(e),n&&M(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{\"../utils/common\":41}],53:[function(e,t,r){\"use strict\";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){\"use strict\";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i=\"[object process]\"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage(\"\",\"*\"),r.onmessage=t,e}}()?(a=\"setImmediate$\"+Math.random()+\"$\",r.addEventListener?r.addEventListener(\"message\",d,!1):r.attachEvent(\"onmessage\",d),function(e){r.postMessage(a+e,\"*\")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&\"onreadystatechange\"in l.createElement(\"script\")?(s=l.documentElement,function(e){var t=l.createElement(\"script\");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return h[o]=n,i(o),o++},e.clearImmediate=f}function f(e){delete h[e]}function c(e){if(u)setTimeout(c,0,e);else{var t=h[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{f(e),u=!1}}}}function d(e){e.source===r&&\"string\"==typeof e.data&&0===e.data.indexOf(a)&&c(+e.data.slice(a.length))}}(\"undefined\"==typeof self?void 0===e?this:e:self)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}]},{},[10])(10)});", "/**\n * sha1-uint8array.ts\n */\nconst K = [\n 0x5a827999 | 0,\n 0x6ed9eba1 | 0,\n 0x8f1bbcdc | 0,\n 0xca62c1d6 | 0,\n];\nconst algorithms = {\n sha1: 1,\n};\nexport function createHash(algorithm) {\n if (algorithm && !algorithms[algorithm] && !algorithms[algorithm.toLowerCase()]) {\n throw new Error(\"Digest method not supported\");\n }\n return new Hash();\n}\nclass Hash {\n constructor() {\n this.A = 0x67452301 | 0;\n this.B = 0xefcdab89 | 0;\n this.C = 0x98badcfe | 0;\n this.D = 0x10325476 | 0;\n this.E = 0xc3d2e1f0 | 0;\n this._size = 0;\n this._sp = 0; // surrogate pair\n if (!sharedBuffer || sharedOffset >= 8000 /* N.allocTotal */) {\n sharedBuffer = new ArrayBuffer(8000 /* N.allocTotal */);\n sharedOffset = 0;\n }\n this._byte = new Uint8Array(sharedBuffer, sharedOffset, 80 /* N.allocBytes */);\n this._word = new Int32Array(sharedBuffer, sharedOffset, 20 /* N.allocWords */);\n sharedOffset += 80 /* N.allocBytes */;\n }\n update(data) {\n // data: string\n if (\"string\" === typeof data) {\n return this._utf8(data);\n }\n // data: undefined\n if (data == null) {\n throw new TypeError(\"Invalid type: \" + typeof data);\n }\n const byteOffset = data.byteOffset;\n const length = data.byteLength;\n let blocks = (length / 64 /* N.inputBytes */) | 0;\n let offset = 0;\n // longer than 1 block\n if (blocks && !(byteOffset & 3) && !(this._size % 64 /* N.inputBytes */)) {\n const block = new Int32Array(data.buffer, byteOffset, blocks * 16 /* N.inputWords */);\n while (blocks--) {\n this._int32(block, offset >> 2);\n offset += 64 /* N.inputBytes */;\n }\n this._size += offset;\n }\n // data: TypedArray | DataView\n const BYTES_PER_ELEMENT = data.BYTES_PER_ELEMENT;\n if (BYTES_PER_ELEMENT !== 1 && data.buffer) {\n const rest = new Uint8Array(data.buffer, byteOffset + offset, length - offset);\n return this._uint8(rest);\n }\n // no more bytes\n if (offset === length)\n return this;\n // data: Uint8Array | Int8Array\n return this._uint8(data, offset);\n }\n _uint8(data, offset) {\n const { _byte, _word } = this;\n const length = data.length;\n offset = offset | 0;\n while (offset < length) {\n const start = this._size % 64 /* N.inputBytes */;\n let index = start;\n while (offset < length && index < 64 /* N.inputBytes */) {\n _byte[index++] = data[offset++];\n }\n if (index >= 64 /* N.inputBytes */) {\n this._int32(_word);\n }\n this._size += index - start;\n }\n return this;\n }\n _utf8(text) {\n const { _byte, _word } = this;\n const length = text.length;\n let surrogate = this._sp;\n for (let offset = 0; offset < length;) {\n const start = this._size % 64 /* N.inputBytes */;\n let index = start;\n while (offset < length && index < 64 /* N.inputBytes */) {\n let code = text.charCodeAt(offset++) | 0;\n if (code < 0x80) {\n // ASCII characters\n _byte[index++] = code;\n }\n else if (code < 0x800) {\n // 2 bytes\n _byte[index++] = 0xC0 | (code >>> 6);\n _byte[index++] = 0x80 | (code & 0x3F);\n }\n else if (code < 0xD800 || code > 0xDFFF) {\n // 3 bytes\n _byte[index++] = 0xE0 | (code >>> 12);\n _byte[index++] = 0x80 | ((code >>> 6) & 0x3F);\n _byte[index++] = 0x80 | (code & 0x3F);\n }\n else if (surrogate) {\n // 4 bytes - surrogate pair\n code = ((surrogate & 0x3FF) << 10) + (code & 0x3FF) + 0x10000;\n _byte[index++] = 0xF0 | (code >>> 18);\n _byte[index++] = 0x80 | ((code >>> 12) & 0x3F);\n _byte[index++] = 0x80 | ((code >>> 6) & 0x3F);\n _byte[index++] = 0x80 | (code & 0x3F);\n surrogate = 0;\n }\n else {\n surrogate = code;\n }\n }\n if (index >= 64 /* N.inputBytes */) {\n this._int32(_word);\n _word[0] = _word[16 /* N.inputWords */];\n }\n this._size += index - start;\n }\n this._sp = surrogate;\n return this;\n }\n _int32(data, offset) {\n let { A, B, C, D, E } = this;\n let i = 0;\n offset = offset | 0;\n while (i < 16 /* N.inputWords */) {\n W[i++] = swap32(data[offset++]);\n }\n for (i = 16 /* N.inputWords */; i < 80 /* N.workWords */; i++) {\n W[i] = rotate1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]);\n }\n for (i = 0; i < 80 /* N.workWords */; i++) {\n const S = (i / 20) | 0;\n const T = (rotate5(A) + ft(S, B, C, D) + E + W[i] + K[S]) | 0;\n E = D;\n D = C;\n C = rotate30(B);\n B = A;\n A = T;\n }\n this.A = (A + this.A) | 0;\n this.B = (B + this.B) | 0;\n this.C = (C + this.C) | 0;\n this.D = (D + this.D) | 0;\n this.E = (E + this.E) | 0;\n }\n digest(encoding) {\n const { _byte, _word } = this;\n let i = (this._size % 64 /* N.inputBytes */) | 0;\n _byte[i++] = 0x80;\n // pad 0 for current word\n while (i & 3) {\n _byte[i++] = 0;\n }\n i >>= 2;\n if (i > 14 /* N.highIndex */) {\n while (i < 16 /* N.inputWords */) {\n _word[i++] = 0;\n }\n i = 0;\n this._int32(_word);\n }\n // pad 0 for rest words\n while (i < 16 /* N.inputWords */) {\n _word[i++] = 0;\n }\n // input size\n const bits64 = this._size * 8;\n const low32 = (bits64 & 0xffffffff) >>> 0;\n const high32 = (bits64 - low32) / 0x100000000;\n if (high32)\n _word[14 /* N.highIndex */] = swap32(high32);\n if (low32)\n _word[15 /* N.lowIndex */] = swap32(low32);\n this._int32(_word);\n return (encoding === \"hex\") ? this._hex() : this._bin();\n }\n _hex() {\n const { A, B, C, D, E } = this;\n return hex32(A) + hex32(B) + hex32(C) + hex32(D) + hex32(E);\n }\n _bin() {\n const { A, B, C, D, E, _byte, _word } = this;\n _word[0] = swap32(A);\n _word[1] = swap32(B);\n _word[2] = swap32(C);\n _word[3] = swap32(D);\n _word[4] = swap32(E);\n return _byte.slice(0, 20);\n }\n}\nconst W = new Int32Array(80 /* N.workWords */);\nlet sharedBuffer;\nlet sharedOffset = 0;\nconst hex32 = num => (num + 0x100000000).toString(16).substr(-8);\nconst swapLE = (c => (((c << 24) & 0xff000000) | ((c << 8) & 0xff0000) | ((c >> 8) & 0xff00) | ((c >> 24) & 0xff)));\nconst swapBE = (c => c);\nconst swap32 = isBE() ? swapBE : swapLE;\nconst rotate1 = num => (num << 1) | (num >>> 31);\nconst rotate5 = num => (num << 5) | (num >>> 27);\nconst rotate30 = num => (num << 30) | (num >>> 2);\nfunction ft(s, b, c, d) {\n if (s === 0)\n return (b & c) | ((~b) & d);\n if (s === 2)\n return (b & c) | (b & d) | (c & d);\n return b ^ c ^ d;\n}\nfunction isBE() {\n const buf = new Uint8Array(new Uint16Array([0xFEFF]).buffer); // BOM\n return (buf[0] === 0xFE);\n}\n", "import { createHash as createSha1Hash } from \"sha1-uint8array\";\nconst FileSystemError = new Error(\"File system not available.\");\nexport function generateUUID() {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!crypto.randomUUID) {\n throw new Error(\"generateUUID is not available in unsecure contexts.\");\n }\n return crypto.randomUUID();\n}\nexport function writeFile(path, name, stream) {\n throw FileSystemError;\n}\nexport function readFile(path) {\n throw FileSystemError;\n}\nexport function fetchFile(url) {\n throw FileSystemError;\n}\nexport const getFile = async (file) => {\n return readFile(file);\n};\nexport const hash = (data, algorithm = \"sha1\") => {\n if (![\"sha1\"].includes(algorithm)) {\n throw new Error(\"Hashing algorithm not supported: Available: sha1\");\n }\n const hash = hashUIntArray(data);\n return uint8ArrayToBase64(hash);\n};\nfunction uint8ArrayToBase64(uint8Array) {\n // Convert the Uint8Array to a binary string\n let binaryString = \"\";\n for (let i = 0; i < uint8Array.length; i++) {\n binaryString += String.fromCharCode(uint8Array[i]);\n }\n // Encode the binary string to base64\n const base64String = btoa(binaryString);\n return base64String;\n}\nfunction hashUIntArray(data, algorithm = \"sha1\") {\n if (![\"sha1\"].includes(algorithm)) {\n throw new Error(\"Hashing algorithm not supported: Available: sha1\");\n }\n return createSha1Hash(\"sha1\")\n .update(data)\n .digest();\n}\n", "import cjsModule from '../index.js'\n\nexport const configure = cjsModule.configure\n\nexport const stringify = cjsModule\nexport default cjsModule\n", "import { generateUUID, hash } from \"#utils/env\";\nimport stringifyJson from \"safe-stable-stringify\";\nexport function generateId(method) {\n if (method && method.toString() !== \"UUIDv4\") {\n throw new Error(`Id generation method not supported: \"${method.toString()}\"`);\n }\n return generateUUID();\n}\nexport function getUnixTimestamp(date) {\n return (new Date(date).getTime() / 1000).toFixed(0);\n}\nexport function buildOperationSignatureParams({ documentId, signer, operation, previousStateHash, }) {\n const { timestamp, scope, id, type } = operation;\n return [\n getUnixTimestamp(timestamp), // timestamp,\n signer.app.key, // signer public key\n hash(\n // hash (docID, scope, operationID, operationName, operationInput)\n [documentId, scope, id, type, stringifyJson(operation.input)].join(\"\")),\n previousStateHash, // state hash that the operation was applied to\n ];\n}\nconst textEncode = new TextEncoder();\nexport function buildOperationSignatureMessage(params) {\n const message = params.join(\"\");\n const prefix = \"\\x19Signed Operation:\\n\" + message.length.toString();\n return textEncode.encode(prefix + message);\n}\nexport function ab2hex(ab) {\n const view = ArrayBuffer.isView(ab) ? ab : new Uint8Array(ab);\n return Array.prototype.map\n .call(view, (x) => (\"00\" + x.toString(16)).slice(-2))\n .join(\"\");\n}\nexport function hex2ab(hex) {\n return new Uint8Array(hex.match(/[\\da-f]{2}/gi)?.map(function (h) {\n return parseInt(h, 16);\n }) ?? []);\n}\nexport async function buildOperationSignature(context, signMethod) {\n const params = buildOperationSignatureParams(context);\n const message = buildOperationSignatureMessage(params);\n const signature = await signMethod(message);\n return [...params, `0x${ab2hex(signature)}`];\n}\nexport async function buildSignedOperation(action, reducer, document, context, signHandler) {\n const result = reducer(document, action, undefined, {\n reuseHash: true,\n reuseOperationResultingState: true,\n });\n const operation = result.operations[action.scope].at(-1);\n if (!operation) {\n throw new Error(\"Action was not applied\");\n }\n const previousStateHash = result.operations[action.scope].at(-2)?.hash ?? \"\";\n const signature = await buildOperationSignature({\n ...context,\n operation,\n previousStateHash,\n }, signHandler);\n return {\n ...operation,\n context: {\n ...operation.context,\n signer: {\n ...operation.context?.signer,\n ...context.signer,\n signatures: [...(context.signer.signatures ?? []), signature],\n },\n },\n };\n}\nexport async function verifyOperationSignature(signature, signer, verifyHandler) {\n const publicKey = signer.app.key;\n const params = signature.slice(0, 4);\n const signatureBytes = hex2ab(signature[4]);\n const expectedMessage = buildOperationSignatureMessage(params);\n return verifyHandler(publicKey, signatureBytes, expectedMessage);\n}\n", "import { pascalCase } from \"change-case\";\nexport function validateInitialState(initialState, allowEmptyState = false) {\n const errors = [];\n if (allowEmptyState && initialState === \"\")\n return errors;\n try {\n const state = JSON.parse(initialState);\n if (!allowEmptyState && !Object.keys(state).length) {\n errors.push({\n message: \"Initial state cannot be empty\",\n details: {\n initialState,\n },\n });\n }\n }\n catch {\n errors.push({\n message: \"Invalid initial state\",\n details: {\n initialState,\n },\n });\n }\n return errors;\n}\nexport function validateStateSchemaName(schema, documentName, scope = \"\", allowEmptySchema = true) {\n const errors = [];\n if (!allowEmptySchema && !schema) {\n errors.push({\n message: \"State schema is required\",\n details: {\n schema,\n },\n });\n return errors;\n }\n if (allowEmptySchema && !schema)\n return errors;\n const expectedTypeName = `type ${pascalCase(documentName)}${pascalCase(scope)}State`;\n if (!schema.includes(expectedTypeName)) {\n errors.push({\n message: `Invalid state schema name. Expected ${expectedTypeName}`,\n details: {\n schema,\n },\n });\n }\n return errors;\n}\nexport function validateModules(modules) {\n const errors = [];\n if (!modules.length) {\n errors.push({\n message: \"Modules are required\",\n details: {\n modules,\n },\n });\n }\n const modulesError = modules.reduce((acc, mod) => [...acc, ...validateModule(mod)], []);\n return [...errors, ...modulesError];\n}\nexport function validateModule(mod) {\n const errors = [];\n if (!mod.name) {\n errors.push({\n message: \"Module name is required\",\n details: {\n module: mod,\n },\n });\n }\n if (!mod.operations.length) {\n errors.push({\n message: \"Module operations are required\",\n details: {\n module: mod,\n },\n });\n }\n const operationErrors = mod.operations.reduce((acc, operation) => [...acc, ...validateModuleOperation(operation)], []);\n return [...errors, ...operationErrors];\n}\nexport function validateModuleOperation(operation) {\n const errors = [];\n if (!operation.name) {\n errors.push({\n message: \"Operation name is required\",\n details: {\n operation,\n },\n });\n }\n if (!operation.schema) {\n errors.push({\n message: \"Operation schema is required\",\n details: {\n operation,\n },\n });\n }\n return errors;\n}\n", "// Regexps involved with splitting words in various case formats.\nconst SPLIT_LOWER_UPPER_RE = /([\\p{Ll}\\d])(\\p{Lu})/gu;\nconst SPLIT_UPPER_UPPER_RE = /(\\p{Lu})([\\p{Lu}][\\p{Ll}])/gu;\n\n// Used to iterate over the initial split result and separate numbers.\nconst SPLIT_SEPARATE_NUMBER_RE = /(\\d)\\p{Ll}|(\\p{L})\\d/u;\n\n// Regexp involved with stripping non-word characters from the result.\nconst DEFAULT_STRIP_REGEXP = /[^\\p{L}\\d]+/giu;\n\n// The replacement value for splits.\nconst SPLIT_REPLACE_VALUE = \"$1\\0$2\";\n\n// The default characters to keep after transforming case.\nconst DEFAULT_PREFIX_SUFFIX_CHARACTERS = \"\";\n\n/**\n * Supported locale values. Use `false` to ignore locale.\n * Defaults to `undefined`, which uses the host environment.\n */\nexport type Locale = string[] | string | false | undefined;\n\n/**\n * Options used for converting strings to pascal/camel case.\n */\nexport interface PascalCaseOptions extends Options {\n mergeAmbiguousCharacters?: boolean;\n}\n\n/**\n * Options used for converting strings to any case.\n */\nexport interface Options {\n locale?: Locale;\n split?: (value: string) => string[];\n /** @deprecated Pass `split: splitSeparateNumbers` instead. */\n separateNumbers?: boolean;\n delimiter?: string;\n prefixCharacters?: string;\n suffixCharacters?: string;\n}\n\n/**\n * Split any cased input strings into an array of words.\n */\nexport function split(value: string) {\n let result = value.trim();\n\n result = result\n .replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE)\n .replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);\n\n result = result.replace(DEFAULT_STRIP_REGEXP, \"\\0\");\n\n let start = 0;\n let end = result.length;\n\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\") start++;\n if (start === end) return [];\n while (result.charAt(end - 1) === \"\\0\") end--;\n\n return result.slice(start, end).split(/\\0/g);\n}\n\n/**\n * Split the input string into an array of words, separating numbers.\n */\nexport function splitSeparateNumbers(value: string) {\n const words = split(value);\n for (let i = 0; i < words.length; i++) {\n const word = words[i];\n const match = SPLIT_SEPARATE_NUMBER_RE.exec(word);\n if (match) {\n const offset = match.index + (match[1] ?? match[2]).length;\n words.splice(i, 1, word.slice(0, offset), word.slice(offset));\n }\n }\n return words;\n}\n\n/**\n * Convert a string to space separated lower case (`foo bar`).\n */\nexport function noCase(input: string, options?: Options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n return (\n prefix +\n words.map(lowerFactory(options?.locale)).join(options?.delimiter ?? \" \") +\n suffix\n );\n}\n\n/**\n * Convert a string to camel case (`fooBar`).\n */\nexport function camelCase(input: string, options?: PascalCaseOptions) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = options?.mergeAmbiguousCharacters\n ? capitalCaseTransformFactory(lower, upper)\n : pascalCaseTransformFactory(lower, upper);\n return (\n prefix +\n words\n .map((word, index) => {\n if (index === 0) return lower(word);\n return transform(word, index);\n })\n .join(options?.delimiter ?? \"\") +\n suffix\n );\n}\n\n/**\n * Convert a string to pascal case (`FooBar`).\n */\nexport function pascalCase(input: string, options?: PascalCaseOptions) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = options?.mergeAmbiguousCharacters\n ? capitalCaseTransformFactory(lower, upper)\n : pascalCaseTransformFactory(lower, upper);\n return prefix + words.map(transform).join(options?.delimiter ?? \"\") + suffix;\n}\n\n/**\n * Convert a string to pascal snake case (`Foo_Bar`).\n */\nexport function pascalSnakeCase(input: string, options?: Options) {\n return capitalCase(input, { delimiter: \"_\", ...options });\n}\n\n/**\n * Convert a string to capital case (`Foo Bar`).\n */\nexport function capitalCase(input: string, options?: Options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n return (\n prefix +\n words\n .map(capitalCaseTransformFactory(lower, upper))\n .join(options?.delimiter ?? \" \") +\n suffix\n );\n}\n\n/**\n * Convert a string to constant case (`FOO_BAR`).\n */\nexport function constantCase(input: string, options?: Options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n return (\n prefix +\n words.map(upperFactory(options?.locale)).join(options?.delimiter ?? \"_\") +\n suffix\n );\n}\n\n/**\n * Convert a string to dot case (`foo.bar`).\n */\nexport function dotCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \".\", ...options });\n}\n\n/**\n * Convert a string to kebab case (`foo-bar`).\n */\nexport function kebabCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \"-\", ...options });\n}\n\n/**\n * Convert a string to path case (`foo/bar`).\n */\nexport function pathCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \"/\", ...options });\n}\n\n/**\n * Convert a string to path case (`Foo bar`).\n */\nexport function sentenceCase(input: string, options?: Options) {\n const [prefix, words, suffix] = splitPrefixSuffix(input, options);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = capitalCaseTransformFactory(lower, upper);\n return (\n prefix +\n words\n .map((word, index) => {\n if (index === 0) return transform(word);\n return lower(word);\n })\n .join(options?.delimiter ?? \" \") +\n suffix\n );\n}\n\n/**\n * Convert a string to snake case (`foo_bar`).\n */\nexport function snakeCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \"_\", ...options });\n}\n\n/**\n * Convert a string to header case (`Foo-Bar`).\n */\nexport function trainCase(input: string, options?: Options) {\n return capitalCase(input, { delimiter: \"-\", ...options });\n}\n\nfunction lowerFactory(locale: Locale): (input: string) => string {\n return locale === false\n ? (input: string) => input.toLowerCase()\n : (input: string) => input.toLocaleLowerCase(locale);\n}\n\nfunction upperFactory(locale: Locale): (input: string) => string {\n return locale === false\n ? (input: string) => input.toUpperCase()\n : (input: string) => input.toLocaleUpperCase(locale);\n}\n\nfunction capitalCaseTransformFactory(\n lower: (input: string) => string,\n upper: (input: string) => string,\n) {\n return (word: string) => `${upper(word[0])}${lower(word.slice(1))}`;\n}\n\nfunction pascalCaseTransformFactory(\n lower: (input: string) => string,\n upper: (input: string) => string,\n) {\n return (word: string, index: number) => {\n const char0 = word[0];\n const initial =\n index > 0 && char0 >= \"0\" && char0 <= \"9\" ? \"_\" + char0 : upper(char0);\n return initial + lower(word.slice(1));\n };\n}\n\nfunction splitPrefixSuffix(\n input: string,\n options: Options = {},\n): [string, string[], string] {\n const splitFn =\n options.split ?? (options.separateNumbers ? splitSeparateNumbers : split);\n const prefixCharacters =\n options.prefixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;\n const suffixCharacters =\n options.suffixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;\n let prefixIndex = 0;\n let suffixIndex = input.length;\n\n while (prefixIndex < input.length) {\n const char = input.charAt(prefixIndex);\n if (!prefixCharacters.includes(char)) break;\n prefixIndex++;\n }\n\n while (suffixIndex > prefixIndex) {\n const index = suffixIndex - 1;\n const char = input.charAt(index);\n if (!suffixCharacters.includes(char)) break;\n suffixIndex = index;\n }\n\n return [\n input.slice(0, prefixIndex),\n splitFn(input.slice(prefixIndex, suffixIndex)),\n input.slice(suffixIndex),\n ];\n}\n", "export * from \"./header/actions.js\";\nexport * from \"./module/actions.js\";\nexport * from \"./operation-error/actions.js\";\nexport * from \"./operation-example/actions.js\";\nexport * from \"./operation/actions.js\";\nexport * from \"./state/actions.js\";\nexport * from \"./versioning/actions.js\";\n", "export * from \"./header/creators.js\";\nexport * from \"./versioning/creators.js\";\nexport * from \"./module/creators.js\";\nexport * from \"./operation-error/creators.js\";\nexport * from \"./operation-example/creators.js\";\nexport * from \"./operation/creators.js\";\nexport * from \"./state/creators.js\";\n", "var util;\n(function (util) {\n util.assertEqual = (val) => val;\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array\n .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n .join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (objectUtil = {}));\nconst ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"symbol\":\n return ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then &&\n typeof data.then === \"function\" &&\n data.catch &&\n typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n\nconst ZodIssueCode = util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nclass ZodError extends Error {\n get errors() {\n return this.issues;\n }\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n static assert(value) {\n if (!(value instanceof ZodError)) {\n throw new Error(`Not a ZodError: ${value}`);\n }\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n if (issue.received === ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;\n break;\n case ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;\n break;\n case ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `smaller than or equal to`\n : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util.assertNever(issue);\n }\n return { message };\n};\n\nlet overrideErrorMap = errorMap;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n\nconst makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n if (issueData.message !== undefined) {\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message,\n };\n }\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: errorMessage,\n };\n};\nconst EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const overrideMap = getErrorMap();\n const issue = makeIssue({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap, // contextual error map is first priority\n ctx.schemaErrorMap, // then schema-bound map if available\n overrideMap, // then global override map\n overrideMap === errorMap ? undefined : errorMap, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nclass ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return INVALID;\n if (value.status === \"aborted\")\n return INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" &&\n (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nconst INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nconst OK = (value) => ({ status: \"valid\", value });\nconst isAborted = (x) => x.status === \"aborted\";\nconst isDirty = (x) => x.status === \"dirty\";\nconst isValid = (x) => x.status === \"valid\";\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nfunction __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil || (errorUtil = {}));\n\nvar _ZodEnum_cache, _ZodNativeEnum_cache;\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (this._key instanceof Array) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if (isValid(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n var _a, _b;\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message !== null && message !== void 0 ? message : ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: (_a = message !== null && message !== void 0 ? message : required_error) !== null && _a !== void 0 ? _a : ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: (_b = message !== null && message !== void 0 ? message : invalid_type_error) !== null && _b !== void 0 ? _b : ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return getParsedType(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if (isAsync(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n var _a;\n const ctx = {\n common: {\n issues: [],\n async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n \"~validate\"(data) {\n var _a, _b;\n const ctx = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async,\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n if (!this[\"~standard\"].async) {\n try {\n const result = this._parseSync({ data, path: [], parent: ctx });\n return isValid(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n };\n }\n catch (err) {\n if ((_b = (_a = err === null || err === void 0 ? void 0 : err.message) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.includes(\"encountered\")) {\n this[\"~standard\"].async = true;\n }\n ctx.common = {\n issues: [],\n async: true,\n };\n }\n }\n return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n });\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n async: true,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await (isAsync(maybeAsyncResult)\n ? maybeAsyncResult\n : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\"\n ? refinementData(val, ctx)\n : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (data) => this[\"~validate\"](data),\n };\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[0-9a-z]+$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\nconst nanoidRegex = /^[a-z0-9_-]{21}$/i;\nconst jwtRegex = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/;\nconst durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&\u2019*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\n// faster, simpler, safer\nconst ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nconst ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/;\n// const ipv6Regex =\n// /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\nconst ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;\nconst ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nconst base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\n// https://base64.guru/standards/base64url\nconst base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;\n// simple\n// const dateRegexSource = `\\\\d{4}-\\\\d{2}-\\\\d{2}`;\n// no leap year validation\n// const dateRegexSource = `\\\\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\\\\d|2\\\\d))`;\n// with leap year validation\nconst dateRegexSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateRegex = new RegExp(`^${dateRegexSource}$`);\nfunction timeRegexSource(args) {\n // let regex = `\\\\d{2}:\\\\d{2}:\\\\d{2}`;\n let regex = `([01]\\\\d|2[0-3]):[0-5]\\\\d:[0-5]\\\\d`;\n if (args.precision) {\n regex = `${regex}\\\\.\\\\d{${args.precision}}`;\n }\n else if (args.precision == null) {\n regex = `${regex}(\\\\.\\\\d+)?`;\n }\n return regex;\n}\nfunction timeRegex(args) {\n return new RegExp(`^${timeRegexSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nfunction datetimeRegex(args) {\n let regex = `${dateRegexSource}T${timeRegexSource(args)}`;\n const opts = [];\n opts.push(args.local ? `Z?` : `Z`);\n if (args.offset)\n opts.push(`([+-]\\\\d{2}:?\\\\d{2})`);\n regex = `${regex}(${opts.join(\"|\")})`;\n return new RegExp(`^${regex}$`);\n}\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nfunction isValidJWT(jwt, alg) {\n if (!jwtRegex.test(jwt))\n return false;\n try {\n const [header] = jwt.split(\".\");\n // Convert base64url to base64\n const base64 = header\n .replace(/-/g, \"+\")\n .replace(/_/g, \"/\")\n .padEnd(header.length + ((4 - (header.length % 4)) % 4), \"=\");\n const decoded = JSON.parse(atob(base64));\n if (typeof decoded !== \"object\" || decoded === null)\n return false;\n if (!decoded.typ || !decoded.alg)\n return false;\n if (alg && decoded.alg !== alg)\n return false;\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nfunction isValidCidr(ip, version) {\n if ((version === \"v4\" || !version) && ipv4CidrRegex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6CidrRegex.test(ip)) {\n return true;\n }\n return false;\n}\nclass ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"email\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"emoji\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"uuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"nanoid\") {\n if (!nanoidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"nanoid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid2\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ulid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch (_a) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"regex\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"date\") {\n const regex = dateRegex;\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"date\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"time\") {\n const regex = timeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"time\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"duration\") {\n if (!durationRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"duration\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ip\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"jwt\") {\n if (!isValidJWT(input.data, check.alg)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"jwt\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cidr\") {\n if (!isValidCidr(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cidr\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64\") {\n if (!base64Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"base64\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64url\") {\n if (!base64urlRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"base64url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodIssueCode.invalid_string,\n ...errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil.errToObj(message) });\n }\n nanoid(message) {\n return this._addCheck({ kind: \"nanoid\", ...errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil.errToObj(message) });\n }\n base64(message) {\n return this._addCheck({ kind: \"base64\", ...errorUtil.errToObj(message) });\n }\n base64url(message) {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return this._addCheck({\n kind: \"base64url\",\n ...errorUtil.errToObj(message),\n });\n }\n jwt(options) {\n return this._addCheck({ kind: \"jwt\", ...errorUtil.errToObj(options) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil.errToObj(options) });\n }\n cidr(options) {\n return this._addCheck({ kind: \"cidr\", ...errorUtil.errToObj(options) });\n }\n datetime(options) {\n var _a, _b;\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n local: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false,\n local: (_b = options === null || options === void 0 ? void 0 : options.local) !== null && _b !== void 0 ? _b : false,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n date(message) {\n return this._addCheck({ kind: \"date\", message });\n }\n time(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"time\",\n precision: null,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"time\",\n precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n duration(message) {\n return this._addCheck({ kind: \"duration\", ...errorUtil.errToObj(message) });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options === null || options === void 0 ? void 0 : options.position,\n ...errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil.errToObj(message),\n });\n }\n /**\n * Equivalent to `.min(1)`\n */\n nonempty(message) {\n return this.min(1, errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isDate() {\n return !!this._def.checks.find((ch) => ch.kind === \"date\");\n }\n get isTime() {\n return !!this._def.checks.find((ch) => ch.kind === \"time\");\n }\n get isDuration() {\n return !!this._def.checks.find((ch) => ch.kind === \"duration\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isNANOID() {\n return !!this._def.checks.find((ch) => ch.kind === \"nanoid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get isCIDR() {\n return !!this._def.checks.find((ch) => ch.kind === \"cidr\");\n }\n get isBase64() {\n return !!this._def.checks.find((ch) => ch.kind === \"base64\");\n }\n get isBase64url() {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return !!this._def.checks.find((ch) => ch.kind === \"base64url\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodString.create = (params) => {\n var _a;\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / Math.pow(10, decCount);\n}\nclass ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.number,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" ||\n (ch.kind === \"multipleOf\" && util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null, min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" ||\n ch.kind === \"int\" ||\n ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n try {\n input.data = BigInt(input.data);\n }\n catch (_a) {\n return this._getInvalidInput(input);\n }\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.bigint) {\n return this._getInvalidInput(input);\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _getInvalidInput(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodBigInt.create = (params) => {\n var _a;\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.null,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.never,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n}\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.void,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n addIssueToContext(ctx, {\n code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<T, Augmentation>,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util.objectKeys(shape);\n return (this._cached = { shape, keys });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever &&\n this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") ;\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n var _a, _b, _c, _d;\n const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: (_d = errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n util.objectKeys(mask).forEach((key) => {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n util.objectKeys(this.shape).forEach((key) => {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n util.objectKeys(this.shape).forEach((key) => {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n util.objectKeys(this.shape).forEach((key) => {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util.objectKeys(this.shape));\n }\n}\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError(issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return util.objectValues(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else if (type instanceof ZodOptional) {\n return [undefined, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodNullable) {\n return [null, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodBranded) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodReadonly) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodCatch) {\n return getDiscriminator(type._def.innerType);\n }\n else {\n return [];\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues.length) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nfunction mergeValues(a, b) {\n const aType = getParsedType(a);\n const bType = getParsedType(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {\n const bKeys = util.objectKeys(b);\n const sharedKeys = util\n .objectKeys(a)\n .filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === ZodParsedType.date &&\n bType === ZodParsedType.date &&\n +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if (isAborted(parsedLeft) || isAborted(parsedRight)) {\n return INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_intersection_types,\n });\n return INVALID;\n }\n if (isDirty(parsedLeft) || isDirty(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (ctx.common.async) {\n return ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nclass ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.map) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.map,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.set) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.set,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nclass ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.function) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.function,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n function makeArgsIssue(args, error) {\n return makeIssue({\n data: args,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return makeIssue({\n data: returns,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n getErrorMap(),\n errorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(async function (...args) {\n const error = new ZodError([]);\n const parsedArgs = await me._def.args\n .parseAsync(args, params)\n .catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args\n ? args\n : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass ZodEnum extends ZodType {\n constructor() {\n super(...arguments);\n _ZodEnum_cache.set(this, void 0);\n }\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!__classPrivateFieldGet(this, _ZodEnum_cache, \"f\")) {\n __classPrivateFieldSet(this, _ZodEnum_cache, new Set(this._def.values), \"f\");\n }\n if (!__classPrivateFieldGet(this, _ZodEnum_cache, \"f\").has(input.data)) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values, newDef = this._def) {\n return ZodEnum.create(values, {\n ...this._def,\n ...newDef,\n });\n }\n exclude(values, newDef = this._def) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {\n ...this._def,\n ...newDef,\n });\n }\n}\n_ZodEnum_cache = new WeakMap();\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n constructor() {\n super(...arguments);\n _ZodNativeEnum_cache.set(this, void 0);\n }\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string &&\n ctx.parsedType !== ZodParsedType.number) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, \"f\")) {\n __classPrivateFieldSet(this, _ZodNativeEnum_cache, new Set(util.getValidEnumValues(this._def.values)), \"f\");\n }\n if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, \"f\").has(input.data)) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\n_ZodNativeEnum_cache = new WeakMap();\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.promise &&\n ctx.common.async === false) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const promisified = ctx.parsedType === ZodParsedType.promise\n ? ctx.data\n : Promise.resolve(ctx.data);\n return OK(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n addIssueToContext(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(processed).then(async (processed) => {\n if (status.value === \"aborted\")\n return INVALID;\n const result = await this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return INVALID;\n if (result.status === \"dirty\")\n return DIRTY(result.value);\n if (status.value === \"dirty\")\n return DIRTY(result.value);\n return result;\n });\n }\n else {\n if (status.value === \"aborted\")\n return INVALID;\n const result = this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return INVALID;\n if (result.status === \"dirty\")\n return DIRTY(result.value);\n if (status.value === \"dirty\")\n return DIRTY(result.value);\n return result;\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((inner) => {\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!isValid(base))\n return base;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((base) => {\n if (!isValid(base))\n return base;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n });\n }\n }\n util.assertNever(effect);\n }\n}\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.undefined) {\n return OK(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.null) {\n return OK(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\"\n ? params.default\n : () => params.default,\n ...processCreateParams(params),\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if (isAsync(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nconst BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nclass ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return DIRTY(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nclass ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n const freeze = (data) => {\n if (isValid(data)) {\n data.value = Object.freeze(data.value);\n }\n return data;\n };\n return isAsync(result)\n ? result.then((data) => freeze(data))\n : freeze(result);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\nfunction custom(check, params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n var _a, _b;\n if (!check(data)) {\n const p = typeof params === \"function\"\n ? params(data)\n : typeof params === \"string\"\n ? { message: params }\n : params;\n const _fatal = (_b = (_a = p.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n ctx.addIssue({ code: \"custom\", ...p2, fatal: _fatal });\n }\n });\n return ZodAny.create();\n}\nconst late = {\n object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\nconst instanceOfType = (\n// const instanceOfType = <T extends new (...args: any[]) => any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst symbolType = ZodSymbol.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst pipelineType = ZodPipeline.create;\nconst ostring = () => stringType().optional();\nconst onumber = () => numberType().optional();\nconst oboolean = () => booleanType().optional();\nconst coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nconst NEVER = INVALID;\n\nvar z = /*#__PURE__*/Object.freeze({\n __proto__: null,\n defaultErrorMap: errorMap,\n setErrorMap: setErrorMap,\n getErrorMap: getErrorMap,\n makeIssue: makeIssue,\n EMPTY_PATH: EMPTY_PATH,\n addIssueToContext: addIssueToContext,\n ParseStatus: ParseStatus,\n INVALID: INVALID,\n DIRTY: DIRTY,\n OK: OK,\n isAborted: isAborted,\n isDirty: isDirty,\n isValid: isValid,\n isAsync: isAsync,\n get util () { return util; },\n get objectUtil () { return objectUtil; },\n ZodParsedType: ZodParsedType,\n getParsedType: getParsedType,\n ZodType: ZodType,\n datetimeRegex: datetimeRegex,\n ZodString: ZodString,\n ZodNumber: ZodNumber,\n ZodBigInt: ZodBigInt,\n ZodBoolean: ZodBoolean,\n ZodDate: ZodDate,\n ZodSymbol: ZodSymbol,\n ZodUndefined: ZodUndefined,\n ZodNull: ZodNull,\n ZodAny: ZodAny,\n ZodUnknown: ZodUnknown,\n ZodNever: ZodNever,\n ZodVoid: ZodVoid,\n ZodArray: ZodArray,\n ZodObject: ZodObject,\n ZodUnion: ZodUnion,\n ZodDiscriminatedUnion: ZodDiscriminatedUnion,\n ZodIntersection: ZodIntersection,\n ZodTuple: ZodTuple,\n ZodRecord: ZodRecord,\n ZodMap: ZodMap,\n ZodSet: ZodSet,\n ZodFunction: ZodFunction,\n ZodLazy: ZodLazy,\n ZodLiteral: ZodLiteral,\n ZodEnum: ZodEnum,\n ZodNativeEnum: ZodNativeEnum,\n ZodPromise: ZodPromise,\n ZodEffects: ZodEffects,\n ZodTransformer: ZodEffects,\n ZodOptional: ZodOptional,\n ZodNullable: ZodNullable,\n ZodDefault: ZodDefault,\n ZodCatch: ZodCatch,\n ZodNaN: ZodNaN,\n BRAND: BRAND,\n ZodBranded: ZodBranded,\n ZodPipeline: ZodPipeline,\n ZodReadonly: ZodReadonly,\n custom: custom,\n Schema: ZodType,\n ZodSchema: ZodType,\n late: late,\n get ZodFirstPartyTypeKind () { return ZodFirstPartyTypeKind; },\n coerce: coerce,\n any: anyType,\n array: arrayType,\n bigint: bigIntType,\n boolean: booleanType,\n date: dateType,\n discriminatedUnion: discriminatedUnionType,\n effect: effectsType,\n 'enum': enumType,\n 'function': functionType,\n 'instanceof': instanceOfType,\n intersection: intersectionType,\n lazy: lazyType,\n literal: literalType,\n map: mapType,\n nan: nanType,\n nativeEnum: nativeEnumType,\n never: neverType,\n 'null': nullType,\n nullable: nullableType,\n number: numberType,\n object: objectType,\n oboolean: oboolean,\n onumber: onumber,\n optional: optionalType,\n ostring: ostring,\n pipeline: pipelineType,\n preprocess: preprocessType,\n promise: promiseType,\n record: recordType,\n set: setType,\n strictObject: strictObjectType,\n string: stringType,\n symbol: symbolType,\n transformer: effectsType,\n tuple: tupleType,\n 'undefined': undefinedType,\n union: unionType,\n unknown: unknownType,\n 'void': voidType,\n NEVER: NEVER,\n ZodIssueCode: ZodIssueCode,\n quotelessJson: quotelessJson,\n ZodError: ZodError\n});\n\nexport { BRAND, DIRTY, EMPTY_PATH, INVALID, NEVER, OK, ParseStatus, ZodType as Schema, ZodAny, ZodArray, ZodBigInt, ZodBoolean, ZodBranded, ZodCatch, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodError, ZodFirstPartyTypeKind, ZodFunction, ZodIntersection, ZodIssueCode, ZodLazy, ZodLiteral, ZodMap, ZodNaN, ZodNativeEnum, ZodNever, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodParsedType, ZodPipeline, ZodPromise, ZodReadonly, ZodRecord, ZodType as ZodSchema, ZodSet, ZodString, ZodSymbol, ZodEffects as ZodTransformer, ZodTuple, ZodType, ZodUndefined, ZodUnion, ZodUnknown, ZodVoid, addIssueToContext, anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, coerce, custom, dateType as date, datetimeRegex, z as default, errorMap as defaultErrorMap, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, getErrorMap, getParsedType, instanceOfType as instanceof, intersectionType as intersection, isAborted, isAsync, isDirty, isValid, late, lazyType as lazy, literalType as literal, makeIssue, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, objectUtil, oboolean, onumber, optionalType as optional, ostring, pipelineType as pipeline, preprocessType as preprocess, promiseType as promise, quotelessJson, recordType as record, setType as set, setErrorMap, strictObjectType as strictObject, stringType as string, symbolType as symbol, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, util, voidType as void, z };\n", "export const SET_NAME = \"SET_NAME\";\nexport const UNDO = \"UNDO\";\nexport const REDO = \"REDO\";\nexport const PRUNE = \"PRUNE\";\nexport const LOAD_STATE = \"LOAD_STATE\";\nexport const NOOP = \"NOOP\";\n", "import { dataTypes } from './constant';\n\nexport const enum DraftType {\n Object,\n Array,\n Map,\n Set,\n}\n\nexport const Operation = {\n Remove: 'remove',\n Replace: 'replace',\n Add: 'add',\n} as const;\n\nexport type DataType = keyof typeof dataTypes;\n\nexport type PatchesOptions =\n | boolean\n | {\n /**\n * The default value is `true`. If it's `true`, the path will be an array, otherwise it is a string.\n */\n pathAsArray?: boolean;\n /**\n * The default value is `true`. If it's `true`, the array length will be included in the patches, otherwise no include array length.\n */\n arrayLengthAssignment?: boolean;\n };\n\nexport interface Finalities {\n draft: ((patches?: Patches, inversePatches?: Patches) => void)[];\n revoke: (() => void)[];\n handledSet: WeakSet<any>;\n}\n\nexport interface ProxyDraft<T = any> {\n type: DraftType;\n operated?: boolean;\n finalized: boolean;\n original: T;\n copy: T | null;\n proxy: T | null;\n finalities: Finalities;\n options: Options<any, any> & { updatedValues?: WeakMap<any, any> };\n parent?: ProxyDraft | null;\n key?: string | number | symbol;\n setMap?: Map<any, ProxyDraft>;\n assignedMap?: Map<any, boolean>;\n callbacks?: ((patches?: Patches, inversePatches?: Patches) => void)[];\n}\n\ninterface IPatch {\n op: (typeof Operation)[keyof typeof Operation];\n value?: any;\n}\n\nexport type Patch<P extends PatchesOptions = any> = P extends {\n pathAsArray: false;\n}\n ? IPatch & {\n path: string;\n }\n : P extends true | object\n ? IPatch & {\n path: (string | number)[];\n }\n : IPatch & {\n path: string | (string | number)[];\n };\n\nexport type Patches<P extends PatchesOptions = any> = Patch<P>[];\n\nexport type Result<\n T extends any,\n O extends PatchesOptions,\n F extends boolean\n> = O extends true | object\n ? [F extends true ? Immutable<T> : T, Patches<O>, Patches<O>]\n : F extends true\n ? Immutable<T>\n : T;\n\nexport type CreateResult<\n T extends any,\n O extends PatchesOptions,\n F extends boolean,\n R extends void | Promise<void> | T | Promise<T>\n> = R extends Promise<void> | Promise<T>\n ? Promise<Result<T, O, F>>\n : Result<T, O, F>;\n\ntype BaseMark = null | undefined | DataType;\ntype MarkWithCopy = BaseMark | (() => any);\n\nexport type Mark<O extends PatchesOptions, F extends boolean> = (\n target: any,\n types: typeof dataTypes\n) => O extends true | object\n ? BaseMark\n : F extends true\n ? BaseMark\n : MarkWithCopy;\n\nexport interface Options<O extends PatchesOptions, F extends boolean> {\n /**\n * In strict mode, Forbid accessing non-draftable values and forbid returning a non-draft value.\n */\n strict?: boolean;\n /**\n * Enable patch, and return the patches and inversePatches.\n */\n enablePatches?: O;\n /**\n * Enable autoFreeze, and return frozen state.\n */\n enableAutoFreeze?: F;\n /**\n * Set a mark to determine if the object is mutable or if an instance is an immutable.\n * And it can also return a shallow copy function(AutoFreeze and Patches should both be disabled).\n */\n mark?: Mark<O, F>;\n}\n\nexport interface ExternalOptions<O extends PatchesOptions, F extends boolean> {\n /**\n * In strict mode, Forbid accessing non-draftable values and forbid returning a non-draft value.\n */\n strict?: boolean;\n /**\n * Enable patch, and return the patches and inversePatches.\n */\n enablePatches?: O;\n /**\n * Enable autoFreeze, and return frozen state.\n */\n enableAutoFreeze?: F;\n /**\n * Set a mark to determine if the object is mutable or if an instance is an immutable.\n * And it can also return a shallow copy function(AutoFreeze and Patches should both be disabled).\n */\n mark?: Mark<O, F>[] | Mark<O, F>;\n}\n\n// Exclude `symbol`\ntype Primitive = string | number | bigint | boolean | null | undefined;\n\ntype ImmutableMap<K, V> = ReadonlyMap<Immutable<K>, Immutable<V>>;\ntype ImmutableSet<T> = ReadonlySet<Immutable<T>>;\ntype ImmutableObject<T> = { readonly [K in keyof T]: Immutable<T[K]> };\n\nexport type IfAvailable<T, Fallback = void> = true | false extends (\n T extends never ? true : false\n)\n ? Fallback\n : keyof T extends never\n ? Fallback\n : T;\ntype WeakReferences =\n | IfAvailable<WeakMap<any, any>>\n | IfAvailable<WeakSet<any>>;\ntype AtomicObject = Function | Promise<any> | Date | RegExp;\n\nexport type Immutable<T> = T extends Primitive | AtomicObject\n ? T\n : T extends IfAvailable<ReadonlyMap<infer K, infer V>>\n ? ImmutableMap<K, V>\n : T extends IfAvailable<ReadonlySet<infer V>>\n ? ImmutableSet<V>\n : T extends WeakReferences\n ? T\n : T extends object\n ? ImmutableObject<T>\n : T;\n\ntype DraftedMap<K, V> = Map<K, Draft<V>>;\ntype DraftedSet<T> = Set<Draft<T>>;\ntype DraftedObject<T> = {\n -readonly [K in keyof T]: Draft<T[K]>;\n};\n\nexport type Draft<T> = T extends Primitive | AtomicObject\n ? T\n : T extends IfAvailable<ReadonlyMap<infer K, infer V>>\n ? DraftedMap<K, V>\n : T extends IfAvailable<ReadonlySet<infer V>>\n ? DraftedSet<V>\n : T extends WeakReferences\n ? T\n : T extends object\n ? DraftedObject<T>\n : T;\n", "// Don't use `Symbol()` just for 3rd party access the draft\nexport const PROXY_DRAFT = Symbol.for('__MUTATIVE_PROXY_DRAFT__');\nexport const RAW_RETURN_SYMBOL = Symbol('__MUTATIVE_RAW_RETURN_SYMBOL__');\n\nexport const iteratorSymbol: typeof Symbol.iterator = Symbol.iterator;\n\nexport const dataTypes = {\n mutable: 'mutable',\n immutable: 'immutable',\n} as const;\n", "import { createDraft } from './draft';\n\nexport const internal = {} as {\n createDraft: typeof createDraft;\n};\n", "export function has(target: object, key: PropertyKey) {\n return target instanceof Map\n ? target.has(key)\n : Object.prototype.hasOwnProperty.call(target, key);\n}\n\nexport function getDescriptor(target: object, key: PropertyKey) {\n if (key in target) {\n let prototype = Reflect.getPrototypeOf(target);\n while (prototype) {\n const descriptor = Reflect.getOwnPropertyDescriptor(prototype, key);\n if (descriptor) return descriptor;\n prototype = Reflect.getPrototypeOf(prototype);\n }\n }\n return;\n}\n\nexport function isBaseSetInstance(obj: any) {\n return Object.getPrototypeOf(obj) === Set.prototype;\n}\n\nexport function isBaseMapInstance(obj: any) {\n return Object.getPrototypeOf(obj) === Map.prototype;\n}\n", "import { DraftType, Mark, ProxyDraft } from '../interface';\nimport { dataTypes, PROXY_DRAFT } from '../constant';\nimport { has } from './proto';\n\nexport function latest<T = any>(proxyDraft: ProxyDraft): T {\n return proxyDraft.copy ?? proxyDraft.original;\n}\n\n/**\n * Check if the value is a draft\n */\nexport function isDraft(target: any) {\n return !!getProxyDraft(target);\n}\n\nexport function getProxyDraft<T extends any>(value: T): ProxyDraft | null {\n if (typeof value !== 'object') return null;\n return (value as { [PROXY_DRAFT]: any })?.[PROXY_DRAFT];\n}\n\nexport function getValue<T extends object>(value: T): T {\n const proxyDraft = getProxyDraft(value);\n return proxyDraft ? proxyDraft.copy ?? proxyDraft.original : value;\n}\n\n/**\n * Check if a value is draftable\n */\nexport function isDraftable(value: any, options?: { mark?: Mark<any, any> }) {\n if (!value || typeof value !== 'object') return false;\n let markResult: any;\n return (\n Object.getPrototypeOf(value) === Object.prototype ||\n Array.isArray(value) ||\n value instanceof Map ||\n value instanceof Set ||\n (!!options?.mark &&\n ((markResult = options.mark(value, dataTypes)) === dataTypes.immutable ||\n typeof markResult === 'function'))\n );\n}\n\nexport function getPath(\n target: ProxyDraft,\n path: any[] = []\n): (string | number | object)[] | null {\n if (Object.hasOwnProperty.call(target, 'key')) {\n // check if the parent is a draft and the original value is not equal to the current value\n const parentCopy = target.parent!.copy;\n const proxyDraft = getProxyDraft(get(parentCopy, target.key!));\n if (proxyDraft !== null && proxyDraft?.original !== target.original) {\n return null;\n }\n const isSet = target.parent!.type === DraftType.Set;\n const key = isSet\n ? Array.from(target.parent!.setMap!.keys()).indexOf(target.key)\n : target.key;\n // check if the key is still in the next state parent\n if (\n !((isSet && parentCopy.size > (key as number)) || has(parentCopy, key!))\n )\n return null;\n path.push(key);\n }\n if (target.parent) {\n return getPath(target.parent, path);\n }\n // `target` is root draft.\n path.reverse();\n try {\n // check if the path is valid\n resolvePath(target.copy, path);\n } catch (e) {\n return null;\n }\n return path;\n}\n\nexport function getType(target: any) {\n if (Array.isArray(target)) return DraftType.Array;\n if (target instanceof Map) return DraftType.Map;\n if (target instanceof Set) return DraftType.Set;\n return DraftType.Object;\n}\n\nexport function get(target: any, key: PropertyKey) {\n return getType(target) === DraftType.Map ? target.get(key) : target[key];\n}\n\nexport function set(target: any, key: PropertyKey, value: any) {\n const type = getType(target);\n if (type === DraftType.Map) {\n target.set(key, value);\n } else {\n target[key] = value;\n }\n}\n\nexport function peek(target: any, key: PropertyKey) {\n const state = getProxyDraft(target);\n const source = state ? latest(state) : target;\n return source[key];\n}\n\nexport function isEqual(x: any, y: any) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport function revokeProxy(proxyDraft: ProxyDraft | null) {\n if (!proxyDraft) return;\n while (proxyDraft.finalities.revoke.length > 0) {\n const revoke = proxyDraft.finalities.revoke.pop()!;\n revoke();\n }\n}\n\n// handle JSON Pointer path with spec https://www.rfc-editor.org/rfc/rfc6901\nexport function escapePath(path: string[], pathAsArray: boolean) {\n return pathAsArray\n ? path\n : ['']\n .concat(path)\n .map((_item) => {\n const item = `${_item}`;\n if (item.indexOf('/') === -1 && item.indexOf('~') === -1) return item;\n return item.replace(/~/g, '~0').replace(/\\//g, '~1');\n })\n .join('/');\n}\n\nexport function unescapePath(path: string | (string | number)[]) {\n if (Array.isArray(path)) return path;\n return path\n .split('/')\n .map((_item) => _item.replace(/~1/g, '/').replace(/~0/g, '~'))\n .slice(1);\n}\n\nexport function resolvePath(base: any, path: (string | number)[]) {\n for (let index = 0; index < path.length - 1; index += 1) {\n const key = path[index];\n // use `index` in Set draft\n base = get(getType(base) === DraftType.Set ? Array.from(base) : base, key);\n if (typeof base !== 'object') {\n throw new Error(`Cannot resolve patch at '${path.join('/')}'.`);\n }\n }\n return base;\n}\n", "import type { Options, ProxyDraft } from '../interface';\nimport { dataTypes } from '../constant';\nimport { getValue, isDraft, isDraftable } from './draft';\nimport { isBaseMapInstance, isBaseSetInstance } from './proto';\n\nfunction strictCopy(target: any) {\n const copy = Object.create(Object.getPrototypeOf(target));\n Reflect.ownKeys(target).forEach((key: any) => {\n let desc = Reflect.getOwnPropertyDescriptor(target, key)!;\n if (desc.enumerable && desc.configurable && desc.writable) {\n copy[key] = target[key];\n return;\n }\n // for freeze\n if (!desc.writable) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n desc = {\n configurable: true,\n writable: true,\n enumerable: desc.enumerable,\n value: target[key],\n };\n Reflect.defineProperty(copy, key, desc);\n });\n return copy;\n}\n\nconst propIsEnum = Object.prototype.propertyIsEnumerable;\n\nexport function shallowCopy(original: any, options?: Options<any, any>) {\n let markResult: any;\n if (Array.isArray(original)) {\n return Array.prototype.concat.call(original);\n } else if (original instanceof Set) {\n if (!isBaseSetInstance(original)) {\n const SubClass = Object.getPrototypeOf(original).constructor;\n return new SubClass(original.values());\n }\n return Set.prototype.difference\n ? Set.prototype.difference.call(original, new Set())\n : new Set(original.values());\n } else if (original instanceof Map) {\n if (!isBaseMapInstance(original)) {\n const SubClass = Object.getPrototypeOf(original).constructor;\n return new SubClass(original);\n }\n return new Map(original);\n } else if (\n options?.mark &&\n ((markResult = options.mark(original, dataTypes)),\n markResult !== undefined) &&\n markResult !== dataTypes.mutable\n ) {\n if (markResult === dataTypes.immutable) {\n return strictCopy(original);\n } else if (typeof markResult === 'function') {\n if (__DEV__ && (options.enablePatches || options.enableAutoFreeze)) {\n throw new Error(\n `You can't use mark and patches or auto freeze together.`\n );\n }\n return markResult();\n }\n throw new Error(`Unsupported mark result: ${markResult}`);\n } else if (\n typeof original === 'object' &&\n Object.getPrototypeOf(original) === Object.prototype\n ) {\n // For best performance with shallow copies,\n // don't use `Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));` by default.\n const copy: Record<string | symbol, any> = {};\n Object.keys(original).forEach((key) => {\n copy[key] = original[key];\n });\n Object.getOwnPropertySymbols(original).forEach((key) => {\n if (propIsEnum.call(original, key)) {\n copy[key] = original[key];\n }\n });\n return copy;\n } else {\n throw new Error(\n `Please check mark() to ensure that it is a stable marker draftable function.`\n );\n }\n}\n\nexport function ensureShallowCopy(target: ProxyDraft) {\n if (target.copy) return;\n target.copy = shallowCopy(target.original, target.options)!;\n}\n\nfunction deepClone<T>(target: T): T;\nfunction deepClone(target: any) {\n if (!isDraftable(target)) return getValue(target);\n if (Array.isArray(target)) return target.map(deepClone);\n if (target instanceof Map) {\n const iterable = Array.from(target.entries()).map(([k, v]) => [\n k,\n deepClone(v),\n ]) as Iterable<readonly [any, any]>;\n if (!isBaseMapInstance(target)) {\n const SubClass = Object.getPrototypeOf(target).constructor;\n return new SubClass(iterable);\n }\n return new Map(iterable);\n }\n if (target instanceof Set) {\n const iterable = Array.from(target).map(deepClone);\n if (!isBaseSetInstance(target)) {\n const SubClass = Object.getPrototypeOf(target).constructor;\n return new SubClass(iterable);\n }\n return new Set(iterable);\n }\n const copy = Object.create(Object.getPrototypeOf(target));\n for (const key in target) copy[key] = deepClone(target[key]);\n return copy;\n}\n\nexport function cloneIfNeeded<T>(target: T): T {\n return isDraft(target) ? deepClone(target) : target;\n}\n\nexport { deepClone };\n", "import { ProxyDraft } from '../interface';\n\nexport function markChanged(proxyDraft: ProxyDraft) {\n proxyDraft.assignedMap = proxyDraft.assignedMap ?? new Map();\n if (!proxyDraft.operated) {\n proxyDraft.operated = true;\n if (proxyDraft.parent) {\n markChanged(proxyDraft.parent);\n }\n }\n}\n", "import { DraftType } from '../interface';\nimport { getType, isDraft } from './draft';\n\nfunction throwFrozenError() {\n throw new Error('Cannot modify frozen object');\n}\n\nfunction isFreezable(value: any) {\n return (\n __DEV__ || (value && typeof value === 'object' && !Object.isFrozen(value))\n );\n}\n\nexport function deepFreeze(\n target: any,\n subKey?: any,\n updatedValues?: WeakMap<any, any>,\n stack?: any[],\n keys?: any[]\n) {\n if (__DEV__) {\n updatedValues = updatedValues ?? new WeakMap();\n stack = stack ?? [];\n keys = keys ?? [];\n const value = updatedValues.has(target)\n ? updatedValues.get(target)\n : target;\n if (stack.length > 0) {\n const index = stack.indexOf(value);\n if (value && typeof value === 'object' && index !== -1) {\n if (stack[0] === value) {\n throw new Error(`Forbids circular reference`);\n }\n throw new Error(\n `Forbids circular reference: ~/${keys\n .slice(0, index)\n .map((key, index) => {\n if (typeof key === 'symbol') return `[${key.toString()}]`;\n const parent = stack![index];\n if (\n typeof key === 'object' &&\n (parent instanceof Map || parent instanceof Set)\n )\n return Array.from(parent.keys()).indexOf(key);\n return key;\n })\n .join('/')}`\n );\n }\n stack.push(value);\n keys.push(subKey);\n } else {\n stack.push(value);\n }\n }\n if (Object.isFrozen(target) || isDraft(target)) {\n if (__DEV__) {\n stack!.pop();\n keys!.pop();\n }\n return;\n }\n const type = getType(target);\n switch (type) {\n case DraftType.Map:\n for (const [key, value] of target) {\n if (isFreezable(key)) deepFreeze(key, key, updatedValues, stack, keys);\n if (isFreezable(value))\n deepFreeze(value, key, updatedValues, stack, keys);\n }\n target.set = target.clear = target.delete = throwFrozenError;\n break;\n case DraftType.Set:\n for (const value of target) {\n if (isFreezable(value))\n deepFreeze(value, value, updatedValues, stack, keys);\n }\n target.add = target.clear = target.delete = throwFrozenError;\n break;\n case DraftType.Array:\n Object.freeze(target);\n let index = 0;\n for (const value of target) {\n if (isFreezable(value))\n deepFreeze(value, index, updatedValues, stack, keys);\n index += 1;\n }\n break;\n default:\n Object.freeze(target);\n // ignore non-enumerable or symbol properties\n Object.keys(target).forEach((name) => {\n const value = target[name];\n if (isFreezable(value))\n deepFreeze(value, name, updatedValues, stack, keys);\n });\n }\n if (__DEV__) {\n stack!.pop();\n keys!.pop();\n }\n}\n", "import { DraftType } from '../interface';\nimport { getType } from './draft';\n\nexport function forEach<T extends object>(\n target: T,\n iter: (key: string | number | symbol, value: any, source: T) => void\n) {\n const type = getType(target);\n if (type === DraftType.Object) {\n Reflect.ownKeys(target).forEach((key) => {\n iter(key, (target as any)[key], target);\n });\n } else if (type === DraftType.Array) {\n let index = 0;\n for (const entry of target as any[]) {\n iter(index, entry, target);\n index += 1;\n }\n } else {\n (target as Map<any, any> | Set<any>).forEach((entry: any, index: any) =>\n iter(index, entry, target)\n );\n }\n}\n", "import { DraftType, Patches, ProxyDraft } from '../interface';\nimport { ensureShallowCopy } from './copy';\nimport {\n get,\n getPath,\n getProxyDraft,\n getValue,\n isDraft,\n isDraftable,\n isEqual,\n set,\n} from './draft';\nimport { forEach } from './forEach';\n\nexport function handleValue(\n target: any,\n handledSet: WeakSet<any>,\n options?: ProxyDraft['options']\n) {\n if (\n isDraft(target) ||\n !isDraftable(target, options) ||\n handledSet.has(target) ||\n Object.isFrozen(target)\n )\n return;\n const isSet = target instanceof Set;\n const setMap: Map<any, any> | undefined = isSet ? new Map() : undefined;\n handledSet.add(target);\n forEach(target, (key, value) => {\n if (isDraft(value)) {\n const proxyDraft = getProxyDraft(value)!;\n ensureShallowCopy(proxyDraft);\n // A draft where a child node has been changed, or assigned a value\n const updatedValue =\n proxyDraft.assignedMap?.size || proxyDraft.operated\n ? proxyDraft.copy\n : proxyDraft.original;\n // final update value\n set(isSet ? setMap! : target, key, updatedValue);\n } else {\n handleValue(value, handledSet, options);\n }\n });\n if (setMap) {\n const set = target as Set<any>;\n const values = Array.from(set);\n set.clear();\n values.forEach((value) => {\n set.add(setMap!.has(value) ? setMap!.get(value) : value);\n });\n }\n}\n\nexport function finalizeAssigned(proxyDraft: ProxyDraft, key: PropertyKey) {\n // handle the draftable assigned values\uFF0C and the value is not a draft\n const copy =\n proxyDraft.type === DraftType.Set ? proxyDraft.setMap : proxyDraft.copy;\n if (\n proxyDraft.finalities.revoke.length > 1 &&\n proxyDraft.assignedMap!.get(key) &&\n copy\n ) {\n handleValue(\n get(copy, key),\n proxyDraft.finalities.handledSet,\n proxyDraft.options\n );\n }\n}\n\nexport type GeneratePatches = (\n proxyState: ProxyDraft,\n basePath: any[],\n patches: Patches,\n inversePatches: Patches\n) => void;\n\nexport function finalizeSetValue(target: ProxyDraft) {\n if (target.type === DraftType.Set && target.copy) {\n target.copy.clear();\n target.setMap!.forEach((value) => {\n target.copy!.add(getValue(value));\n });\n }\n}\n\nexport function finalizePatches(\n target: ProxyDraft,\n generatePatches: GeneratePatches,\n patches?: Patches,\n inversePatches?: Patches\n) {\n const shouldFinalize =\n target.operated &&\n target.assignedMap &&\n target.assignedMap.size > 0 &&\n !target.finalized;\n if (shouldFinalize) {\n if (patches && inversePatches) {\n const basePath = getPath(target);\n if (basePath) {\n generatePatches(target, basePath, patches, inversePatches);\n }\n }\n target.finalized = true;\n }\n}\n\nexport function markFinalization(\n target: ProxyDraft,\n key: any,\n value: any,\n generatePatches: GeneratePatches\n) {\n const proxyDraft = getProxyDraft(value);\n if (proxyDraft) {\n // !case: assign the draft value\n if (!proxyDraft.callbacks) {\n proxyDraft.callbacks = [];\n }\n proxyDraft.callbacks.push((patches, inversePatches) => {\n const copy = target.type === DraftType.Set ? target.setMap : target.copy;\n if (isEqual(get(copy, key), value)) {\n let updatedValue = proxyDraft.original;\n if (proxyDraft.copy) {\n updatedValue = proxyDraft.copy;\n }\n finalizeSetValue(target);\n finalizePatches(target, generatePatches, patches, inversePatches);\n if (__DEV__ && target.options.enableAutoFreeze) {\n target.options.updatedValues =\n target.options.updatedValues ?? new WeakMap();\n target.options.updatedValues.set(updatedValue, proxyDraft.original);\n }\n // final update value\n set(copy, key, updatedValue);\n }\n });\n if (target.options.enableAutoFreeze) {\n // !case: assign the draft value in cross draft tree\n if (proxyDraft.finalities !== target.finalities) {\n target.options.enableAutoFreeze = false;\n }\n }\n }\n if (isDraftable(value, target.options)) {\n // !case: assign the non-draft value\n target.finalities.draft.push(() => {\n const copy = target.type === DraftType.Set ? target.setMap : target.copy;\n if (isEqual(get(copy, key), value)) {\n finalizeAssigned(target, key);\n }\n });\n }\n}\n", "import { DraftType, Operation, Patches, ProxyDraft } from './interface';\nimport { cloneIfNeeded, escapePath, get, has, isEqual } from './utils';\n\nfunction generateArrayPatches(\n proxyState: ProxyDraft<Array<any>>,\n basePath: any[],\n patches: Patches,\n inversePatches: Patches,\n pathAsArray: boolean\n) {\n let { original, assignedMap, options } = proxyState;\n let copy = proxyState.copy!;\n if (copy.length < original.length) {\n [original, copy] = [copy, original];\n [patches, inversePatches] = [inversePatches, patches];\n }\n for (let index = 0; index < original.length; index += 1) {\n if (assignedMap!.get(index.toString()) && copy[index] !== original[index]) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Replace,\n path,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: cloneIfNeeded(copy[index]),\n });\n inversePatches.push({\n op: Operation.Replace,\n path,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: cloneIfNeeded(original[index]),\n });\n }\n }\n for (let index = original.length; index < copy.length; index += 1) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Add,\n path,\n // If it is a draft, it needs to be deep cloned, and it may also be non-draft.\n value: cloneIfNeeded(copy[index]),\n });\n }\n if (original.length < copy.length) {\n // https://www.rfc-editor.org/rfc/rfc6902#appendix-A.4\n // For performance, here we only generate an operation that replaces the length of the array,\n // which is inconsistent with JSON Patch specification\n const { arrayLengthAssignment = true } = options.enablePatches;\n if (arrayLengthAssignment) {\n const _path = basePath.concat(['length']);\n const path = escapePath(_path, pathAsArray);\n inversePatches.push({\n op: Operation.Replace,\n path,\n value: original.length,\n });\n } else {\n for (let index = copy.length; original.length < index; index -= 1) {\n const _path = basePath.concat([index - 1]);\n const path = escapePath(_path, pathAsArray);\n inversePatches.push({\n op: Operation.Remove,\n path,\n });\n }\n }\n }\n}\n\nfunction generatePatchesFromAssigned(\n { original, copy, assignedMap }: ProxyDraft<Record<string, any>>,\n basePath: any[],\n patches: Patches,\n inversePatches: Patches,\n pathAsArray: boolean\n) {\n assignedMap!.forEach((assignedValue, key) => {\n const originalValue = get(original, key);\n const value = cloneIfNeeded(get(copy, key));\n const op = !assignedValue\n ? Operation.Remove\n : has(original, key)\n ? Operation.Replace\n : Operation.Add;\n if (isEqual(originalValue, value) && op === Operation.Replace) return;\n const _path = basePath.concat(key);\n const path = escapePath(_path, pathAsArray);\n patches.push(op === Operation.Remove ? { op, path } : { op, path, value });\n inversePatches.push(\n op === Operation.Add\n ? { op: Operation.Remove, path }\n : op === Operation.Remove\n ? { op: Operation.Add, path, value: originalValue }\n : { op: Operation.Replace, path, value: originalValue }\n );\n });\n}\n\nfunction generateSetPatches(\n { original, copy }: ProxyDraft<Set<any>>,\n basePath: any[],\n patches: Patches,\n inversePatches: Patches,\n pathAsArray: boolean\n) {\n let index = 0;\n original.forEach((value: any) => {\n if (!copy!.has(value)) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Remove,\n path,\n value,\n });\n inversePatches.unshift({\n op: Operation.Add,\n path,\n value,\n });\n }\n index += 1;\n });\n index = 0;\n copy!.forEach((value: any) => {\n if (!original.has(value)) {\n const _path = basePath.concat([index]);\n const path = escapePath(_path, pathAsArray);\n patches.push({\n op: Operation.Add,\n path,\n value,\n });\n inversePatches.unshift({\n op: Operation.Remove,\n path,\n value,\n });\n }\n index += 1;\n });\n}\n\nexport function generatePatches(\n proxyState: ProxyDraft,\n basePath: any[],\n patches: Patches,\n inversePatches: Patches\n) {\n const { pathAsArray = true } = proxyState.options.enablePatches;\n switch (proxyState.type) {\n case DraftType.Object:\n case DraftType.Map:\n return generatePatchesFromAssigned(\n proxyState,\n basePath,\n patches,\n inversePatches,\n pathAsArray\n );\n case DraftType.Array:\n return generateArrayPatches(\n proxyState,\n basePath,\n patches,\n inversePatches,\n pathAsArray\n );\n case DraftType.Set:\n return generateSetPatches(\n proxyState,\n basePath,\n patches,\n inversePatches,\n pathAsArray\n );\n }\n}\n", "import { Options } from './interface';\nimport { isDraftable } from './utils';\n\nlet readable = false;\n\nexport const checkReadable = (\n value: any,\n options: Options<any, any>,\n ignoreCheckDraftable = false\n) => {\n if (\n typeof value === 'object' &&\n value !== null &&\n (!isDraftable(value, options) || ignoreCheckDraftable) &&\n !readable\n ) {\n throw new Error(\n `Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.`\n );\n }\n};\n\n/**\n * `unsafe(callback)` to access mutable data directly in strict mode.\n *\n * ## Example\n *\n * ```ts\n * import { create, unsafe } from '../index';\n *\n * class Foobar {\n * bar = 1;\n * }\n *\n * const baseState = { foobar: new Foobar() };\n * const state = create(\n * baseState,\n * (draft) => {\n * unsafe(() => {\n * draft.foobar.bar = 2;\n * });\n * },\n * {\n * strict: true,\n * }\n * );\n *\n * expect(state).toBe(baseState);\n * expect(state.foobar).toBe(baseState.foobar);\n * expect(state.foobar.bar).toBe(2);\n * ```\n */\nexport function unsafe<T>(callback: () => T): T {\n readable = true;\n let result: T;\n try {\n result = callback();\n } finally {\n readable = false;\n }\n return result;\n}\n", "import { dataTypes, iteratorSymbol } from './constant';\nimport { internal } from './internal';\nimport { generatePatches } from './patch';\nimport { checkReadable } from './unsafe';\nimport {\n ensureShallowCopy,\n getProxyDraft,\n isDraftable,\n isEqual,\n latest,\n markChanged,\n markFinalization,\n} from './utils';\n\nexport const mapHandler = {\n get size() {\n const current: Map<any, any> = latest(getProxyDraft(this)!);\n return current.size;\n },\n has(key: any): boolean {\n return latest(getProxyDraft(this)!).has(key);\n },\n set(key: any, value: any) {\n const target = getProxyDraft(this)!;\n const source = latest(target);\n if (!source.has(key) || !isEqual(source.get(key), value)) {\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap!.set(key, true);\n target.copy.set(key, value);\n markFinalization(target, key, value, generatePatches);\n }\n return this;\n },\n delete(key: any): boolean {\n if (!this.has(key)) {\n return false;\n }\n const target = getProxyDraft(this)!;\n ensureShallowCopy(target);\n markChanged(target);\n if (target.original.has(key)) {\n target.assignedMap!.set(key, false);\n } else {\n target.assignedMap!.delete(key);\n }\n target.copy.delete(key);\n return true;\n },\n clear() {\n const target = getProxyDraft(this)!;\n if (!this.size) return;\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap = new Map();\n for (const [key] of target.original) {\n target.assignedMap.set(key, false);\n }\n target.copy!.clear();\n },\n forEach(callback: (value: any, key: any, self: any) => void, thisArg?: any) {\n const target = getProxyDraft(this)!;\n latest(target).forEach((_value: any, _key: any) => {\n callback.call(thisArg, this.get(_key), _key, this);\n });\n },\n get(key: any): any {\n const target = getProxyDraft(this)!;\n const value = latest(target).get(key);\n const mutable =\n target.options.mark?.(value, dataTypes) === dataTypes.mutable;\n if (target.options.strict) {\n checkReadable(value, target.options, mutable);\n }\n if (mutable) {\n return value;\n }\n if (target.finalized || !isDraftable(value, target.options)) {\n return value;\n }\n // drafted or reassigned\n if (value !== target.original.get(key)) {\n return value;\n }\n const draft = internal.createDraft({\n original: value,\n parentDraft: target,\n key,\n finalities: target.finalities,\n options: target.options,\n });\n ensureShallowCopy(target);\n target.copy.set(key, draft);\n return draft;\n },\n keys(): IterableIterator<any> {\n return latest(getProxyDraft(this)!).keys();\n },\n values(): IterableIterator<any> {\n const iterator = this.keys();\n return {\n [iteratorSymbol]: () => this.values(),\n next: () => {\n const result = iterator.next();\n if (result.done) return result;\n const value = this.get(result.value);\n return {\n done: false,\n value,\n };\n },\n } as any;\n },\n entries(): IterableIterator<[any, any]> {\n const iterator = this.keys();\n return {\n [iteratorSymbol]: () => this.entries(),\n next: () => {\n const result = iterator.next();\n if (result.done) return result;\n const value = this.get(result.value);\n return {\n done: false,\n value: [result.value, value],\n };\n },\n } as any;\n },\n [iteratorSymbol]() {\n return this.entries();\n },\n};\n\nexport const mapHandlerKeys = Reflect.ownKeys(mapHandler);\n", "import { ProxyDraft } from './interface';\nimport { dataTypes, iteratorSymbol } from './constant';\nimport { internal } from './internal';\nimport {\n ensureShallowCopy,\n getProxyDraft,\n isDraftable,\n markChanged,\n markFinalization,\n} from './utils';\nimport { checkReadable } from './unsafe';\nimport { generatePatches } from './patch';\n\nconst getNextIterator =\n (\n target: ProxyDraft<any>,\n iterator: IterableIterator<any>,\n { isValuesIterator }: { isValuesIterator: boolean }\n ) =>\n () => {\n const result = iterator.next();\n if (result.done) return result;\n const key = result.value as any;\n let value = target.setMap!.get(key);\n const currentDraft = getProxyDraft(value);\n const mutable =\n target.options.mark?.(value, dataTypes) === dataTypes.mutable;\n if (target.options.strict) {\n checkReadable(key, target.options, mutable);\n }\n if (\n !mutable &&\n !currentDraft &&\n isDraftable(key, target.options) &&\n !target.finalized &&\n target.original!.has(key)\n ) {\n // draft a draftable original set item\n const proxy = internal.createDraft({\n original: key,\n parentDraft: target,\n key,\n finalities: target.finalities,\n options: target.options,\n });\n target.setMap!.set(key, proxy);\n value = proxy;\n } else if (currentDraft) {\n // drafted\n value = currentDraft.proxy;\n }\n return {\n done: false,\n value: isValuesIterator ? value : [value, value],\n };\n };\n\nexport const setHandler = {\n get size() {\n const target: ProxyDraft<any> = getProxyDraft(this)!;\n return target.setMap!.size;\n },\n has(value: any) {\n const target = getProxyDraft(this)!;\n // reassigned or non-draftable values\n if (target.setMap!.has(value)) return true;\n ensureShallowCopy(target);\n const valueProxyDraft = getProxyDraft(value)!;\n // drafted\n if (valueProxyDraft && target.setMap!.has(valueProxyDraft.original))\n return true;\n return false;\n },\n add(value: any) {\n const target = getProxyDraft(this)!;\n if (!this.has(value)) {\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap!.set(value, true);\n target.setMap!.set(value, value);\n markFinalization(target, value, value, generatePatches);\n }\n return this;\n },\n delete(value: any): boolean {\n if (!this.has(value)) {\n return false;\n }\n const target = getProxyDraft(this)!;\n ensureShallowCopy(target);\n markChanged(target);\n const valueProxyDraft = getProxyDraft(value)!;\n if (valueProxyDraft && target.setMap!.has(valueProxyDraft.original)) {\n // delete drafted\n target.assignedMap!.set(valueProxyDraft.original, false);\n return target.setMap!.delete(valueProxyDraft.original);\n }\n if (!valueProxyDraft && target.setMap!.has(value)) {\n // non-draftable values\n target.assignedMap!.set(value, false);\n } else {\n // reassigned\n target.assignedMap!.delete(value);\n }\n // delete reassigned or non-draftable values\n return target.setMap!.delete(value);\n },\n clear() {\n if (!this.size) return;\n const target = getProxyDraft(this)!;\n ensureShallowCopy(target);\n markChanged(target);\n for (const value of target.original) {\n target.assignedMap!.set(value, false);\n }\n target.setMap!.clear();\n },\n values(): IterableIterator<any> {\n const target = getProxyDraft(this)!;\n ensureShallowCopy(target);\n const iterator = target.setMap!.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: getNextIterator(target, iterator, { isValuesIterator: true }),\n };\n },\n entries(): IterableIterator<[any, any]> {\n const target = getProxyDraft(this)!;\n ensureShallowCopy(target);\n const iterator = target.setMap!.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: getNextIterator(target, iterator, {\n isValuesIterator: false,\n }) as () => IteratorReturnResult<any>,\n };\n },\n keys(): IterableIterator<any> {\n return this.values();\n },\n [iteratorSymbol]() {\n return this.values();\n },\n forEach(callback: any, thisArg?: any) {\n const iterator = this.values();\n let result = iterator.next();\n while (!result.done) {\n callback.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n },\n};\n\nif (Set.prototype.difference) {\n // for compatibility with new Set methods\n // https://github.com/tc39/proposal-set-methods\n // And `https://github.com/tc39/proposal-set-methods/blob/main/details.md#symbolspecies` has some details about the `@@species` symbol.\n // So we can't use SubSet instance constructor to get the constructor of the SubSet instance.\n Object.assign(setHandler, {\n intersection(this: Set<any>, other: ReadonlySetLike<any>): Set<any> {\n return Set.prototype.intersection.call(new Set(this.values()), other);\n },\n union(this: Set<any>, other: ReadonlySetLike<any>): Set<any> {\n return Set.prototype.union.call(new Set(this.values()), other);\n },\n difference(this: Set<any>, other: ReadonlySetLike<any>): Set<any> {\n return Set.prototype.difference.call(new Set(this.values()), other);\n },\n symmetricDifference(this: Set<any>, other: ReadonlySetLike<any>): Set<any> {\n return Set.prototype.symmetricDifference.call(\n new Set(this.values()),\n other\n );\n },\n isSubsetOf(this: Set<any>, other: ReadonlySetLike<any>): boolean {\n return Set.prototype.isSubsetOf.call(new Set(this.values()), other);\n },\n isSupersetOf(this: Set<any>, other: ReadonlySetLike<any>): boolean {\n return Set.prototype.isSupersetOf.call(new Set(this.values()), other);\n },\n isDisjointFrom(this: Set<any>, other: ReadonlySetLike<any>): boolean {\n return Set.prototype.isDisjointFrom.call(new Set(this.values()), other);\n },\n });\n}\n\nexport const setHandlerKeys = Reflect.ownKeys(setHandler);\n", "import {\n DraftType,\n Finalities,\n Patches,\n ProxyDraft,\n Options,\n Operation,\n} from './interface';\nimport { dataTypes, PROXY_DRAFT } from './constant';\nimport { mapHandler, mapHandlerKeys } from './map';\nimport { setHandler, setHandlerKeys } from './set';\nimport { internal } from './internal';\nimport {\n deepFreeze,\n ensureShallowCopy,\n getDescriptor,\n getProxyDraft,\n getType,\n getValue,\n has,\n isEqual,\n isDraftable,\n latest,\n markChanged,\n peek,\n get,\n set,\n revokeProxy,\n finalizeSetValue,\n markFinalization,\n finalizePatches,\n} from './utils';\nimport { checkReadable } from './unsafe';\nimport { generatePatches } from './patch';\n\nconst draftsCache = new WeakSet<object>();\n\nconst proxyHandler: ProxyHandler<ProxyDraft> = {\n get(target: ProxyDraft, key: string | number | symbol, receiver: any) {\n const copy = target.copy?.[key];\n // Improve draft reading performance by caching the draft copy.\n if (copy && draftsCache.has(copy)) {\n return copy;\n }\n if (key === PROXY_DRAFT) return target;\n let markResult: any;\n if (target.options.mark) {\n // handle `Uncaught TypeError: Method get Map.prototype.size called on incompatible receiver #<Map>`\n // or `Uncaught TypeError: Method get Set.prototype.size called on incompatible receiver #<Set>`\n const value =\n key === 'size' &&\n (target.original instanceof Map || target.original instanceof Set)\n ? Reflect.get(target.original, key)\n : Reflect.get(target.original, key, receiver);\n markResult = target.options.mark(value, dataTypes);\n if (markResult === dataTypes.mutable) {\n if (target.options.strict) {\n checkReadable(value, target.options, true);\n }\n return value;\n }\n }\n const source = latest(target);\n\n if (source instanceof Map && mapHandlerKeys.includes(key as any)) {\n if (key === 'size') {\n return Object.getOwnPropertyDescriptor(mapHandler, 'size')!.get!.call(\n target.proxy\n );\n }\n const handle = mapHandler[key as keyof typeof mapHandler] as Function;\n if (handle) {\n return handle.bind(target.proxy);\n }\n }\n\n if (source instanceof Set && setHandlerKeys.includes(key as any)) {\n if (key === 'size') {\n return Object.getOwnPropertyDescriptor(setHandler, 'size')!.get!.call(\n target.proxy\n );\n }\n const handle = setHandler[key as keyof typeof setHandler] as Function;\n if (handle) {\n return handle.bind(target.proxy);\n }\n }\n\n if (!has(source, key)) {\n const desc = getDescriptor(source, key);\n return desc\n ? `value` in desc\n ? desc.value\n : // !case: support for getter\n desc.get?.call(target.proxy)\n : undefined;\n }\n const value = source[key];\n if (target.options.strict) {\n checkReadable(value, target.options);\n }\n if (target.finalized || !isDraftable(value, target.options)) {\n return value;\n }\n // Ensure that the assigned values are not drafted\n if (value === peek(target.original, key)) {\n ensureShallowCopy(target);\n target.copy![key] = createDraft({\n original: target.original[key],\n parentDraft: target,\n key: target.type === DraftType.Array ? Number(key) : key,\n finalities: target.finalities,\n options: target.options,\n });\n // !case: support for custom shallow copy function\n if (typeof markResult === 'function') {\n const subProxyDraft = getProxyDraft(target.copy![key])!;\n ensureShallowCopy(subProxyDraft);\n // Trigger a custom shallow copy to update to a new copy\n markChanged(subProxyDraft);\n return subProxyDraft.copy;\n }\n return target.copy![key];\n }\n return value;\n },\n set(target: ProxyDraft, key: string | number | symbol, value: any) {\n if (target.type === DraftType.Set || target.type === DraftType.Map) {\n throw new Error(\n `Map/Set draft does not support any property assignment.`\n );\n }\n let _key: number;\n if (\n target.type === DraftType.Array &&\n key !== 'length' &&\n !(\n Number.isInteger((_key = Number(key))) &&\n _key >= 0 &&\n (key === 0 || _key === 0 || String(_key) === String(key))\n )\n ) {\n throw new Error(\n `Only supports setting array indices and the 'length' property.`\n );\n }\n const desc = getDescriptor(latest(target), key);\n if (desc?.set) {\n // !case: cover the case of setter\n desc.set.call(target.proxy, value);\n return true;\n }\n const current = peek(latest(target), key);\n const currentProxyDraft = getProxyDraft(current);\n if (currentProxyDraft && isEqual(currentProxyDraft.original, value)) {\n // !case: ignore the case of assigning the original draftable value to a draft\n target.copy![key] = value;\n target.assignedMap = target.assignedMap ?? new Map();\n target.assignedMap.set(key, false);\n return true;\n }\n // !case: handle new props with value 'undefined'\n if (\n isEqual(value, current) &&\n (value !== undefined || has(target.original, key))\n )\n return true;\n ensureShallowCopy(target);\n markChanged(target);\n if (has(target.original, key) && isEqual(value, target.original[key])) {\n // !case: handle the case of assigning the original non-draftable value to a draft\n target.assignedMap!.delete(key);\n } else {\n target.assignedMap!.set(key, true);\n }\n target.copy![key] = value;\n markFinalization(target, key, value, generatePatches);\n return true;\n },\n has(target: ProxyDraft, key: string | symbol) {\n return key in latest(target);\n },\n ownKeys(target: ProxyDraft) {\n return Reflect.ownKeys(latest(target));\n },\n getOwnPropertyDescriptor(target: ProxyDraft, key: string | symbol) {\n const source = latest(target);\n const descriptor = Reflect.getOwnPropertyDescriptor(source, key);\n if (!descriptor) return descriptor;\n return {\n writable: true,\n configurable: target.type !== DraftType.Array || key !== 'length',\n enumerable: descriptor.enumerable,\n value: source[key],\n };\n },\n getPrototypeOf(target: ProxyDraft) {\n return Reflect.getPrototypeOf(target.original);\n },\n setPrototypeOf() {\n throw new Error(`Cannot call 'setPrototypeOf()' on drafts`);\n },\n defineProperty() {\n throw new Error(`Cannot call 'defineProperty()' on drafts`);\n },\n deleteProperty(target: ProxyDraft, key: string | symbol) {\n if (target.type === DraftType.Array) {\n return proxyHandler.set!.call(this, target, key, undefined, target.proxy);\n }\n if (peek(target.original, key) !== undefined || key in target.original) {\n // !case: delete an existing key\n ensureShallowCopy(target);\n markChanged(target);\n target.assignedMap!.set(key, false);\n } else {\n target.assignedMap = target.assignedMap ?? new Map();\n // The original non-existent key has been deleted\n target.assignedMap.delete(key);\n }\n if (target.copy) delete target.copy[key];\n return true;\n },\n};\n\nexport function createDraft<T extends object>(createDraftOptions: {\n original: T;\n parentDraft?: ProxyDraft | null;\n key?: string | number | symbol;\n finalities: Finalities;\n options: Options<any, any>;\n}): T {\n const { original, parentDraft, key, finalities, options } =\n createDraftOptions;\n const type = getType(original);\n const proxyDraft: ProxyDraft = {\n type,\n finalized: false,\n parent: parentDraft,\n original,\n copy: null,\n proxy: null,\n finalities,\n options,\n // Mapping of draft Set items to their corresponding draft values.\n setMap:\n type === DraftType.Set\n ? new Map((original as Set<any>).entries())\n : undefined,\n };\n // !case: undefined as a draft map key\n if (key || 'key' in createDraftOptions) {\n proxyDraft.key = key;\n }\n const { proxy, revoke } = Proxy.revocable<any>(\n type === DraftType.Array ? Object.assign([], proxyDraft) : proxyDraft,\n proxyHandler\n );\n finalities.revoke.push(revoke);\n draftsCache.add(proxy);\n proxyDraft.proxy = proxy;\n if (parentDraft) {\n const target = parentDraft;\n target.finalities.draft.push((patches, inversePatches) => {\n const oldProxyDraft = getProxyDraft(proxy)!;\n // if target is a Set draft, `setMap` is the real Set copies proxy mapping.\n let copy = target.type === DraftType.Set ? target.setMap : target.copy;\n const draft = get(copy, key!);\n const proxyDraft = getProxyDraft(draft);\n if (proxyDraft) {\n // assign the updated value to the copy object\n let updatedValue = proxyDraft.original;\n if (proxyDraft.operated) {\n updatedValue = getValue(draft);\n }\n finalizeSetValue(proxyDraft);\n finalizePatches(proxyDraft, generatePatches, patches, inversePatches);\n if (__DEV__ && target.options.enableAutoFreeze) {\n target.options.updatedValues =\n target.options.updatedValues ?? new WeakMap();\n target.options.updatedValues.set(updatedValue, proxyDraft.original);\n }\n // final update value\n set(copy, key!, updatedValue);\n }\n // !case: handle the deleted key\n oldProxyDraft.callbacks?.forEach((callback) => {\n callback(patches, inversePatches);\n });\n });\n } else {\n // !case: handle the root draft\n const target = getProxyDraft(proxy)!;\n target.finalities.draft.push((patches, inversePatches) => {\n finalizeSetValue(target);\n finalizePatches(target, generatePatches, patches, inversePatches);\n });\n }\n return proxy;\n}\n\ninternal.createDraft = createDraft;\n\nexport function finalizeDraft<T>(\n result: T,\n returnedValue: [T] | [],\n patches?: Patches,\n inversePatches?: Patches,\n enableAutoFreeze?: boolean\n) {\n const proxyDraft = getProxyDraft(result);\n const original = proxyDraft?.original ?? result;\n const hasReturnedValue = !!returnedValue.length;\n if (proxyDraft?.operated) {\n while (proxyDraft.finalities.draft.length > 0) {\n const finalize = proxyDraft.finalities.draft.pop()!;\n finalize(patches, inversePatches);\n }\n }\n const state = hasReturnedValue\n ? returnedValue[0]\n : proxyDraft\n ? proxyDraft.operated\n ? proxyDraft.copy\n : proxyDraft.original\n : result;\n if (proxyDraft) revokeProxy(proxyDraft);\n if (enableAutoFreeze) {\n deepFreeze(state, state, proxyDraft?.options.updatedValues);\n }\n return [\n state,\n patches && hasReturnedValue\n ? [{ op: Operation.Replace, path: [], value: returnedValue[0] }]\n : patches,\n inversePatches && hasReturnedValue\n ? [{ op: Operation.Replace, path: [], value: original }]\n : inversePatches,\n ] as [T, Patches | undefined, Patches | undefined];\n}\n", "import {\n Finalities,\n Options,\n Patches,\n PatchesOptions,\n Result,\n} from './interface';\nimport { createDraft, finalizeDraft } from './draft';\nimport { isDraftable } from './utils';\nimport { dataTypes } from './constant';\n\nexport function draftify<\n T extends object,\n O extends PatchesOptions = false,\n F extends boolean = false\n>(\n baseState: T,\n options: Options<O, F>\n): [T, (returnedValue: [T] | []) => Result<T, O, F>] {\n const finalities: Finalities = {\n draft: [],\n revoke: [],\n handledSet: new WeakSet<any>(),\n };\n let patches: Patches | undefined;\n let inversePatches: Patches | undefined;\n if (options.enablePatches) {\n patches = [];\n inversePatches = [];\n }\n const isMutable =\n options.mark?.(baseState, dataTypes) === dataTypes.mutable ||\n !isDraftable(baseState, options);\n const draft = isMutable\n ? baseState\n : createDraft({\n original: baseState,\n parentDraft: null,\n finalities,\n options,\n });\n return [\n draft,\n (returnedValue: [T] | [] = []) => {\n const [finalizedState, finalizedPatches, finalizedInversePatches] =\n finalizeDraft(\n draft,\n returnedValue,\n patches,\n inversePatches,\n options.enableAutoFreeze\n );\n return (\n options.enablePatches\n ? [finalizedState, finalizedPatches, finalizedInversePatches]\n : finalizedState\n ) as Result<T, O, F>;\n },\n ];\n}\n", "import { type Draft, DraftType, type ProxyDraft } from './interface';\nimport {\n forEach,\n get,\n getProxyDraft,\n getType,\n isBaseMapInstance,\n isBaseSetInstance,\n isDraft,\n isDraftable,\n isEqual,\n set,\n shallowCopy,\n} from './utils';\n\nexport function handleReturnValue<T extends object>(options: {\n rootDraft: ProxyDraft<any> | undefined;\n value: T;\n useRawReturn?: boolean;\n isContainDraft?: boolean;\n isRoot?: boolean;\n}) {\n const { rootDraft, value, useRawReturn = false, isRoot = true } = options;\n forEach(value, (key, item, source) => {\n const proxyDraft = getProxyDraft(item);\n // just handle the draft which is created by the same rootDraft\n if (\n proxyDraft &&\n rootDraft &&\n proxyDraft.finalities === rootDraft.finalities\n ) {\n options.isContainDraft = true;\n const currentValue = proxyDraft.original;\n // final update value, but just handle return value\n if (source instanceof Set) {\n const arr = Array.from(source);\n source.clear();\n arr.forEach((_item) =>\n source.add(key === _item ? currentValue : _item)\n );\n } else {\n set(source, key, currentValue);\n }\n } else if (typeof item === 'object' && item !== null) {\n options.value = item;\n options.isRoot = false;\n handleReturnValue(options);\n }\n });\n if (__DEV__ && isRoot) {\n if (!options.isContainDraft)\n console.warn(\n `The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance.`\n );\n\n if (useRawReturn) {\n console.warn(\n `The return value contains drafts, please don't use 'rawReturn()' to wrap the return value.`\n );\n }\n }\n}\n\nfunction getCurrent(target: any) {\n const proxyDraft = getProxyDraft(target);\n if (!isDraftable(target, proxyDraft?.options)) return target;\n const type = getType(target);\n if (proxyDraft && !proxyDraft.operated) return proxyDraft.original;\n let currentValue: any;\n function ensureShallowCopy() {\n currentValue =\n type === DraftType.Map\n ? !isBaseMapInstance(target)\n ? new (Object.getPrototypeOf(target).constructor)(target)\n : new Map(target)\n : type === DraftType.Set\n ? Array.from(proxyDraft!.setMap!.values()!)\n : shallowCopy(target, proxyDraft?.options);\n }\n\n if (proxyDraft) {\n // It's a proxy draft, let's create a shallow copy eagerly\n proxyDraft.finalized = true;\n try {\n ensureShallowCopy();\n } finally {\n proxyDraft.finalized = false;\n }\n } else {\n // It's not a proxy draft, let's use the target directly and let's see\n // lazily if we need to create a shallow copy\n currentValue = target;\n }\n\n forEach(currentValue, (key, value) => {\n if (proxyDraft && isEqual(get(proxyDraft.original, key), value)) return;\n const newValue = getCurrent(value);\n if (newValue !== value) {\n if (currentValue === target) ensureShallowCopy();\n set(currentValue, key, newValue);\n }\n });\n if (type === DraftType.Set) {\n const value = proxyDraft?.original ?? currentValue;\n return !isBaseSetInstance(value)\n ? new (Object.getPrototypeOf(value).constructor)(currentValue)\n : new Set(currentValue);\n }\n return currentValue;\n}\n\n/**\n * `current(draft)` to get current state in the draft mutation function.\n *\n * ## Example\n *\n * ```ts\n * import { create, current } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const state = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * expect(current(draft.foo)).toEqual({ bar: 'str2' });\n * },\n * );\n * ```\n */\nexport function current<T extends object>(target: Draft<T>): T;\n/** @deprecated You should call current only on `Draft<T>` types. */\nexport function current<T extends object>(target: T): T;\nexport function current<T extends object>(target: T | Draft<T>): T {\n if (!isDraft(target)) {\n throw new Error(`current() is only used for Draft, parameter: ${target}`);\n }\n return getCurrent(target);\n}\n", "import {\n CreateResult,\n Draft,\n Mark,\n Options,\n ExternalOptions,\n PatchesOptions,\n Result,\n} from './interface';\nimport { draftify } from './draftify';\nimport {\n getProxyDraft,\n isDraft,\n isDraftable,\n isEqual,\n revokeProxy,\n} from './utils';\nimport { current, handleReturnValue } from './current';\nimport { RAW_RETURN_SYMBOL, dataTypes } from './constant';\n\ntype MakeCreator = <\n _F extends boolean = false,\n _O extends PatchesOptions = false\n>(\n options?: ExternalOptions<_O, _F>\n) => {\n <\n T extends any,\n F extends boolean = _F,\n O extends PatchesOptions = _O,\n R extends void | Promise<void> | T | Promise<T> = void\n >(\n base: T,\n mutate: (draft: Draft<T>) => R,\n options?: ExternalOptions<O, F>\n ): CreateResult<T, O, F, R>;\n <\n T extends any,\n F extends boolean = _F,\n O extends PatchesOptions = _O,\n R extends void | Promise<void> = void\n >(\n base: T,\n mutate: (draft: T) => R,\n options?: ExternalOptions<O, F>\n ): CreateResult<T, O, F, R>;\n <\n T extends any,\n P extends any[] = [],\n F extends boolean = _F,\n O extends PatchesOptions = _O,\n R extends void | Promise<void> = void\n >(\n mutate: (draft: Draft<T>, ...args: P) => R,\n options?: ExternalOptions<O, F>\n ): (base: T, ...args: P) => CreateResult<T, O, F, R>;\n <T extends any, O extends PatchesOptions = _O, F extends boolean = _F>(\n base: T,\n options?: ExternalOptions<O, F>\n ): [Draft<T>, () => Result<T, O, F>];\n};\n\n/**\n * `makeCreator(options)` to make a creator function.\n *\n * ## Example\n *\n * ```ts\n * import { makeCreator } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const create = makeCreator({ enableAutoFreeze: true });\n * const state = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * },\n * );\n *\n * expect(state).toEqual({ foo: { bar: 'str2' }, arr: [] });\n * expect(state).not.toBe(baseState);\n * expect(state.foo).not.toBe(baseState.foo);\n * expect(state.arr).toBe(baseState.arr);\n * expect(Object.isFrozen(state)).toBeTruthy();\n * ```\n */\nexport const makeCreator: MakeCreator = (arg) => {\n if (\n __DEV__ &&\n arg !== undefined &&\n Object.prototype.toString.call(arg) !== '[object Object]'\n ) {\n throw new Error(\n `Invalid options: ${String(arg)}, 'options' should be an object.`\n );\n }\n return function create(arg0: any, arg1: any, arg2?: any): any {\n if (typeof arg0 === 'function' && typeof arg1 !== 'function') {\n return function (this: any, base: any, ...args: any[]) {\n return create(\n base,\n (draft: any) => arg0.call(this, draft, ...args),\n arg1\n );\n };\n }\n const base = arg0;\n const mutate = arg1 as (...args: any[]) => any;\n let options = arg2;\n if (typeof arg1 !== 'function') {\n options = arg1;\n }\n if (\n __DEV__ &&\n options !== undefined &&\n Object.prototype.toString.call(options) !== '[object Object]'\n ) {\n throw new Error(\n `Invalid options: ${options}, 'options' should be an object.`\n );\n }\n options = {\n ...arg,\n ...options,\n };\n const state = isDraft(base) ? current(base) : base;\n const mark = Array.isArray(options.mark)\n ? (((value: unknown, types: typeof dataTypes) => {\n for (const mark of options.mark as Mark<any, any>[]) {\n if (__DEV__ && typeof mark !== 'function') {\n throw new Error(\n `Invalid mark: ${mark}, 'mark' should be a function.`\n );\n }\n const result = mark(value, types);\n if (result) {\n return result;\n }\n }\n return;\n }) as Mark<any, any>)\n : options.mark;\n const enablePatches = options.enablePatches ?? false;\n const strict = options.strict ?? false;\n const enableAutoFreeze = options.enableAutoFreeze ?? false;\n const _options: Options<any, any> = {\n enableAutoFreeze,\n mark,\n strict,\n enablePatches,\n };\n if (\n !isDraftable(state, _options) &&\n typeof state === 'object' &&\n state !== null\n ) {\n throw new Error(\n `Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.`\n );\n }\n const [draft, finalize] = draftify(state, _options);\n if (typeof arg1 !== 'function') {\n if (!isDraftable(state, _options)) {\n throw new Error(\n `Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.`\n );\n }\n return [draft, finalize];\n }\n let result: any;\n try {\n result = mutate(draft);\n } catch (error) {\n revokeProxy(getProxyDraft(draft));\n throw error;\n }\n const returnValue = (value: any) => {\n const proxyDraft = getProxyDraft(draft)!;\n if (!isDraft(value)) {\n if (\n value !== undefined &&\n !isEqual(value, draft) &&\n proxyDraft?.operated\n ) {\n throw new Error(\n `Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.`\n );\n }\n const rawReturnValue = value?.[RAW_RETURN_SYMBOL] as [any] | undefined;\n if (rawReturnValue) {\n const _value = rawReturnValue[0];\n if (_options.strict && typeof value === 'object' && value !== null) {\n handleReturnValue({\n rootDraft: proxyDraft,\n value,\n useRawReturn: true,\n });\n }\n return finalize([_value]);\n }\n if (value !== undefined) {\n if (typeof value === 'object' && value !== null) {\n handleReturnValue({ rootDraft: proxyDraft, value });\n }\n return finalize([value]);\n }\n }\n if (value === draft || value === undefined) {\n return finalize([]);\n }\n const returnedProxyDraft = getProxyDraft(value)!;\n if (_options === returnedProxyDraft.options) {\n if (returnedProxyDraft.operated) {\n throw new Error(`Cannot return a modified child draft.`);\n }\n return finalize([current(value)]);\n }\n return finalize([value]);\n };\n if (result instanceof Promise) {\n return result.then(returnValue, (error) => {\n revokeProxy(getProxyDraft(draft)!);\n throw error;\n });\n }\n return returnValue(result);\n };\n};\n", "import { makeCreator } from './makeCreator';\n\n/**\n * `create(baseState, callback, options)` to create the next state\n *\n * ## Example\n *\n * ```ts\n * import { create } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const state = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * },\n * );\n *\n * expect(state).toEqual({ foo: { bar: 'str2' }, arr: [] });\n * expect(state).not.toBe(baseState);\n * expect(state.foo).not.toBe(baseState.foo);\n * expect(state.arr).toBe(baseState.arr);\n * ```\n */\nconst create = makeCreator();\n\nexport { create };\n", "import { Draft, Options, Patches, DraftType, Operation } from './interface';\nimport { deepClone, get, getType, isDraft, unescapePath } from './utils';\nimport { create } from './create';\n\n/**\n * `apply(state, patches)` to apply patches to state\n *\n * ## Example\n *\n * ```ts\n * import { create, apply } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const [state, patches] = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * },\n * { enablePatches: true }\n * );\n * expect(state).toEqual({ foo: { bar: 'str2' }, arr: [] });\n * expect(patches).toEqual([{ op: 'replace', path: ['foo', 'bar'], value: 'str2' }]);\n * expect(state).toEqual(apply(baseState, patches));\n * ```\n */\nexport function apply<T extends object, F extends boolean = false>(\n state: T,\n patches: Patches,\n applyOptions?: Pick<\n Options<boolean, F>,\n Exclude<keyof Options<boolean, F>, 'enablePatches'>\n >\n) {\n let i: number;\n for (i = patches.length - 1; i >= 0; i -= 1) {\n const { value, op, path } = patches[i];\n if (\n (!path.length && op === Operation.Replace) ||\n (path === '' && op === Operation.Add)\n ) {\n state = value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const mutate = (draft: Draft<T>) => {\n patches.forEach((patch) => {\n const { path: _path, op } = patch;\n const path = unescapePath(_path);\n let base: any = draft;\n for (let index = 0; index < path.length - 1; index += 1) {\n const parentType = getType(base);\n let key = path[index];\n if (typeof key !== 'string' && typeof key !== 'number') {\n key = String(key);\n }\n if (\n ((parentType === DraftType.Object ||\n parentType === DraftType.Array) &&\n (key === '__proto__' || key === 'constructor')) ||\n (typeof base === 'function' && key === 'prototype')\n ) {\n throw new Error(\n `Patching reserved attributes like __proto__ and constructor is not allowed.`\n );\n }\n // use `index` in Set draft\n base = get(parentType === DraftType.Set ? Array.from(base) : base, key);\n if (typeof base !== 'object') {\n throw new Error(`Cannot apply patch at '${path.join('/')}'.`);\n }\n }\n\n const type = getType(base);\n // ensure the original patch is not modified.\n const value = deepClone(patch.value);\n const key = path[path.length - 1];\n switch (op) {\n case Operation.Replace:\n switch (type) {\n case DraftType.Map:\n return base.set(key, value);\n case DraftType.Set:\n throw new Error(`Cannot apply replace patch to set.`);\n default:\n return (base[key] = value);\n }\n case Operation.Add:\n switch (type) {\n case DraftType.Array:\n // If the \"-\" character is used to\n // index the end of the array (see [RFC6901](https://datatracker.ietf.org/doc/html/rfc6902)),\n // this has the effect of appending the value to the array.\n return key === '-'\n ? base.push(value)\n : base.splice(key as number, 0, value);\n case DraftType.Map:\n return base.set(key, value);\n case DraftType.Set:\n return base.add(value);\n default:\n return (base[key] = value);\n }\n case Operation.Remove:\n switch (type) {\n case DraftType.Array:\n return base.splice(key as number, 1);\n case DraftType.Map:\n return base.delete(key);\n case DraftType.Set:\n return base.delete(patch.value);\n default:\n return delete base[key];\n }\n default:\n throw new Error(`Unsupported patch operation: ${op}.`);\n }\n });\n };\n if (isDraft(state)) {\n if (applyOptions !== undefined) {\n throw new Error(`Cannot apply patches with options to a draft.`);\n }\n mutate(state as Draft<T>);\n return state;\n }\n return create<T, F>(state, mutate, {\n ...applyOptions,\n enablePatches: false,\n });\n}\n", "import { getProxyDraft } from './utils';\n\n/**\n * `original(draft)` to get original state in the draft mutation function.\n *\n * ## Example\n *\n * ```ts\n * import { create, original } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const state = create(\n * baseState,\n * (draft) => {\n * draft.foo.bar = 'str2';\n * expect(original(draft.foo)).toEqual({ bar: 'str' });\n * }\n * );\n * ```\n */\nexport function original<T>(target: T): T {\n const proxyDraft = getProxyDraft(target);\n if (!proxyDraft) {\n throw new Error(\n `original() is only used for a draft, parameter: ${target}`\n );\n }\n return proxyDraft.original;\n}\n", "import { RAW_RETURN_SYMBOL } from './constant';\n\n/**\n * Use rawReturn() to wrap the return value to skip the draft check and thus improve performance.\n *\n * ## Example\n *\n * ```ts\n * import { create, rawReturn } from '../index';\n *\n * const baseState = { foo: { bar: 'str' }, arr: [] };\n * const state = create(\n * baseState,\n * (draft) => {\n * return rawReturn(baseState);\n * },\n * );\n * expect(state).toBe(baseState);\n * ```\n */\nexport function rawReturn<T extends object | undefined>(value: T): T {\n if (arguments.length === 0) {\n throw new Error('rawReturn() must be called with a value.');\n }\n if (arguments.length > 1) {\n throw new Error('rawReturn() must be called with one argument.');\n }\n if (\n __DEV__ &&\n value !== undefined &&\n (typeof value !== 'object' || value === null)\n ) {\n console.warn(\n 'rawReturn() must be called with an object(including plain object, arrays, Set, Map, etc.) or `undefined`, other types do not need to be returned via rawReturn().'\n );\n }\n return {\n [RAW_RETURN_SYMBOL]: [value],\n } as never;\n}\n", "import { dataTypes } from '../constant';\n\nconst constructorString = Object.prototype.constructor.toString();\n/**\n * Check if the value is a simple object(No prototype chain object or iframe same-origin object),\n * support case: https://github.com/unadlib/mutative/issues/17\n */\nconst isSimpleObject = (value: unknown) => {\n if (!value || typeof value !== 'object') return false;\n const prototype = Object.getPrototypeOf(value);\n if (prototype === null) {\n return true;\n }\n const constructor =\n Object.hasOwnProperty.call(prototype, 'constructor') &&\n prototype.constructor;\n\n if (constructor === Object) return true;\n\n return (\n typeof constructor === 'function' &&\n Function.toString.call(constructor) === constructorString\n );\n};\n\nexport const markSimpleObject = (value: unknown) => {\n if (isSimpleObject(value)) {\n return dataTypes.immutable;\n }\n return;\n};\n", "import { Draft, Immutable } from '../interface';\n\n/**\n * Cast a value to an Draft type value.\n */\nexport function castDraft<T>(value: T): Draft<T> {\n return value as any;\n}\n\n/**\n * Cast a value to an Immutable type value.\n */\nexport function castImmutable<T>(value: T): Immutable<T> {\n return value as any;\n}\n\n/**\n * Cast a value to an Mutable type value.\n */\nexport function castMutable<T>(draft: Draft<T>): T {\n return draft as any;\n}\n", "import stringify from \"safe-stable-stringify\";\nexport var IntegrityIssueType;\n(function (IntegrityIssueType) {\n IntegrityIssueType[\"UNEXPECTED_INDEX\"] = \"UNEXPECTED_INDEX\";\n})(IntegrityIssueType || (IntegrityIssueType = {}));\nexport var IntegrityIssueSubType;\n(function (IntegrityIssueSubType) {\n IntegrityIssueSubType[\"DUPLICATED_INDEX\"] = \"DUPLICATED_INDEX\";\n IntegrityIssueSubType[\"MISSING_INDEX\"] = \"MISSING_INDEX\";\n})(IntegrityIssueSubType || (IntegrityIssueSubType = {}));\nexport function checkCleanedOperationsIntegrity(sortedOperations) {\n const result = [];\n // 1:1 1\n // 0:0 0 -> 1:0 1 -> 2:0 -> 3:0 -> 4:0 -> 5:0\n // 0:0 0 -> 2:1 1 -> 3:0 -> 4:0 -> 5:0\n // 0:0 0 -> 3:2 1 -> 4:0 -> 5:0\n // 0:0 0 -> 3:2 1 -> 5:1\n // 0:3 (expected 0, got -3)\n // 1:2 (expected 0, got -1)\n // 0:0 -> 1:1\n // 0:0 -> 2:2\n // 0:0 -> 3:2 -> 5:2\n let currentIndex = -1;\n for (const nextOperation of sortedOperations) {\n const nextIndex = nextOperation.index - nextOperation.skip;\n if (nextIndex !== currentIndex + 1) {\n result.push({\n operation: {\n index: nextOperation.index,\n skip: nextOperation.skip,\n },\n issue: IntegrityIssueType.UNEXPECTED_INDEX,\n category: nextIndex > currentIndex + 1\n ? IntegrityIssueSubType.MISSING_INDEX\n : IntegrityIssueSubType.DUPLICATED_INDEX,\n message: `Expected index ${currentIndex + 1} with skip 0 or equivalent, got index ${nextOperation.index} with skip ${nextOperation.skip}`,\n });\n }\n currentIndex = nextOperation.index;\n }\n return result;\n}\n// [] -> []\n// [0:0] -> [0:0]\n// 0:0 1:0 2:0 => 0:0 1:0 2:0, removals 0, no issues\n// 0:0 1:1 2:0 => 1:1 2:0, removals 1, no issues\n// 0:0 1:1 2:0 3:1 => 1:1 3:1, removals 2, no issues\n// 0:0 1:1 2:0 3:3 => 3:3\n// 1:1 2:0 3:0 => 1:1 2:0 3:0, removals 0, no issues\n// 1:0 0:0 2:0 => 2:0, removals 2, issues [UNEXPECTED_INDEX, INDEX_OUT_OF_ORDER]\n// 0:0 1:0 2:0 => 0:0 1:0 2:0, removals 0, no issues\n// 0:0 1:0 2:0 => 0:0 1:0 2:0, removals 0, no issues\n// 0:0 1:0 2:0 => 0:0 1:0 2:0, removals 0, no issues\nexport function garbageCollect(sortedOperations) {\n const result = [];\n let i = sortedOperations.length - 1;\n while (i > -1) {\n result.unshift(sortedOperations[i]);\n const skipUntil = (sortedOperations[i]?.index || 0) - (sortedOperations[i]?.skip || 0) - 1;\n let j = i - 1;\n while (j > -1 && (sortedOperations[j]?.index || 0) > skipUntil) {\n j--;\n }\n i = j;\n }\n return result;\n}\nexport function addUndo(sortedOperations) {\n const operationsCopy = [...sortedOperations];\n const latestOperation = operationsCopy[operationsCopy.length - 1];\n if (!latestOperation)\n return operationsCopy;\n if (latestOperation.type === \"NOOP\") {\n operationsCopy.push({\n ...latestOperation,\n index: latestOperation.index,\n type: \"NOOP\",\n skip: nextSkipNumber(sortedOperations),\n });\n }\n else {\n operationsCopy.push({\n type: \"NOOP\",\n index: latestOperation.index + 1,\n timestamp: new Date().toISOString(),\n input: {},\n skip: 1,\n scope: latestOperation.scope,\n hash: latestOperation.hash,\n });\n }\n return operationsCopy;\n}\n// [0:0 2:0 1:0 3:3 3:1] => [0:0 1:0 2:0 3:1 3:3]\n// Sort by index _and_ skip number\nexport function sortOperations(operations) {\n return operations\n .slice()\n .sort((a, b) => a.skip - b.skip)\n .sort((a, b) => a.index - b.index);\n}\n// [0:0, 1:0, 2:0, A3:0, A4:0, A5:0] + [0:0, 1:0, 2:0, B3:0, B4:2, B5:0]\n// GC => [0:0, 1:0, 2:0, A3:0, A4:0, A5:0] + [0:0, 1:0, B4:2, B5:0]\n// Split => [0:0, 1:0] + [2:0, A3:0, A4:0, A5:0] + [B4:2, B5:0]\n// Reshuffle(6:4) => [6:4, 7:0, 8:0, 9:0, 10:0, 11:0]\n// merge => [0:0, 1:0, 6:4, 7:0, 8:0, 9:0, 10:0, 11:0]\nexport function reshuffleByTimestamp(startIndex, opsA, opsB) {\n return [...opsA, ...opsB]\n .sort((a, b) => new Date(a.timestamp || \"\").getTime() -\n new Date(b.timestamp || \"\").getTime())\n .map((op, i) => ({\n ...op,\n index: startIndex.index + i,\n skip: i === 0 ? startIndex.skip : 0,\n }));\n}\nexport function reshuffleByTimestampAndIndex(startIndex, opsA, opsB) {\n return [...opsA, ...opsB]\n .sort((a, b) => new Date(a.timestamp || \"\").getTime() -\n new Date(b.timestamp || \"\").getTime())\n .sort((a, b) => a.index - b.index)\n .map((op, i) => ({\n ...op,\n index: startIndex.index + i,\n skip: i === 0 ? startIndex.skip : 0,\n }));\n}\n// TODO: implement better operation equality function\nexport function operationsAreEqual(op1, op2) {\n return stringify(op1) === stringify(op2);\n}\n// [T0:0 T1:0 T2:0 T3:0] + [B4:0 B5:0] = [T0:0 T1:0 T2:0 T3:0 B4:0 B5:0]\n// [T0:0 T1:0 T2:0 T3:0] + [B3:0 B4:0] = [T0:0 T1:0 T2:0 B3:0 B4:0]\n// [T0:0 T1:0 T2:0 T3:0] + [B2:0 B3:0] = [T0:0 T1:0 B2:0 B3:0]\n// [T0:0 T1:0 T2:0 T3:0] + [B4:0 B4:2] = [T0:0 T1:0 T2:0 T3:0 B4:0 B4:2]\n// [T0:0 T1:0 T2:0 T3:0] + [B3:0 B3:2] = [T0:0 T1:0 T2:0 B3:0 B3:2]\n// [T0:0 T1:0 T2:0 T3:0] + [B2:3 B3:0] = [T0:0 T1:0 B2:3 B3:0]\nexport function attachBranch(trunk, newBranch) {\n const trunkCopy = garbageCollect(sortOperations(trunk.slice()));\n const newOperations = garbageCollect(sortOperations(newBranch.slice()));\n if (trunkCopy.length < 1) {\n return [newOperations, []];\n }\n const result = [];\n let enteredBranch = false;\n while (newOperations.length > 0) {\n const newOperationCandidate = newOperations[0];\n let nextTrunkOperation = trunkCopy.shift();\n while (nextTrunkOperation &&\n precedes(nextTrunkOperation, newOperationCandidate)) {\n result.push(nextTrunkOperation);\n nextTrunkOperation = trunkCopy.shift();\n }\n if (!nextTrunkOperation) {\n enteredBranch = true;\n }\n else if (!enteredBranch) {\n if (operationsAreEqual(nextTrunkOperation, newOperationCandidate)) {\n newOperations.shift();\n result.push(nextTrunkOperation);\n }\n else {\n trunkCopy.unshift(nextTrunkOperation);\n enteredBranch = true;\n }\n }\n if (enteredBranch) {\n let nextAppend = newOperations.shift();\n while (nextAppend) {\n result.push(nextAppend);\n nextAppend = newOperations.shift();\n }\n }\n }\n if (!enteredBranch) {\n let nextAppend = trunkCopy.shift();\n while (nextAppend) {\n result.push(nextAppend);\n nextAppend = trunkCopy.shift();\n }\n }\n return [garbageCollect(result), trunkCopy];\n}\nexport function precedes(op1, op2) {\n return (op1.index < op2.index ||\n (op1.index === op2.index && op1.id === op2.id && op1.skip < op2.skip));\n}\nexport function split(sortedTargetOperations, sortedMergeOperations) {\n const commonOperations = [];\n const targetDiffOperations = [];\n const mergeDiffOperations = [];\n // get bigger array length\n const maxLength = Math.max(sortedTargetOperations.length, sortedMergeOperations.length);\n let splitHappened = false;\n for (let i = 0; i < maxLength; i++) {\n const targetOperation = sortedTargetOperations[i];\n const mergeOperation = sortedMergeOperations[i];\n if (targetOperation && mergeOperation) {\n if (!splitHappened &&\n operationsAreEqual(targetOperation, mergeOperation)) {\n commonOperations.push(targetOperation);\n }\n else {\n splitHappened = true;\n targetDiffOperations.push(targetOperation);\n mergeDiffOperations.push(mergeOperation);\n }\n }\n else if (targetOperation) {\n targetDiffOperations.push(targetOperation);\n }\n else if (mergeOperation) {\n mergeDiffOperations.push(mergeOperation);\n }\n }\n return [commonOperations, targetDiffOperations, mergeDiffOperations];\n}\n// [0:0, 1:0, 2:0, A3:0, A4:0, A5:0] + [0:0, 1:0, 2:0, B3:0, B4:2, B5:0]\n// GC => [0:0, 1:0, 2:0, A3:0, A4:0, A5:0] + [0:0, 1:0, B4:2, B5:0]\n// Split => [0:0, 1:0] + [2:0, A3:0, A4:0, A5:0] + [B4:2, B5:0]\n// Reshuffle(6:4) => [6:4, 7:0, 8:0, 9:0, 10:0, 11:0]\n// merge => [0:0, 1:0, 6:4, 7:0, 8:0, 9:0, 10:0, 11:0]\nexport function merge(sortedTargetOperations, sortedMergeOperations, reshuffle) {\n const [_commonOperations, _targetOperations, _mergeOperations] = split(garbageCollect(sortedTargetOperations), garbageCollect(sortedMergeOperations));\n const maxCommonIndex = getMaxIndex(_commonOperations);\n const nextIndex = 1 +\n Math.max(maxCommonIndex, getMaxIndex(_targetOperations), getMaxIndex(_mergeOperations));\n const filteredMergeOperations = filterDuplicatedOperations(_mergeOperations, _targetOperations);\n const newOperationHistory = reshuffle({\n index: nextIndex,\n skip: nextIndex - (maxCommonIndex + 1),\n }, _targetOperations, filteredMergeOperations);\n return _commonOperations.concat(newOperationHistory);\n}\nfunction getMaxIndex(sortedOperations) {\n const lastElement = sortedOperations[sortedOperations.length - 1];\n if (!lastElement) {\n return -1;\n }\n return lastElement.index;\n}\n// [] => -1\n// [0:0] => -1\n// [0:0 1:0] => 1\n// [0:0 1:1] => -1\n// [1:1] => -1\n// [0:0 1:0 2:0] => 1\n// [0:0 1:0 2:0 2:1] => 2\n// [0:0 1:0 2:0 2:1 2:2] => -1\n// [0:0 1:1 2:0] => 2\n// [0:0 1:1 2:2] => -1\n// [0:0 1:1 2:0 3:0] => 1\n// [0:0 1:1 2:0 3:1] => 3\n// [0:0 1:1 2:0 3:3] => -1\n// [50:50 100:50 150:50 151:0 152:0 153:0 154:3] => 53\nexport function nextSkipNumber(sortedOperations) {\n if (sortedOperations.length < 1) {\n return -1;\n }\n const cleanedOperations = garbageCollect(sortedOperations);\n let nextSkip = (cleanedOperations[cleanedOperations.length - 1]?.skip || 0) + 1;\n if (cleanedOperations.length > 1) {\n nextSkip += cleanedOperations[cleanedOperations.length - 2]?.skip || 0;\n }\n return (cleanedOperations[cleanedOperations.length - 1]?.index || -1) <\n nextSkip\n ? -1\n : nextSkip;\n}\nexport function checkOperationsIntegrity(operations) {\n return checkCleanedOperationsIntegrity(garbageCollect(sortOperations(operations)));\n}\nexport function groupOperationsByScope(operations) {\n const result = operations.reduce((acc, operation) => {\n if (!acc[operation.scope]) {\n acc[operation.scope] = [];\n }\n acc[operation.scope]?.push(operation);\n return acc;\n }, {});\n return result;\n}\nexport function prepareOperations(operationsHistory, newOperations) {\n const result = {\n integrityIssues: [],\n validOperations: [],\n invalidOperations: [],\n duplicatedOperations: [],\n };\n const sortedOperationsHistory = sortOperations(operationsHistory);\n const sortedOperations = sortOperations(newOperations);\n const integrityErrors = checkCleanedOperationsIntegrity([\n ...sortedOperationsHistory,\n ...sortedOperations,\n ]);\n const missingIndexErrors = integrityErrors.filter((integrityIssue) => integrityIssue.category === IntegrityIssueSubType.MISSING_INDEX);\n // get the integrity error with the lowest index operation\n const firstMissingIndexOperation = [...missingIndexErrors]\n .sort((a, b) => b.operation.index - a.operation.index)\n .pop()?.operation;\n for (const newOperation of sortedOperations) {\n // Operation is missing index or it follows an operation that is missing index\n if (firstMissingIndexOperation &&\n newOperation.index >= firstMissingIndexOperation.index) {\n result.invalidOperations.push(newOperation);\n continue;\n }\n // check if operation is duplicated\n const isDuplicatedOperation = integrityErrors.some((integrityError) => {\n return (integrityError.operation.index === newOperation.index &&\n integrityError.operation.skip === newOperation.skip &&\n integrityError.category === IntegrityIssueSubType.DUPLICATED_INDEX);\n });\n // add to duplicated operations if it is duplicated\n if (isDuplicatedOperation) {\n result.duplicatedOperations.push(newOperation);\n continue;\n }\n // otherwise, add to valid operations\n result.validOperations.push(newOperation);\n }\n result.integrityIssues.push(...integrityErrors);\n return result;\n}\nexport function removeExistingOperations(newOperations, operationsHistory) {\n return newOperations.filter((newOperation) => {\n return !operationsHistory.some((historyOperation) => {\n return ((newOperation.type === \"NOOP\" &&\n newOperation.skip === 0 &&\n newOperation.index === historyOperation.index) ||\n (newOperation.index === historyOperation.index &&\n newOperation.skip === historyOperation.skip &&\n newOperation.scope === historyOperation.scope &&\n newOperation.hash === historyOperation.hash &&\n newOperation.type === historyOperation.type));\n });\n });\n}\n/**\n * Skips header operations and returns the remaining operations.\n *\n * @param operations - The array of operations.\n * @param skipHeaderOperation - The skip header operation index.\n * @returns The remaining operations after skipping header operations.\n */\nexport function skipHeaderOperations(operations, skipHeaderOperation) {\n const lastOperation = sortOperations(operations).at(-1);\n const lastIndex = lastOperation?.index ?? -1;\n const nextIndex = lastIndex + 1;\n const skipOperationIndex = {\n ...skipHeaderOperation,\n index: skipHeaderOperation.index ?? nextIndex,\n };\n if (skipOperationIndex.index < lastIndex) {\n throw new Error(`The skip header operation index must be greater than or equal to ${lastIndex}`);\n }\n const clearedOperations = garbageCollect(sortOperations([...operations, skipOperationIndex]));\n return clearedOperations.slice(0, -1); //clearedOperation ? [clearedOperation as TOpIndex] : [];\n}\nexport function garbageCollectDocumentOperations(documentOperations) {\n const clearedOperations = Object.entries(documentOperations).reduce((acc, entry) => {\n const [scope, ops] = entry;\n return {\n ...acc,\n [scope]: garbageCollect(sortOperations(ops)),\n };\n }, {});\n return clearedOperations;\n}\n/**\n * Filters out duplicated operations from the target operations array based on their IDs.\n * If an operation has an ID, it is considered duplicated if there is another operation in the source operations array with the same ID.\n * If an operation does not have an ID, it is considered unique and will not be filtered out.\n * @param targetOperations - The array of target operations to filter.\n * @param sourceOperations - The array of source operations to compare against.\n * @returns An array of operations with duplicates filtered out.\n */\nexport function filterDuplicatedOperations(targetOperations, sourceOperations) {\n return targetOperations.filter((op) => {\n if (op.id) {\n return !sourceOperations.some((targetOp) => targetOp.id === op.id);\n }\n return true;\n });\n}\nexport function filterDocumentOperationsResultingState(documentOperations) {\n if (!documentOperations) {\n return {};\n }\n const entries = Object.entries(documentOperations);\n return entries.reduce((acc, [scope, operations]) => ({\n ...acc,\n [scope]: operations.map((op) => {\n const { resultingState, ...restProps } = op;\n return restProps;\n }),\n }), {});\n}\n/**\n * Calculates the difference between two arrays of operations.\n * Returns an array of operations that are present in `clearedOperationsA` but not in `clearedOperationsB`.\n *\n * @template TOp - The type of the operations.\n * @param {TOp[]} clearedOperationsA - The first array of operations.\n * @param {TOp[]} clearedOperationsB - The second array of operations.\n * @returns {TOp[]} - The difference between the two arrays of operations.\n */\nexport function diffOperations(clearedOperationsA, clearedOperationsB) {\n return clearedOperationsA.filter((operationA) => !clearedOperationsB.some((operationB) => operationA.index === operationB.index));\n}\n", "import { z } from \"zod\";\nexport const isDefinedNonNullAny = (v) => v !== undefined && v !== null;\nexport const definedNonNullAnySchema = z\n .any()\n .refine((v) => isDefinedNonNullAny(v));\nexport const Load_StateSchema = z.enum([\"LOAD_STATE\"]);\nexport const PruneSchema = z.enum([\"PRUNE\"]);\nexport const RedoSchema = z.enum([\"REDO\"]);\nexport const Set_NameSchema = z.enum([\"SET_NAME\"]);\nexport const UndoSchema = z.enum([\"UNDO\"]);\nexport function ActionSchema() {\n return z.object({\n __typename: z.literal(\"Action\").optional(),\n type: z.string(),\n });\n}\nexport function OperationScopeSchema() {\n return z.literal(\"global\").or(z.literal(\"local\"));\n}\nexport function DocumentActionSchema() {\n return z.union([\n LoadStateActionSchema(),\n PruneActionSchema(),\n RedoActionSchema(),\n SetNameActionSchema(),\n UndoActionSchema(),\n ]);\n}\nexport function DocumentFileSchema() {\n return z.object({\n __typename: z.literal(\"DocumentFile\").optional(),\n data: z.string(),\n extension: z.string().nullable(),\n fileName: z.string().nullable(),\n mimeType: z.string(),\n });\n}\nexport function LoadStateActionSchema() {\n return z.object({\n input: z.lazy(() => LoadStateActionInputSchema()),\n type: Load_StateSchema,\n scope: OperationScopeSchema(),\n });\n}\nexport function LoadStateActionInputSchema() {\n return z.object({\n operations: z.number(),\n state: z.lazy(() => LoadStateActionStateInputSchema()),\n });\n}\nexport function LoadStateActionStateInputSchema() {\n return z.object({\n data: z.unknown().nullish(),\n name: z.string(),\n });\n}\nexport function OperationSchema() {\n return z.object({\n __typename: z.literal(\"Operation\").optional(),\n hash: z.string(),\n index: z.number(),\n timestamp: z.string().datetime(),\n type: z.string(),\n });\n}\nexport function PruneActionSchema() {\n return z.object({\n input: z.lazy(() => PruneActionInputSchema()),\n type: PruneSchema,\n scope: OperationScopeSchema(),\n });\n}\nexport function PruneActionInputSchema() {\n return z.object({\n end: z.number().nullish(),\n start: z.number().nullish(),\n });\n}\nexport const RedoActionInputSchema = z.number;\nexport function RedoActionSchema() {\n return z.object({\n input: RedoActionInputSchema(),\n type: RedoSchema,\n scope: OperationScopeSchema(),\n });\n}\nexport const SetNameActionInputSchema = z.string;\nexport function SetNameActionSchema() {\n return z.object({\n input: SetNameActionInputSchema(),\n type: Set_NameSchema,\n scope: z.literal(\"global\"),\n });\n}\nexport function SetNameOperationSchema() {\n return z.object({\n __typename: z.literal(\"SetNameOperation\").optional(),\n hash: z.string(),\n index: z.number(),\n input: z.string(),\n timestamp: z.string().datetime(),\n type: z.string(),\n });\n}\nexport const UndoActionInputSchema = z.number;\nexport function UndoActionSchema() {\n return z.object({\n input: UndoActionInputSchema(),\n type: UndoSchema,\n scope: OperationScopeSchema(),\n });\n}\n", "import { createAction } from \"../utils/base.js\";\nimport { LoadStateActionInputSchema, PruneActionInputSchema, RedoActionInputSchema, SetNameActionInputSchema, UndoActionInputSchema, } from \"../schema/zod.js\";\n/**\n * Changes the name of the document.\n *\n * @param name - The name to be set in the document.\n * @category Actions\n */\nexport const setName = (name) => createAction(\"SET_NAME\", name, undefined, SetNameActionInputSchema, undefined);\n/**\n * Cancels the last `count` operations.\n *\n * @param count - Number of operations to cancel\n * @category Actions\n */\nexport const undo = (skip = 1, scope = \"global\") => createAction(\"UNDO\", skip, undefined, UndoActionInputSchema, scope);\n/**\n * Cancels the last `count` {@link undo | UNDO} operations.\n *\n * @param count - Number of UNDO operations to cancel\n * @category Actions\n */\nexport const redo = (count = 1, scope = \"global\") => createAction(\"REDO\", count, undefined, RedoActionInputSchema, scope);\n/**\n * Joins multiple operations into a single {@link loadState | LOAD_STATE} operation.\n *\n * @remarks\n * Useful to keep operations history smaller. Operations to prune are selected by index,\n * similar to the {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice | slice} method in Arrays.\n *\n * @param start - Index of the first operation to prune\n * @param end - Index of the last operation to prune\n * @category Actions\n */\nexport const prune = (start, end, scope = \"global\") => createAction(\"PRUNE\", { start, end }, undefined, PruneActionInputSchema, scope);\n/**\n * Replaces the state of the document.\n *\n * @remarks\n * This action shouldn't be used directly. It is dispatched by the {@link prune} action.\n *\n * @param state - State to be set in the document.\n * @param operations - Number of operations that were removed from the previous state.\n * @category Actions\n */\nexport const loadState = (state, operations) => createAction(\"LOAD_STATE\", { state, operations }, undefined, LoadStateActionInputSchema);\nexport const noop = (scope = \"global\") => createAction(\"NOOP\", undefined, undefined, undefined, scope);\n", "import { castDraft, create } from \"mutative\";\nimport { hashDocumentStateForScope, replayOperations } from \"../utils/base.js\";\nimport { nextSkipNumber, sortOperations } from \"../utils/document-helpers.js\";\nimport { loadState, noop } from \"./creators.js\";\n// updates the name of the document\nexport function setNameOperation(document, name) {\n return { ...document, name };\n}\nexport function undoOperation(document, action, skip) {\n // const scope = action.scope;\n const { scope } = action;\n const defaultResult = {\n document,\n action,\n skip,\n reuseLastOperationIndex: false,\n };\n return create(defaultResult, (draft) => {\n const operations = [...document.operations[scope]];\n const sortedOperations = sortOperations(operations);\n draft.action = noop(scope);\n const lastOperation = sortedOperations.at(-1);\n let nextIndex = lastOperation?.index ?? -1;\n const isNewNoop = lastOperation?.type !== \"NOOP\";\n if (isNewNoop) {\n nextIndex = nextIndex + 1;\n }\n else {\n draft.reuseLastOperationIndex = true;\n }\n const nextOperationHistory = isNewNoop\n ? [...sortedOperations, { index: nextIndex, skip: 0 }]\n : sortedOperations;\n draft.skip = nextSkipNumber(nextOperationHistory);\n if (lastOperation && draft.skip > lastOperation.skip + 1) {\n // there's an overlap with a previous skip operation\n // (add 1 to the skip value because we are adding a new operation to the history)\n draft.skip = draft.skip + 1;\n }\n if (draft.skip < 0) {\n throw new Error(`Cannot undo: you can't undo more operations than the ones in the scope history`);\n }\n });\n}\nexport function redoOperation(document, action, skip) {\n const { scope, input } = action;\n const defaultResult = {\n document,\n action,\n skip,\n reuseLastOperationIndex: false,\n };\n return create(defaultResult, (draft) => {\n if (draft.skip > 0) {\n throw new Error(`Cannot redo: skip value from reducer cannot be used with REDO action`);\n }\n if (typeof input !== \"number\" || input > 1) {\n throw new Error(`Cannot redo: you can only redo one operation at a time`);\n }\n if (typeof input !== \"number\" || input < 1) {\n throw new Error(`Invalid REDO action: invalid redo input value`);\n }\n if (draft.document.clipboard.length < 1) {\n throw new Error(`Cannot redo: no operations in the clipboard`);\n }\n const operationIndex = draft.document.clipboard.findLastIndex((op) => op.scope === scope);\n if (operationIndex < 0) {\n throw new Error(`Cannot redo: no operations in clipboard for scope \"${scope}\"`);\n }\n const operation = draft.document.clipboard.splice(operationIndex, 1)[0];\n draft.action = castDraft({\n type: operation.type,\n scope: operation.scope,\n input: operation.input,\n });\n });\n}\nexport function pruneOperation(document, input, wrappedReducer) {\n const operations = document.operations.global;\n let { start, end } = input;\n start = start || 0;\n end = end || operations.length;\n const actionsToPrune = operations.slice(start, end);\n const actionsToKeepStart = operations.slice(0, start);\n const actionsToKeepEnd = operations.slice(end);\n // runs all operations from the initial state to\n // the end of prune to get name and data\n const newDocument = replayOperations(document.initialState, {\n ...document.operations,\n global: actionsToKeepStart.concat(actionsToPrune),\n }, wrappedReducer);\n const { name, state: newState } = newDocument;\n // the new operation has the index of the first pruned operation\n const loadStateIndex = actionsToKeepStart.length;\n // if and operation is pruned then reuses the timestamp of the last operation\n // if not then assigns the timestamp of the following unpruned operation\n const loadStateTimestamp = actionsToKeepStart.length\n ? actionsToKeepStart[actionsToKeepStart.length - 1].timestamp\n : actionsToKeepEnd.length\n ? actionsToKeepEnd[0].timestamp\n : new Date().toISOString();\n // replaces pruned operations with LOAD_STATE\n return replayOperations(document.initialState, {\n ...document.operations,\n global: [\n ...actionsToKeepStart,\n {\n skip: 0,\n ...loadState({ name, state: newState }, actionsToPrune.length),\n timestamp: loadStateTimestamp,\n index: loadStateIndex,\n hash: hashDocumentStateForScope({ state: newState }, \"global\"),\n },\n ...actionsToKeepEnd\n // updates the index for all the following operations\n .map((action, index) => ({\n ...action,\n index: loadStateIndex + index + 1,\n })),\n ],\n }, wrappedReducer);\n}\nexport function loadStateOperation(oldDocument, newDocument) {\n return {\n ...oldDocument,\n name: newDocument.name,\n state: newDocument.state ??\n { global: {}, local: {} },\n };\n}\n", "import { castDraft, create, unsafe } from \"mutative\";\nimport { loadStateOperation, pruneOperation, redoOperation, setNameOperation, undoOperation, } from \"./actions/operations.js\";\nimport { LOAD_STATE, PRUNE, REDO, SET_NAME, UNDO } from \"./actions/types.js\";\nimport { DocumentActionSchema } from \"./schema/zod.js\";\nimport { getDocumentLastModified, hashDocumentStateForScope, isDocumentAction, isUndo, isUndoRedo, parseResultingState, replayOperations, } from \"./utils/base.js\";\nimport { generateId } from \"./utils/crypto.js\";\nimport { diffOperations, garbageCollect, garbageCollectDocumentOperations, skipHeaderOperations, sortOperations, } from \"./utils/document-helpers.js\";\n/**\n * Gets the next revision number based on the provided action.\n *\n * @param state The current state of the document.\n * @param operation The action being applied to the document.\n * @returns The next revision number.\n */\nfunction getNextRevision(document, operation) {\n let latestOperationIndex;\n if (\"index\" in operation) {\n latestOperationIndex = operation.index;\n }\n else {\n latestOperationIndex =\n document.operations[operation.scope].at(-1)?.index ?? -1;\n }\n return (latestOperationIndex ?? -1) + 1;\n}\n/**\n * Updates the document header with the latest revision number and\n * date of last modification.\n *\n * @param state The current state of the document.\n * @param operation The action being applied to the document.\n * @returns The updated document state.\n */\nexport function updateHeader(document, action) {\n return {\n ...document,\n revision: {\n ...document.revision,\n [action.scope]: getNextRevision(document, action),\n },\n lastModified: getDocumentLastModified(document),\n };\n}\n/**\n * Updates the operations history of the document based on the provided action.\n *\n * @param state The current state of the document.\n * @param actionOrOperation The action being applied to the document.\n * @param skip The number of operations to skip before applying the action.\n * @param reuseLastOperationIndex Whether to reuse the last operation index (used when a an UNDO operation is performed after an existing one).\n * @returns The updated document state.\n */\nfunction updateOperations(document, actionOrOperation, skip = 0, reuseLastOperationIndex = false) {\n // UNDO, REDO and PRUNE are meta operations\n // that alter the operations history themselves\n if (\"type\" in actionOrOperation &&\n [UNDO, REDO, PRUNE].includes(actionOrOperation.type)) {\n return document;\n }\n const { scope } = actionOrOperation;\n const operations = document.operations[scope].slice();\n let operationId;\n const latestOperation = operations.at(-1);\n const lastOperationIndex = latestOperation?.index ?? -1;\n let nextIndex = reuseLastOperationIndex\n ? lastOperationIndex\n : lastOperationIndex + 1;\n let timestamp = new Date().toISOString();\n if (\"index\" in actionOrOperation) {\n if (actionOrOperation.index - skip > nextIndex) {\n throw new Error(`Missing operations: expected ${nextIndex} with skip 0 or equivalent, got index ${actionOrOperation.index} with skip ${skip}`);\n }\n nextIndex = actionOrOperation.index;\n operationId = actionOrOperation.id;\n timestamp = actionOrOperation.timestamp;\n }\n else {\n operationId =\n \"id\" in actionOrOperation\n ? actionOrOperation.id\n : generateId();\n }\n operations.push({\n ...actionOrOperation,\n id: operationId,\n index: nextIndex,\n timestamp,\n hash: \"\",\n scope,\n skip,\n error: undefined,\n });\n // adds the action to the operations history with\n // the latest index and current timestamp\n return {\n ...document,\n operations: { ...document.operations, [scope]: operations },\n };\n}\n/**\n * Updates the document state based on the provided action.\n *\n * @param state The current state of the document.\n * @param action The action being applied to the document.\n * @param skip The number of operations to skip before applying the action.\n * @param reuseLastOperationIndex Whether to reuse the last operation index (used when a an UNDO operation is performed after an existing one).\n * @returns The updated document state.\n */\nexport function updateDocument(document, action, skip = 0, reuseLastOperationIndex = false) {\n let newDocument = updateOperations(document, action, skip, reuseLastOperationIndex);\n newDocument = updateHeader(newDocument, action);\n return newDocument;\n}\n/**\n * The base document reducer function that wraps a custom reducer function.\n *\n * @param state The current state of the document.\n * @param action The action being applied to the document.\n * @param wrappedReducer The custom reducer function being wrapped by the base reducer.\n * @returns The updated document state.\n */\nfunction _baseReducer(document, action, wrappedReducer) {\n // throws if action is not valid base action\n const parsedAction = DocumentActionSchema().parse(action);\n switch (parsedAction.type) {\n case SET_NAME:\n return setNameOperation(document, parsedAction.input);\n case PRUNE:\n return pruneOperation(document, parsedAction.input, wrappedReducer);\n case LOAD_STATE:\n return loadStateOperation(document, parsedAction.input.state);\n default:\n return document;\n }\n}\n/**\n * Processes an UNDO or REDO action.\n *\n * @param document The current state of the document.\n * @param action The action being applied to the document.\n * @param skip The number of operations to skip before applying the action.\n * @returns The updated document, calculated skip value and transformed action (if applied).\n */\nexport function processUndoRedo(document, action, skip) {\n switch (action.type) {\n case UNDO:\n return undoOperation(document, action, skip);\n case REDO:\n return redoOperation(document, action, skip);\n default:\n return { document, action, skip, reuseLastOperationIndex: false };\n }\n}\nfunction processSkipOperation(document, action, customReducer, skipValue, reuseOperationResultingState = false, resultingStateParser = parseResultingState) {\n const scope = action.scope;\n const latestOperation = document.operations[scope].at(-1);\n if (!latestOperation)\n return document;\n const documentOperations = garbageCollectDocumentOperations({\n ...document.operations,\n [scope]: skipHeaderOperations(document.operations[scope], latestOperation),\n });\n let scopeState = undefined;\n const lastRemainingOperation = documentOperations[scope].at(-1);\n // if the last operation has the resulting state and\n // reuseOperationResultingState is true then reuses it\n // instead of replaying the operations from the beginning\n if (reuseOperationResultingState && lastRemainingOperation?.resultingState) {\n scopeState = resultingStateParser(lastRemainingOperation.resultingState);\n }\n else {\n const { state } = replayOperations(document.initialState, documentOperations, customReducer, undefined, undefined, undefined, undefined, {\n reuseHash: true,\n reuseOperationResultingState,\n operationResultingStateParser: resultingStateParser,\n });\n scopeState = state[scope];\n }\n return {\n ...document,\n state: {\n ...document.state,\n [scope]: scopeState,\n },\n operations: garbageCollectDocumentOperations({\n ...document.operations,\n }),\n };\n}\nfunction processUndoOperation(document, scope, customReducer, reuseOperationResultingState = false, resultingStateParser = parseResultingState) {\n const operations = [...document.operations[scope]];\n const sortedOperations = sortOperations(operations);\n sortedOperations.pop();\n const documentOperations = garbageCollectDocumentOperations({\n ...document.operations,\n });\n const clearedOperations = [...documentOperations[scope]];\n const diff = diffOperations(garbageCollect(sortedOperations), clearedOperations);\n const doc = replayOperations(document.initialState, documentOperations, customReducer, undefined, undefined, undefined, undefined, {\n reuseHash: true,\n reuseOperationResultingState,\n operationResultingStateParser: resultingStateParser,\n });\n const clipboard = sortOperations([...document.clipboard, ...diff].filter((op) => op.type !== \"NOOP\")).reverse();\n return { ...doc, clipboard };\n}\n/**\n * Base document reducer that wraps a custom document reducer and handles\n * document-level actions such as undo, redo, prune, and set name.\n *\n * @template TGlobalState - The type of the state of the custom reducer.\n * @template TAction - The type of the actions of the custom reducer.\n * @param state - The current state of the document.\n * @param action - The action object to apply to the state.\n * @param customReducer - The custom reducer that implements the application logic\n * specific to the document's state.\n * @returns The new state of the document.\n */\nexport function baseReducer(document, action, customReducer, dispatch, options = {}) {\n const { skip, ignoreSkipOperations = false, reuseHash = false, reuseOperationResultingState = false, operationResultingStateParser, } = options;\n let _action = { ...action };\n let skipValue = skip || 0;\n let newDocument = {\n ...document,\n };\n let reuseLastOperationIndex = false;\n const shouldProcessSkipOperation = !ignoreSkipOperations &&\n (skipValue > 0 ||\n (\"index\" in _action &&\n \"skip\" in _action &&\n typeof _action.skip === \"number\" &&\n _action.skip > 0));\n if (isUndoRedo(_action)) {\n const { skip: calculatedSkip, action: transformedAction, document: processedDocument, reuseLastOperationIndex: reuseIndex, } = processUndoRedo(document, _action, skipValue);\n _action = transformedAction;\n skipValue = calculatedSkip;\n newDocument = processedDocument;\n reuseLastOperationIndex = reuseIndex;\n }\n else {\n newDocument = {\n ...newDocument,\n clipboard: [],\n };\n }\n // if the action is one the base document actions (SET_NAME, UNDO, REDO, PRUNE)\n // then runs the base reducer first\n if (isDocumentAction(_action)) {\n newDocument = _baseReducer(newDocument, _action, customReducer);\n }\n // updates the document revision number, last modified date\n // and operation history\n newDocument = updateDocument(newDocument, _action, skipValue, reuseLastOperationIndex);\n const isUndoAction = isUndo(action);\n if (isUndoAction) {\n const result = processUndoOperation(newDocument, action.scope, customReducer);\n return result;\n }\n if (shouldProcessSkipOperation) {\n newDocument = processSkipOperation(newDocument, _action, customReducer, skipValue, reuseOperationResultingState, operationResultingStateParser);\n }\n // wraps the custom reducer with Mutative to avoid\n // mutation bugs and allow writing reducers with\n // mutating code\n newDocument = create(newDocument, (draft) => {\n // the reducer runs on a immutable version of\n // provided state\n try {\n const newState = customReducer(draft.state, _action, dispatch);\n // const clipboardValue = isUndoRedo(action) ? [...clipboard] : [];\n // if the reducer creates a new state object instead\n // of mutating the draft then returns the new state\n if (newState) {\n // Object.assign(draft.state, newState);\n unsafe(() => {\n // casts new state as draft to comply with typescript\n draft.state = castDraft(newState);\n // clipboard: [...clipboardValue],\n });\n }\n else {\n // unsafe(() => {\n // draft.clipboard = castDraft([...clipboardValue]);\n // });\n }\n }\n catch (error) {\n // if the reducer throws an error then we should keep the previous state (before replayOperations)\n // and remove skip number from action/operation\n const lastOperationIndex = newDocument.operations[_action.scope].length - 1;\n draft.operations[_action.scope][lastOperationIndex].error = error.message;\n draft.operations[_action.scope][lastOperationIndex].skip = 0;\n if (shouldProcessSkipOperation) {\n draft.state = castDraft({\n ...document.state,\n });\n draft.operations = castDraft({\n ...document.operations,\n [_action.scope]: [\n ...document.operations[_action.scope],\n {\n ...draft.operations[_action.scope][lastOperationIndex],\n },\n ],\n });\n }\n }\n });\n // updates the document history\n // meta operations are not added to the operations history\n if ([UNDO, REDO, PRUNE].includes(_action.type)) {\n return newDocument;\n }\n // if reuseHash is true, checks if the action has\n // an hash and uses it instead of generating it\n const scope = _action.scope || \"global\";\n const hash = reuseHash && Object.prototype.hasOwnProperty.call(_action, \"hash\")\n ? _action.hash\n : hashDocumentStateForScope(newDocument, scope);\n // updates the last operation with the hash of the resulting state\n const lastOperation = newDocument.operations[scope].at(-1);\n if (lastOperation) {\n lastOperation.hash = hash;\n if (reuseOperationResultingState) {\n lastOperation.resultingState = JSON.stringify(newDocument.state[scope]);\n }\n // if the action has attachments then adds them to the document\n if (!isDocumentAction(_action) && _action.attachments) {\n _action.attachments.forEach((attachment) => {\n const { hash, ...file } = attachment;\n if (!newDocument.attachments) {\n newDocument.attachments = {};\n }\n newDocument.attachments[hash] = {\n ...file,\n };\n });\n }\n }\n return newDocument;\n}\n", "export class InvalidActionInputError extends Error {\n data;\n constructor(data) {\n super();\n this.name = \"InvalidActionInputError\";\n this.data = data;\n this.message =\n this.message || `Invalid action input: ${JSON.stringify(data, null, 2)}`;\n }\n}\nexport class InvalidActionInputZodError extends InvalidActionInputError {\n issues;\n constructor(issues) {\n super(issues);\n this.issues = issues;\n this.name = \"InvalidActionInputZodError\";\n }\n}\n", "import { hash } from \"#utils/env\";\nimport stringifyJson from \"safe-stable-stringify\";\nimport { ZodError } from \"zod\";\nimport { LOAD_STATE, NOOP, PRUNE, REDO, SET_NAME, UNDO, } from \"../actions/types.js\";\nimport { baseReducer, updateHeader } from \"../reducer.js\";\nimport { sortOperations } from \"./document-helpers.js\";\nimport { InvalidActionInputError, InvalidActionInputZodError, } from \"./errors.js\";\nexport function isNoopOperation(op) {\n return (op.type === NOOP &&\n op.skip !== undefined &&\n op.skip > 0 &&\n op.hash !== undefined);\n}\nexport function isUndoRedo(action) {\n return [UNDO, REDO].includes(action.type);\n}\nexport function isUndo(action) {\n return action.type === UNDO;\n}\nexport function isDocumentAction(action) {\n return [SET_NAME, UNDO, REDO, PRUNE, LOAD_STATE].includes(action.type);\n}\n/**\n * Helper function to be used by action creators.\n *\n * @remarks\n * Creates an action with the given type and input properties. The input\n * properties default to an empty object.\n *\n * @typeParam A - Type of the action to be returned.\n *\n * @param type - The type of the action.\n * @param input - The input properties of the action.\n * @param attachments - The attachments included in the action.\n * @param validator - The validator to use for the input properties.\n * @param scope - The scope of the action, can either be 'global' or 'local'.\n * @param skip - The number of operations to skip before this new action is applied.\n *\n * @throws Error if the type is empty or not a string.\n *\n * @returns The new action.\n */\nexport function createAction(type, input, attachments, validator, scope = \"global\") {\n if (!type) {\n throw new Error(\"Empty action type\");\n }\n if (typeof type !== \"string\") {\n throw new Error(`Invalid action type: ${JSON.stringify(type)}`);\n }\n const action = {\n type,\n input,\n scope,\n };\n if (attachments) {\n action.attachments = attachments;\n }\n try {\n validator?.().parse(action.input);\n }\n catch (error) {\n if (error instanceof ZodError) {\n throw new InvalidActionInputZodError(error.issues);\n }\n else {\n throw new InvalidActionInputError(error);\n }\n }\n return action;\n}\n/**\n * Helper function to create a document model reducer.\n *\n * @remarks\n * This function creates a new reducer that wraps the provided `reducer` with\n * `documentReducer`, adding support for document actions:\n * - `SET_NAME`\n * - `UNDO`\n * - `REDO`\n * - `PRUNE`\n *\n * It also updates the document-related attributes on every operation.\n *\n * @param reducer - The custom reducer to wrap.\n * @param documentReducer - The document reducer to use.\n *\n * @returns The new reducer.\n */\nexport function createReducer(stateReducer, documentReducer = baseReducer) {\n const reducer = (document, action, dispatch, options) => {\n return documentReducer(document, action, stateReducer, dispatch, options);\n };\n return reducer;\n}\nexport function baseCreateExtendedState(initialState, createState) {\n return {\n name: \"\",\n documentType: \"\",\n revision: {\n global: 0,\n local: 0,\n },\n created: new Date().toISOString(),\n lastModified: new Date().toISOString(),\n attachments: {},\n ...initialState,\n state: createState?.(initialState?.state) ??\n (initialState?.state ?? {\n global: {},\n local: {},\n }),\n };\n}\nexport function baseCreateDocument(initialState, createState) {\n const state = baseCreateExtendedState(initialState, createState);\n return {\n ...state,\n initialState: state,\n operations: { global: [], local: [] },\n clipboard: [],\n };\n}\nexport function hashDocumentStateForScope(document, scope = \"global\") {\n return hash(stringifyJson(document.state[scope] || \"\"));\n}\nexport const hashKey = (date, randomLimit = 1000) => {\n const random = Math.random() * randomLimit;\n return hash(`${(date ?? new Date()).toISOString()}${random}`);\n};\nexport function readOnly(value) {\n return Object.freeze(value);\n}\n/**\n * Maps skipped operations in an array of operations.\n * Skipped operations are operations that are ignored during processing.\n * @param operations - The array of operations to map.\n * @param skippedHeadOperations - The number of operations to skip at the head of the array of operations.\n * @returns An array of mapped operations with ignore flag indicating if the operation is skipped.\n * @throws Error if the operation index is invalid and there are missing operations.\n */\nexport function mapSkippedOperations(operations, skippedHeadOperations) {\n const ops = [...operations];\n let skipped = skippedHeadOperations || 0;\n let latestOpIndex = ops.length > 0 ? ops[ops.length - 1].index : 0;\n const scopeOpsWithIgnore = [];\n for (const operation of ops.reverse()) {\n if (skipped > 0) {\n const operationsDiff = latestOpIndex - operation.index;\n skipped -= operationsDiff;\n }\n if (skipped < 0) {\n throw new Error(\"Invalid operation index, missing operations\");\n }\n const mappedOp = {\n ignore: skipped > 0,\n operation,\n };\n // here we add 1 to the skip number because we want to get the number of\n // operations that we want to move the pointer back to get the latest valid operation\n // operation.skip = 1 means that we want to move the pointer back 2 operations to get to the latest valid operation\n const operationSkip = operation.skip > 0 ? operation.skip + 1 : 0;\n if (operationSkip > 0 && operationSkip > skipped) {\n const skipDiff = operationSkip - skipped;\n skipped = skipped + skipDiff;\n }\n latestOpIndex = operation.index;\n scopeOpsWithIgnore.push(mappedOp);\n }\n return scopeOpsWithIgnore.reverse();\n}\n// Flattens the mapped operations (with ignore flag) from all scopes into\n// a single array and sorts them by timestamp\nexport function sortMappedOperations(operations) {\n return Object.values(operations)\n .flatMap((array) => array)\n .sort((a, b) => new Date(a.operation.timestamp).getTime() -\n new Date(b.operation.timestamp).getTime());\n}\n// gets the last modified timestamp of a document from\u00A7\n// it's operations, falling back to the initial state\nexport function getDocumentLastModified(document) {\n const sortedOperations = sortOperations(Object.values(document.operations).flat());\n const timestamp = sortedOperations.at(-1)?.timestamp || document.initialState.lastModified;\n return timestamp;\n}\n// Runs the operations on the initial data using the\n// provided reducer, wrapped with the document reducer.\n// This rebuilds the document according to the provided actions.\nexport function replayOperations(initialState, clearedOperations, stateReducer, dispatch, header, documentReducer = baseReducer, skipHeaderOperations = {}, options) {\n // wraps the provided custom reducer with the\n // base document reducer\n const wrappedReducer = createReducer(stateReducer, documentReducer);\n return replayDocument(initialState, clearedOperations, wrappedReducer, dispatch, header, skipHeaderOperations, options);\n}\n// Runs the operations on the initial data using the\n// provided document reducer.\n// This rebuilds the document according to the provided actions.\nexport function replayDocument(initialState, operations, reducer, dispatch, header, skipHeaderOperations = {}, options) {\n const { checkHashes = true, reuseOperationResultingState, operationResultingStateParser = parseResultingState, } = options || {};\n let documentState = initialState;\n const operationsToReplay = [];\n const initialOperations = {\n global: [],\n local: [],\n };\n // if operation resulting state is to be used then\n // looks for the last operation with state of each\n // scope to use it as the starting point and only\n // replay operations that follow it\n if (reuseOperationResultingState) {\n for (const [scope, scopeOperations] of Object.entries(operations)) {\n const index = scopeOperations.findLastIndex((s) => !!s.resultingState);\n if (index < 0) {\n operationsToReplay.push(...scopeOperations);\n continue;\n }\n const opWithState = scopeOperations[index];\n if (!opWithState.resultingState)\n continue;\n try {\n const scopeState = operationResultingStateParser(opWithState.resultingState);\n documentState = {\n ...documentState,\n state: {\n ...documentState.state,\n // TODO how to deal with attachments?\n [scope]: scopeState,\n },\n };\n initialOperations[scope].push(...scopeOperations.slice(0, index + 1));\n operationsToReplay.push(...scopeOperations.slice(index + 1));\n }\n catch {\n /* if parsing fails then keeps replays all scope operations */\n operationsToReplay.push(...scopeOperations);\n }\n }\n }\n else {\n operationsToReplay.push(...Object.values(operations).flat());\n }\n // builds a new document from the initial data\n const document = baseCreateDocument(documentState);\n document.initialState = initialState;\n document.operations = initialOperations;\n let result = document;\n // if there are operations left without resulting state\n // then replays them\n if (operationsToReplay.length) {\n result = operationsToReplay.reduce((document, operation) => {\n const doc = reducer(document, operation, dispatch, {\n skip: operation.skip,\n ignoreSkipOperations: true,\n reuseHash: !checkHashes,\n });\n return doc;\n }, document);\n }\n // if not then updates the document header according\n // to the latest operation of each scope\n else {\n for (const scopeOperations of Object.values(initialOperations)) {\n const lastOperation = scopeOperations.at(-1);\n if (lastOperation) {\n result = updateHeader(result, lastOperation);\n }\n }\n }\n // if hash generation was skipped then checks if the hash\n // of each scope matches the hash of last operation\n if (!checkHashes) {\n for (const scope of Object.keys(result.state)) {\n for (let i = operationsToReplay.length - 1; i >= 0; i--) {\n const operation = operationsToReplay[i];\n if (operation.scope !== scope) {\n continue;\n }\n if (operation.hash !== hashDocumentStateForScope(result, scope)) {\n throw new Error(`Hash mismatch for scope ${scope}`);\n }\n else {\n break;\n }\n }\n }\n }\n // reuses operation timestamp if provided\n const resultOperations = Object.keys(result.operations).reduce((acc, key) => {\n const scope = key;\n return {\n ...acc,\n [scope]: [\n ...result.operations[scope].map((operation, index) => {\n return {\n ...operation,\n timestamp: operations[scope][index]?.timestamp ?? operation.timestamp,\n };\n }),\n ],\n };\n }, { global: [], local: [] });\n // gets the last modified timestamp from the latest operation\n const lastModified = Object.values(resultOperations).reduce((acc, curr) => {\n const operation = curr.at(-1);\n if (operation && operation.timestamp > acc) {\n acc = operation.timestamp;\n }\n return acc;\n }, initialState.lastModified);\n return {\n ...result,\n operations: resultOperations,\n lastModified,\n meta: header?.meta ?? {},\n };\n}\nexport function parseResultingState(state) {\n const stateType = typeof state;\n if (stateType === \"string\") {\n return JSON.parse(state);\n }\n else if (stateType === \"object\") {\n return state;\n }\n else {\n throw new Error(`Providing resulting state is of type: ${stateType}`);\n }\n}\n", "import { createAction } from \"../../../document/utils/base.js\";\nexport const setModelName = (input) => createAction(\"SET_MODEL_NAME\", { ...input });\nexport const setModelId = (input) => createAction(\"SET_MODEL_ID\", { ...input });\nexport const setModelExtension = (input) => createAction(\"SET_MODEL_EXTENSION\", { ...input });\nexport const setModelDescription = (input) => createAction(\"SET_MODEL_DESCRIPTION\", {\n ...input,\n});\nexport const setAuthorName = (input) => createAction(\"SET_AUTHOR_NAME\", { ...input });\nexport const setAuthorWebsite = (input) => createAction(\"SET_AUTHOR_WEBSITE\", { ...input });\n", "import { createAction } from \"../../../document/utils/base.js\";\nexport const addChangeLogItem = (input) => createAction(\"ADD_CHANGE_LOG_ITEM\", { ...input });\nexport const updateChangeLogItem = (input) => createAction(\"UPDATE_CHANGE_LOG_ITEM\", {\n ...input,\n});\nexport const deleteChangeLogItem = (input) => createAction(\"DELETE_CHANGE_LOG_ITEM\", {\n ...input,\n});\nexport const reorderChangeLogItems = (input) => createAction(\"REORDER_CHANGE_LOG_ITEMS\", {\n ...input,\n});\nexport const releaseNewVersion = () => createAction(\"RELEASE_NEW_VERSION\");\n", "import { createAction } from \"../../../document/utils/base.js\";\nexport const addModule = (input) => createAction(\"ADD_MODULE\", { ...input });\nexport const setModuleName = (input) => createAction(\"SET_MODULE_NAME\", { ...input });\nexport const setModuleDescription = (input) => createAction(\"SET_MODULE_DESCRIPTION\", {\n ...input,\n});\nexport const deleteModule = (input) => createAction(\"DELETE_MODULE\", { ...input });\nexport const reorderModules = (input) => createAction(\"REORDER_MODULES\", { ...input });\n", "import { createAction } from \"../../../document/utils/base.js\";\nexport const addOperationError = (input) => createAction(\"ADD_OPERATION_ERROR\", { ...input });\nexport const setOperationErrorCode = (input) => createAction(\"SET_OPERATION_ERROR_CODE\", {\n ...input,\n});\nexport const setOperationErrorName = (input) => createAction(\"SET_OPERATION_ERROR_NAME\", {\n ...input,\n});\nexport const setOperationErrorDescription = (input) => createAction(\"SET_OPERATION_ERROR_DESCRIPTION\", { ...input });\nexport const setOperationErrorTemplate = (input) => createAction(\"SET_OPERATION_ERROR_TEMPLATE\", { ...input });\nexport const deleteOperationError = (input) => createAction(\"DELETE_OPERATION_ERROR\", {\n ...input,\n});\nexport const reorderOperationErrors = (input) => createAction(\"REORDER_OPERATION_ERRORS\", {\n ...input,\n});\n", "import { createAction } from \"../../../document/utils/base.js\";\nexport const addOperationExample = (input) => createAction(\"ADD_OPERATION_EXAMPLE\", {\n ...input,\n});\nexport const updateOperationExample = (input) => createAction(\"UPDATE_OPERATION_EXAMPLE\", {\n ...input,\n});\nexport const deleteOperationExample = (input) => createAction(\"DELETE_OPERATION_EXAMPLE\", {\n ...input,\n});\nexport const reorderOperationExamples = (input) => createAction(\"REORDER_OPERATION_EXAMPLES\", {\n ...input,\n});\n", "import { createAction } from \"../../../document/utils/base.js\";\nexport const addOperation = (input) => createAction(\"ADD_OPERATION\", { ...input });\nexport const setOperationName = (input) => createAction(\"SET_OPERATION_NAME\", { ...input });\nexport const setOperationScope = (input) => createAction(\"SET_OPERATION_SCOPE\", { ...input });\nexport const setOperationSchema = (input) => createAction(\"SET_OPERATION_SCHEMA\", { ...input });\nexport const setOperationDescription = (input) => createAction(\"SET_OPERATION_DESCRIPTION\", {\n ...input,\n});\nexport const setOperationTemplate = (input) => createAction(\"SET_OPERATION_TEMPLATE\", {\n ...input,\n});\nexport const setOperationReducer = (input) => createAction(\"SET_OPERATION_REDUCER\", {\n ...input,\n});\nexport const moveOperation = (input) => createAction(\"MOVE_OPERATION\", { ...input });\nexport const deleteOperation = (input) => createAction(\"DELETE_OPERATION\", { ...input });\nexport const reorderModuleOperations = (input) => createAction(\"REORDER_MODULE_OPERATIONS\", {\n ...input,\n});\n", "import { createAction } from \"#document/utils/base.js\";\nexport const setStateSchema = (input) => createAction(\"SET_STATE_SCHEMA\", { ...input });\nexport const setInitialState = (input) => createAction(\"SET_INITIAL_STATE\", { ...input });\nexport const addStateExample = (input) => createAction(\"ADD_STATE_EXAMPLE\", { ...input });\nexport const updateStateExample = (input) => createAction(\"UPDATE_STATE_EXAMPLE\", { ...input });\nexport const deleteStateExample = (input) => createAction(\"DELETE_STATE_EXAMPLE\", { ...input });\nexport const reorderStateExamples = (input) => createAction(\"REORDER_STATE_EXAMPLES\", {\n ...input,\n});\n", "export const documentModelState = {\n id: \"powerhouse/document-model\",\n name: \"DocumentModel\",\n extension: \"phdm\",\n description: \"The Powerhouse Document Model describes the state and operations of a document type.\",\n author: {\n name: \"Powerhouse\",\n website: \"https://www.powerhouse.inc/\",\n },\n specifications: [\n {\n version: 1,\n changeLog: [],\n modules: [\n {\n name: \"header\",\n operations: [\n {\n name: \"SetModelName\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetModelId\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetModelExtension\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetModelDescription\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetAuthorName\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetAuthorWebsite\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n ],\n id: \"\",\n description: \"\",\n },\n {\n name: \"versioning\",\n operations: [\n {\n name: \"AddChangeLogItem\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"UpdateChangeLogItem\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"DeleteChangeLogItem\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"ReorderChangeLogItems\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"ReleaseNewVersion\",\n schema: null,\n id: \"\",\n description: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n ],\n id: \"\",\n description: \"\",\n },\n {\n name: \"module\",\n operations: [\n {\n name: \"AddModule\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetModuleName\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetModuleDescription\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"DeleteModule\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"ReorderModules\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n ],\n id: \"\",\n description: \"\",\n },\n {\n name: \"operation-error\",\n operations: [\n {\n name: \"AddOperationError\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetOperationErrorCode\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetOperationErrorName\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetOperationErrorDescription\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetOperationErrorTemplate\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"DeleteOperationError\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"ReorderOperationErrors\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n ],\n id: \"\",\n description: \"\",\n },\n {\n name: \"operation-example\",\n operations: [\n {\n name: \"AddOperationExample\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"UpdateOperationExample\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"DeleteOperationExample\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"ReorderOperationExamples\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n ],\n id: \"\",\n description: \"\",\n },\n {\n name: \"operation\",\n operations: [\n {\n name: \"AddOperation\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetOperationName\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetOperationSchema\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetOperationDescription\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetOperationTemplate\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetOperationReducer\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"MoveOperation\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"DeleteOperation\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"ReorderModuleOperations\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n ],\n id: \"\",\n description: \"\",\n },\n {\n name: \"state\",\n operations: [\n {\n name: \"SetStateSchema\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"SetInitialState\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"AddStateExample\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"UpdateStateExample\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"DeleteStateExample\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n {\n name: \"ReorderStateExamples\",\n id: \"\",\n description: \"\",\n schema: \"\",\n template: \"\",\n reducer: \"\",\n examples: [],\n errors: [],\n scope: \"global\",\n },\n ],\n id: \"\",\n description: \"\",\n },\n ],\n state: {\n global: {\n schema: \"\",\n initialValue: '{\\n \"id\": \"\",\\n \"name\": \"\",\\n \"extension\": \"\",\\n \"description\": \"\",\\n \"author\": {\\n \"name\": \"\",\\n \"website\": \"\"\\n },\\n \"specifications\": [\\n {\\n \"version\": 1,\\n \"changeLog\": [],\\n \"state\": {\\n \"schema\": \"\",\\n \"initialValue\": \"\",\\n \"examples\": []\\n },\\n \"modules\": []\\n }\\n ]\\n}',\n examples: [],\n },\n local: {\n schema: \"\",\n initialValue: `{}`,\n examples: [],\n },\n },\n },\n ],\n};\n", "export const reducer = {\n setModelNameOperation(state, action) {\n state.name = action.input.name;\n },\n setModelIdOperation(state, action) {\n state.id = action.input.id;\n },\n setModelExtensionOperation(state, action) {\n state.extension = action.input.extension;\n },\n setModelDescriptionOperation(state, action) {\n state.description = action.input.description;\n },\n setAuthorNameOperation(state, action) {\n state.author = state.author || { name: \"\", website: null };\n state.author.name = action.input.authorName;\n },\n setAuthorWebsiteOperation(state, action) {\n state.author = state.author || { name: \"\", website: null };\n state.author.website = action.input.authorWebsite;\n },\n};\n", "const moduleSorter = (order) => {\n const mapping = {};\n order.forEach((key, index) => (mapping[key] = index));\n return (a, b) => (mapping[b.id] || 999999) - (mapping[a.id] || 999999);\n};\nexport const reducer = {\n addModuleOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n latestSpec.modules.push({\n id: action.input.id,\n name: action.input.name,\n description: action.input.description || \"\",\n operations: [],\n });\n },\n setModuleNameOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n if (latestSpec.modules[i].id === action.input.id) {\n latestSpec.modules[i].name = action.input.name || \"\";\n }\n }\n },\n setModuleDescriptionOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n if (latestSpec.modules[i].id === action.input.id) {\n latestSpec.modules[i].description = action.input.description || \"\";\n }\n }\n },\n deleteModuleOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n latestSpec.modules = latestSpec.modules.filter((m) => m.id != action.input.id);\n },\n reorderModulesOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n latestSpec.modules.sort(moduleSorter(action.input.order));\n },\n};\n", "const errorSorter = (order) => {\n const mapping = {};\n order.forEach((key, index) => (mapping[key] = index));\n return (a, b) => (mapping[b.id] || 999999) - (mapping[a.id] || 999999);\n};\nexport const reducer = {\n addOperationErrorOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n if (latestSpec.modules[i].operations[j].id == action.input.operationId) {\n latestSpec.modules[i].operations[j].errors.push({\n id: action.input.id,\n name: action.input.errorName || \"\",\n code: action.input.errorCode || \"\",\n description: action.input.errorDescription || \"\",\n template: action.input.errorTemplate || \"\",\n });\n }\n }\n }\n },\n setOperationErrorCodeOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) {\n if (latestSpec.modules[i].operations[j].errors[k].id == action.input.id) {\n latestSpec.modules[i].operations[j].errors[k].code =\n action.input.errorCode || \"\";\n }\n }\n }\n }\n },\n setOperationErrorNameOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) {\n if (latestSpec.modules[i].operations[j].errors[k].id == action.input.id) {\n latestSpec.modules[i].operations[j].errors[k].name =\n action.input.errorName || \"\";\n }\n }\n }\n }\n },\n setOperationErrorDescriptionOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) {\n if (latestSpec.modules[i].operations[j].errors[k].id == action.input.id) {\n latestSpec.modules[i].operations[j].errors[k].description =\n action.input.errorDescription || \"\";\n }\n }\n }\n }\n },\n setOperationErrorTemplateOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n for (let k = 0; k < latestSpec.modules[i].operations[j].errors.length; k++) {\n if (latestSpec.modules[i].operations[j].errors[k].id == action.input.id) {\n latestSpec.modules[i].operations[j].errors[k].template =\n action.input.errorTemplate || \"\";\n }\n }\n }\n }\n },\n deleteOperationErrorOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n latestSpec.modules[i].operations[j].errors = latestSpec.modules[i].operations[j].errors.filter((e) => e.id != action.input.id);\n }\n }\n },\n reorderOperationErrorsOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n if (latestSpec.modules[i].operations[j].id == action.input.operationId) {\n latestSpec.modules[i].operations[j].errors.sort(errorSorter(action.input.order));\n }\n }\n }\n },\n};\n", "const exampleSorter = (order) => {\n const mapping = {};\n order.forEach((key, index) => (mapping[key] = index));\n return (a, b) => (mapping[b.id] || 999999) - (mapping[a.id] || 999999);\n};\nexport const reducer = {\n addOperationExampleOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n if (latestSpec.modules[i].operations[j].id == action.input.operationId) {\n latestSpec.modules[i].operations[j].examples.push({\n id: action.input.id,\n value: action.input.example,\n });\n }\n }\n }\n },\n updateOperationExampleOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n for (let k = 0; k < latestSpec.modules[i].operations[j].examples.length; k++) {\n if (latestSpec.modules[i].operations[j].examples[k].id ==\n action.input.id) {\n latestSpec.modules[i].operations[j].examples[k].value =\n action.input.example;\n }\n }\n }\n }\n },\n deleteOperationExampleOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n latestSpec.modules[i].operations[j].examples = latestSpec.modules[i].operations[j].examples.filter((e) => e.id != action.input.id);\n }\n }\n },\n reorderOperationExamplesOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n if (latestSpec.modules[i].operations[j].id == action.input.operationId) {\n latestSpec.modules[i].operations[j].examples.sort(exampleSorter(action.input.order));\n }\n }\n }\n },\n};\n", "const operationSorter = (order) => {\n const mapping = {};\n order.forEach((key, index) => (mapping[key] = index));\n return (a, b) => (mapping[b.id] || 999999) - (mapping[a.id] || 999999);\n};\nexport const reducer = {\n addOperationOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n if (latestSpec.modules[i].id == action.input.moduleId) {\n latestSpec.modules[i].operations.push({\n id: action.input.id,\n name: action.input.name,\n description: action.input.description || \"\",\n schema: action.input.schema || \"\",\n template: action.input.template || action.input.description || \"\",\n reducer: action.input.reducer || \"\",\n errors: [],\n examples: [],\n scope: action.input.scope || \"global\",\n });\n }\n }\n },\n setOperationNameOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n if (latestSpec.modules[i].operations[j].id == action.input.id) {\n latestSpec.modules[i].operations[j].name = action.input.name || \"\";\n }\n }\n }\n },\n setOperationScopeOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n if (latestSpec.modules[i].operations[j].id == action.input.id) {\n latestSpec.modules[i].operations[j].scope =\n action.input.scope || \"global\";\n }\n }\n }\n },\n setOperationSchemaOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n if (latestSpec.modules[i].operations[j].id == action.input.id) {\n latestSpec.modules[i].operations[j].schema =\n action.input.schema || \"\";\n }\n }\n }\n },\n setOperationDescriptionOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n if (latestSpec.modules[i].operations[j].id == action.input.id) {\n latestSpec.modules[i].operations[j].description =\n action.input.description || \"\";\n }\n }\n }\n },\n setOperationTemplateOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n if (latestSpec.modules[i].operations[j].id == action.input.id) {\n latestSpec.modules[i].operations[j].template =\n action.input.template || \"\";\n }\n }\n }\n },\n setOperationReducerOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n for (let j = 0; j < latestSpec.modules[i].operations.length; j++) {\n if (latestSpec.modules[i].operations[j].id == action.input.id) {\n latestSpec.modules[i].operations[j].reducer =\n action.input.reducer || \"\";\n }\n }\n }\n },\n moveOperationOperation(state, action) {\n const moveOperations = [];\n const latestSpec = state.specifications[state.specifications.length - 1];\n // Filter and collect\n for (let i = 0; i < latestSpec.modules.length; i++) {\n latestSpec.modules[i].operations = latestSpec.modules[i].operations.filter((operation) => {\n if (operation.id == action.input.operationId) {\n moveOperations.push(operation);\n return false;\n }\n return true;\n });\n }\n // Inject in target modules\n for (let i = 0; i < latestSpec.modules.length; i++) {\n if (latestSpec.modules[i].id == action.input.newModuleId) {\n latestSpec.modules[i].operations.push(...moveOperations);\n }\n }\n },\n deleteOperationOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n latestSpec.modules[i].operations = latestSpec.modules[i].operations.filter((operation) => operation.id != action.input.id);\n }\n },\n reorderModuleOperationsOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n for (let i = 0; i < latestSpec.modules.length; i++) {\n if (latestSpec.modules[i].id == action.input.moduleId) {\n latestSpec.modules[i].operations.sort(operationSorter(action.input.order));\n }\n }\n },\n};\n", "const exampleSorter = (order) => {\n const mapping = {};\n order.forEach((key, index) => (mapping[key] = index));\n return (a, b) => (mapping[b.id] || 999999) - (mapping[a.id] || 999999);\n};\nexport const reducer = {\n setStateSchemaOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n if (Object.keys(latestSpec.state).includes(action.input.scope)) {\n latestSpec.state[action.input.scope].schema =\n action.input.schema;\n }\n else {\n throw new Error(`Invalid scope: ${action.input.scope}`);\n }\n },\n setInitialStateOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n if (Object.keys(latestSpec.state).includes(action.input.scope)) {\n latestSpec.state[action.input.scope].initialValue =\n action.input.initialValue;\n }\n else {\n throw new Error(`Invalid scope: ${action.input.scope}`);\n }\n },\n addStateExampleOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n if (Object.keys(latestSpec.state).includes(action.input.scope)) {\n latestSpec.state[action.input.scope].examples.push({\n id: action.input.id,\n value: action.input.example,\n });\n }\n else {\n throw new Error(`Invalid scope: ${action.input.scope}`);\n }\n },\n updateStateExampleOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n if (!Object.keys(latestSpec.state).includes(action.input.scope)) {\n throw new Error(`Invalid scope: ${action.input.scope}`);\n }\n const examples = latestSpec.state[action.input.scope].examples;\n for (let i = 0; i < examples.length; i++) {\n if (examples[i].id == action.input.id) {\n examples[i].value = action.input.newExample;\n }\n }\n },\n deleteStateExampleOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n if (Object.keys(latestSpec.state).includes(action.input.scope)) {\n latestSpec.state[action.input.scope].examples =\n latestSpec.state[action.input.scope].examples.filter((e) => e.id != action.input.id);\n }\n else {\n throw new Error(`Invalid scope: ${action.input.scope}`);\n }\n },\n reorderStateExamplesOperation(state, action) {\n const latestSpec = state.specifications[state.specifications.length - 1];\n if (Object.keys(latestSpec.state).includes(action.input.scope)) {\n latestSpec.state[action.input.scope].examples.sort(exampleSorter(action.input.order));\n }\n else {\n throw new Error(`Invalid scope: ${action.input.scope}`);\n }\n },\n};\n", "/**\n * This is a scaffold file meant for customization:\n * - modify it by implementing the reducer functions\n * - delete the file and run the code generator again to have it reset\n */\nexport const reducer = {\n addChangeLogItemOperation(state, action) {\n throw new Error('Reducer \"addChangeLogItemOperation\" not yet implemented');\n },\n updateChangeLogItemOperation(state, action) {\n throw new Error('Reducer \"updateChangeLogItemOperation\" not yet implemented');\n },\n deleteChangeLogItemOperation(state, action) {\n throw new Error('Reducer \"deleteChangeLogItemOperation\" not yet implemented');\n },\n reorderChangeLogItemsOperation(state, action) {\n throw new Error('Reducer \"reorderChangeLogItemsOperation\" not yet implemented');\n },\n releaseNewVersionOperation(state, action) {\n throw new Error('Reducer \"releaseNewVersionOperation\" not yet implemented');\n },\n};\n", "import { z } from \"zod\";\nexport const isDefinedNonNullAny = (v) => v !== undefined && v !== null;\nexport const definedNonNullAnySchema = z\n .any()\n .refine((v) => isDefinedNonNullAny(v));\nexport function AddChangeLogItemInputSchema() {\n return z.object({\n __typename: z.literal(\"AddChangeLogItemInput\").optional(),\n content: z.string(),\n id: z.string(),\n insertBefore: z.string().nullable(),\n });\n}\nexport function AddModuleInputSchema() {\n return z.object({\n description: z.string().nullish(),\n id: z.string(),\n name: z.string(),\n });\n}\nexport function AddOperationErrorInputSchema() {\n return z.object({\n errorCode: z.string().nullish(),\n errorDescription: z.string().nullish(),\n errorName: z.string().nullish(),\n errorTemplate: z.string().nullish(),\n id: z.string(),\n operationId: z.string(),\n });\n}\nexport function AddOperationExampleInputSchema() {\n return z.object({\n example: z.string(),\n id: z.string(),\n operationId: z.string(),\n });\n}\nexport function AddOperationInputSchema() {\n return z.object({\n description: z.string().nullish(),\n id: z.string(),\n moduleId: z.string(),\n name: z.string(),\n reducer: z.string().nullish(),\n schema: z.string().nullish(),\n template: z.string().nullish(),\n scope: OperationScopeSchema().nullish(),\n });\n}\nexport function AddStateExampleInputSchema() {\n return z.object({\n scope: z.string(),\n example: z.string(),\n id: z.string(),\n insertBefore: z.string().nullish(),\n });\n}\nexport function AuthorSchema() {\n return z.object({\n __typename: z.literal(\"Author\").optional(),\n name: z.string(),\n website: z.string().nullable(),\n });\n}\nexport function CodeExampleSchema() {\n return z.object({\n __typename: z.literal(\"CodeExample\").optional(),\n id: z.string(),\n value: z.string(),\n });\n}\nexport function DeleteChangeLogItemInputSchema() {\n return z.object({\n __typename: z.literal(\"DeleteChangeLogItemInput\").optional(),\n id: z.string(),\n });\n}\nexport function DeleteModuleInputSchema() {\n return z.object({\n id: z.string(),\n });\n}\nexport function DeleteOperationErrorInputSchema() {\n return z.object({\n id: z.string(),\n });\n}\nexport function DeleteOperationExampleInputSchema() {\n return z.object({\n id: z.string(),\n });\n}\nexport function DeleteOperationInputSchema() {\n return z.object({\n id: z.string(),\n });\n}\nexport function DeleteStateExampleInputSchema() {\n return z.object({\n scope: z.string(),\n id: z.string(),\n });\n}\nexport function OperationScopeSchema() {\n return z.literal(\"global\").or(z.literal(\"local\"));\n}\nexport function DocumentModelInputSchema() {\n return z.union([\n AddChangeLogItemInputSchema(),\n AddModuleInputSchema(),\n AddOperationErrorInputSchema(),\n AddOperationExampleInputSchema(),\n AddOperationInputSchema(),\n AddStateExampleInputSchema(),\n DeleteChangeLogItemInputSchema(),\n DeleteModuleInputSchema(),\n DeleteOperationErrorInputSchema(),\n DeleteOperationExampleInputSchema(),\n DeleteOperationInputSchema(),\n DeleteStateExampleInputSchema(),\n MoveOperationInputSchema(),\n ReorderChangeLogItemsInputSchema(),\n ReorderModuleOperationsInputSchema(),\n ReorderModulesInputSchema(),\n ReorderOperationErrorsInputSchema(),\n ReorderOperationExamplesInputSchema(),\n ReorderStateExamplesInputSchema(),\n SetAuthorNameInputSchema(),\n SetAuthorWebsiteInputSchema(),\n SetInitialStateInputSchema(),\n SetModelDescriptionInputSchema(),\n SetModelExtensionInputSchema(),\n SetModelIdInputSchema(),\n SetModelNameInputSchema(),\n SetModuleDescriptionInputSchema(),\n SetModuleNameInputSchema(),\n SetOperationDescriptionInputSchema(),\n SetOperationErrorCodeInputSchema(),\n SetOperationErrorDescriptionInputSchema(),\n SetOperationErrorNameInputSchema(),\n SetOperationErrorTemplateInputSchema(),\n SetOperationNameInputSchema(),\n SetOperationReducerInputSchema(),\n SetOperationSchemaInputSchema(),\n SetOperationTemplateInputSchema(),\n SetStateSchemaInputSchema(),\n UpdateChangeLogItemInputSchema(),\n UpdateOperationExampleInputSchema(),\n UpdateStateExampleInputSchema(),\n ]);\n}\nexport function DocumentModelStateSchema() {\n return z.object({\n __typename: z.literal(\"DocumentModelState\").optional(),\n author: AuthorSchema(),\n description: z.string(),\n extension: z.string(),\n id: z.string(),\n name: z.string(),\n specifications: z.array(DocumentSpecificationSchema()),\n });\n}\nexport function DocumentSpecificationSchema() {\n return z.object({\n __typename: z.literal(\"DocumentSpecification\").optional(),\n changeLog: z.array(z.string()),\n modules: z.array(ModuleSchema()),\n state: ScopeStateSchema(),\n version: z.number(),\n });\n}\nexport function ModuleSchema() {\n return z.object({\n __typename: z.literal(\"Module\").optional(),\n description: z.string().nullable(),\n id: z.string(),\n name: z.string(),\n operations: z.array(OperationSchema()),\n });\n}\nexport function MoveOperationInputSchema() {\n return z.object({\n newModuleId: z.string(),\n operationId: z.string(),\n });\n}\nexport function OperationSchema() {\n return z.object({\n __typename: z.literal(\"Operation\").optional(),\n description: z.string().nullable(),\n errors: z.array(OperationErrorSchema()),\n examples: z.array(CodeExampleSchema()),\n id: z.string(),\n name: z.string().nullable(),\n reducer: z.string().nullable(),\n schema: z.string().nullable(),\n template: z.string().nullable(),\n scope: OperationScopeSchema(),\n });\n}\nexport function OperationErrorSchema() {\n return z.object({\n __typename: z.literal(\"OperationError\").optional(),\n code: z.string().nullable(),\n description: z.string().nullable(),\n id: z.string(),\n name: z.string().nullable(),\n template: z.string().nullable(),\n });\n}\nexport function ReorderChangeLogItemsInputSchema() {\n return z.object({\n __typename: z.literal(\"ReorderChangeLogItemsInput\").optional(),\n order: z.array(z.string()),\n });\n}\nexport function ReorderModuleOperationsInputSchema() {\n return z.object({\n moduleId: z.string(),\n order: z.array(z.string()),\n });\n}\nexport function ReorderModulesInputSchema() {\n return z.object({\n order: z.array(z.string()),\n });\n}\nexport function ReorderOperationErrorsInputSchema() {\n return z.object({\n operationId: z.string(),\n order: z.array(z.string()),\n });\n}\nexport function ReorderOperationExamplesInputSchema() {\n return z.object({\n operationId: z.string(),\n order: z.array(z.string()),\n });\n}\nexport function ReorderStateExamplesInputSchema() {\n return z.object({\n scope: z.string(),\n order: z.array(z.string()),\n });\n}\nexport function SetAuthorNameInputSchema() {\n return z.object({\n authorName: z.string(),\n });\n}\nexport function SetAuthorWebsiteInputSchema() {\n return z.object({\n authorWebsite: z.string(),\n });\n}\nexport function SetInitialStateInputSchema() {\n return z.object({\n scope: z.string(),\n initialValue: z.string(),\n });\n}\nexport function SetModelDescriptionInputSchema() {\n return z.object({\n description: z.string(),\n });\n}\nexport function SetModelExtensionInputSchema() {\n return z.object({\n extension: z.string(),\n });\n}\nexport function SetModelIdInputSchema() {\n return z.object({\n id: z.string(),\n });\n}\nexport function SetModelNameInputSchema() {\n return z.object({\n name: z.string(),\n });\n}\nexport function SetModuleDescriptionInputSchema() {\n return z.object({\n description: z.string().nullish(),\n id: z.string(),\n });\n}\nexport function SetModuleNameInputSchema() {\n return z.object({\n id: z.string(),\n name: z.string().nullish(),\n });\n}\nexport function SetOperationDescriptionInputSchema() {\n return z.object({\n description: z.string().nullish(),\n id: z.string(),\n });\n}\nexport function SetOperationErrorCodeInputSchema() {\n return z.object({\n errorCode: z.string().nullish(),\n id: z.string(),\n });\n}\nexport function SetOperationErrorDescriptionInputSchema() {\n return z.object({\n errorDescription: z.string().nullish(),\n id: z.string(),\n });\n}\nexport function SetOperationErrorNameInputSchema() {\n return z.object({\n errorName: z.string().nullish(),\n id: z.string(),\n });\n}\nexport function SetOperationErrorTemplateInputSchema() {\n return z.object({\n errorTemplate: z.string().nullish(),\n id: z.string(),\n });\n}\nexport function SetOperationNameInputSchema() {\n return z.object({\n id: z.string(),\n name: z.string().nullish(),\n });\n}\nexport function SetOperationScopeInputSchema() {\n return z.object({\n id: z.string(),\n scope: OperationScopeSchema(),\n });\n}\nexport function SetOperationReducerInputSchema() {\n return z.object({\n id: z.string(),\n reducer: z.string().nullish(),\n });\n}\nexport function SetOperationSchemaInputSchema() {\n return z.object({\n id: z.string(),\n schema: z.string().nullish(),\n });\n}\nexport function SetOperationTemplateInputSchema() {\n return z.object({\n id: z.string(),\n template: z.string().nullish(),\n });\n}\nexport function SetStateSchemaInputSchema() {\n return z.object({\n scope: z.string(),\n schema: z.string(),\n });\n}\nexport function StateSchema() {\n return z.object({\n __typename: z.literal(\"State\").optional(),\n examples: z.array(CodeExampleSchema()),\n initialValue: z.string(),\n schema: z.string(),\n });\n}\nexport function ScopeStateSchema() {\n return z.object({\n global: StateSchema(),\n local: StateSchema(),\n });\n}\nexport function UpdateChangeLogItemInputSchema() {\n return z.object({\n __typename: z.literal(\"UpdateChangeLogItemInput\").optional(),\n id: z.string(),\n newContent: z.string(),\n });\n}\nexport function UpdateOperationExampleInputSchema() {\n return z.object({\n example: z.string(),\n id: z.string(),\n });\n}\nexport function UpdateStateExampleInputSchema() {\n return z.object({\n scope: z.string(),\n id: z.string(),\n newExample: z.string(),\n });\n}\n", "import { createReducer, isDocumentAction } from \"../../document/utils/base.js\";\nimport { reducer as HeaderReducer } from \"../custom/reducers/header.js\";\nimport { reducer as ModuleReducer } from \"../custom/reducers/module.js\";\nimport { reducer as OperationErrorReducer } from \"../custom/reducers/operation-error.js\";\nimport { reducer as OperationExampleReducer } from \"../custom/reducers/operation-example.js\";\nimport { reducer as OperationReducer } from \"../custom/reducers/operation.js\";\nimport { reducer as StateReducer } from \"../custom/reducers/state.js\";\nimport { reducer as VersioningReducer } from \"../custom/reducers/versioning.js\";\nimport { AddChangeLogItemInputSchema, AddModuleInputSchema, AddOperationErrorInputSchema, AddOperationExampleInputSchema, AddOperationInputSchema, AddStateExampleInputSchema, DeleteChangeLogItemInputSchema, DeleteModuleInputSchema, DeleteOperationErrorInputSchema, DeleteOperationExampleInputSchema, DeleteOperationInputSchema, DeleteStateExampleInputSchema, MoveOperationInputSchema, ReorderChangeLogItemsInputSchema, ReorderModuleOperationsInputSchema, ReorderModulesInputSchema, ReorderOperationErrorsInputSchema, ReorderOperationExamplesInputSchema, ReorderStateExamplesInputSchema, SetAuthorNameInputSchema, SetAuthorWebsiteInputSchema, SetInitialStateInputSchema, SetModelDescriptionInputSchema, SetModelExtensionInputSchema, SetModelIdInputSchema, SetModelNameInputSchema, SetModuleDescriptionInputSchema, SetModuleNameInputSchema, SetOperationDescriptionInputSchema, SetOperationErrorCodeInputSchema, SetOperationErrorDescriptionInputSchema, SetOperationErrorNameInputSchema, SetOperationErrorTemplateInputSchema, SetOperationNameInputSchema, SetOperationReducerInputSchema, SetOperationSchemaInputSchema, SetOperationScopeInputSchema, SetOperationTemplateInputSchema, SetStateSchemaInputSchema, UpdateChangeLogItemInputSchema, UpdateOperationExampleInputSchema, UpdateStateExampleInputSchema, } from \"./schema/zod.js\";\nexport const stateReducer = (state, action) => {\n if (isDocumentAction(action)) {\n return state;\n }\n switch (action.type) {\n case \"SET_MODEL_NAME\":\n SetModelNameInputSchema().parse(action.input);\n HeaderReducer.setModelNameOperation(state.global, action);\n break;\n case \"SET_MODEL_ID\":\n SetModelIdInputSchema().parse(action.input);\n HeaderReducer.setModelIdOperation(state.global, action);\n break;\n case \"SET_MODEL_EXTENSION\":\n SetModelExtensionInputSchema().parse(action.input);\n HeaderReducer.setModelExtensionOperation(state.global, action);\n break;\n case \"SET_MODEL_DESCRIPTION\":\n SetModelDescriptionInputSchema().parse(action.input);\n HeaderReducer.setModelDescriptionOperation(state.global, action);\n break;\n case \"SET_AUTHOR_NAME\":\n SetAuthorNameInputSchema().parse(action.input);\n HeaderReducer.setAuthorNameOperation(state.global, action);\n break;\n case \"SET_AUTHOR_WEBSITE\":\n SetAuthorWebsiteInputSchema().parse(action.input);\n HeaderReducer.setAuthorWebsiteOperation(state.global, action);\n break;\n case \"ADD_CHANGE_LOG_ITEM\":\n AddChangeLogItemInputSchema().parse(action.input);\n VersioningReducer.addChangeLogItemOperation(state.global, action);\n break;\n case \"UPDATE_CHANGE_LOG_ITEM\":\n UpdateChangeLogItemInputSchema().parse(action.input);\n VersioningReducer.updateChangeLogItemOperation(state.global, action);\n break;\n case \"DELETE_CHANGE_LOG_ITEM\":\n DeleteChangeLogItemInputSchema().parse(action.input);\n VersioningReducer.deleteChangeLogItemOperation(state.global, action);\n break;\n case \"REORDER_CHANGE_LOG_ITEMS\":\n ReorderChangeLogItemsInputSchema().parse(action.input);\n VersioningReducer.reorderChangeLogItemsOperation(state.global, action);\n break;\n case \"RELEASE_NEW_VERSION\":\n if (Object.keys(action.input).length > 0)\n throw new Error(\"Expected empty input for action RELEASE_NEW_VERSION\");\n VersioningReducer.releaseNewVersionOperation(state.global, action);\n break;\n case \"ADD_MODULE\":\n AddModuleInputSchema().parse(action.input);\n ModuleReducer.addModuleOperation(state.global, action);\n break;\n case \"SET_MODULE_NAME\":\n SetModuleNameInputSchema().parse(action.input);\n ModuleReducer.setModuleNameOperation(state.global, action);\n break;\n case \"SET_MODULE_DESCRIPTION\":\n SetModuleDescriptionInputSchema().parse(action.input);\n ModuleReducer.setModuleDescriptionOperation(state.global, action);\n break;\n case \"DELETE_MODULE\":\n DeleteModuleInputSchema().parse(action.input);\n ModuleReducer.deleteModuleOperation(state.global, action);\n break;\n case \"REORDER_MODULES\":\n ReorderModulesInputSchema().parse(action.input);\n ModuleReducer.reorderModulesOperation(state.global, action);\n break;\n case \"ADD_OPERATION_ERROR\":\n AddOperationErrorInputSchema().parse(action.input);\n OperationErrorReducer.addOperationErrorOperation(state.global, action);\n break;\n case \"SET_OPERATION_ERROR_CODE\":\n SetOperationErrorCodeInputSchema().parse(action.input);\n OperationErrorReducer.setOperationErrorCodeOperation(state.global, action);\n break;\n case \"SET_OPERATION_ERROR_NAME\":\n SetOperationErrorNameInputSchema().parse(action.input);\n OperationErrorReducer.setOperationErrorNameOperation(state.global, action);\n break;\n case \"SET_OPERATION_ERROR_DESCRIPTION\":\n SetOperationErrorDescriptionInputSchema().parse(action.input);\n OperationErrorReducer.setOperationErrorDescriptionOperation(state.global, action);\n break;\n case \"SET_OPERATION_ERROR_TEMPLATE\":\n SetOperationErrorTemplateInputSchema().parse(action.input);\n OperationErrorReducer.setOperationErrorTemplateOperation(state.global, action);\n break;\n case \"DELETE_OPERATION_ERROR\":\n DeleteOperationErrorInputSchema().parse(action.input);\n OperationErrorReducer.deleteOperationErrorOperation(state.global, action);\n break;\n case \"REORDER_OPERATION_ERRORS\":\n ReorderOperationErrorsInputSchema().parse(action.input);\n OperationErrorReducer.reorderOperationErrorsOperation(state.global, action);\n break;\n case \"ADD_OPERATION_EXAMPLE\":\n AddOperationExampleInputSchema().parse(action.input);\n OperationExampleReducer.addOperationExampleOperation(state.global, action);\n break;\n case \"UPDATE_OPERATION_EXAMPLE\":\n UpdateOperationExampleInputSchema().parse(action.input);\n OperationExampleReducer.updateOperationExampleOperation(state.global, action);\n break;\n case \"DELETE_OPERATION_EXAMPLE\":\n DeleteOperationExampleInputSchema().parse(action.input);\n OperationExampleReducer.deleteOperationExampleOperation(state.global, action);\n break;\n case \"REORDER_OPERATION_EXAMPLES\":\n ReorderOperationExamplesInputSchema().parse(action.input);\n OperationExampleReducer.reorderOperationExamplesOperation(state.global, action);\n break;\n case \"ADD_OPERATION\":\n AddOperationInputSchema().parse(action.input);\n OperationReducer.addOperationOperation(state.global, action);\n break;\n case \"SET_OPERATION_NAME\":\n SetOperationNameInputSchema().parse(action.input);\n OperationReducer.setOperationNameOperation(state.global, action);\n break;\n case \"SET_OPERATION_SCOPE\":\n SetOperationScopeInputSchema().parse(action.input);\n OperationReducer.setOperationScopeOperation(state.global, action);\n break;\n case \"SET_OPERATION_SCHEMA\":\n SetOperationSchemaInputSchema().parse(action.input);\n OperationReducer.setOperationSchemaOperation(state.global, action);\n break;\n case \"SET_OPERATION_DESCRIPTION\":\n SetOperationDescriptionInputSchema().parse(action.input);\n OperationReducer.setOperationDescriptionOperation(state.global, action);\n break;\n case \"SET_OPERATION_TEMPLATE\":\n SetOperationTemplateInputSchema().parse(action.input);\n OperationReducer.setOperationTemplateOperation(state.global, action);\n break;\n case \"SET_OPERATION_REDUCER\":\n SetOperationReducerInputSchema().parse(action.input);\n OperationReducer.setOperationReducerOperation(state.global, action);\n break;\n case \"MOVE_OPERATION\":\n MoveOperationInputSchema().parse(action.input);\n OperationReducer.moveOperationOperation(state.global, action);\n break;\n case \"DELETE_OPERATION\":\n DeleteOperationInputSchema().parse(action.input);\n OperationReducer.deleteOperationOperation(state.global, action);\n break;\n case \"REORDER_MODULE_OPERATIONS\":\n ReorderModuleOperationsInputSchema().parse(action.input);\n OperationReducer.reorderModuleOperationsOperation(state.global, action);\n break;\n case \"SET_STATE_SCHEMA\":\n SetStateSchemaInputSchema().parse(action.input);\n StateReducer.setStateSchemaOperation(state.global, action);\n break;\n case \"SET_INITIAL_STATE\":\n SetInitialStateInputSchema().parse(action.input);\n StateReducer.setInitialStateOperation(state.global, action);\n break;\n case \"ADD_STATE_EXAMPLE\":\n AddStateExampleInputSchema().parse(action.input);\n StateReducer.addStateExampleOperation(state.global, action);\n break;\n case \"UPDATE_STATE_EXAMPLE\":\n UpdateStateExampleInputSchema().parse(action.input);\n StateReducer.updateStateExampleOperation(state.global, action);\n break;\n case \"DELETE_STATE_EXAMPLE\":\n DeleteStateExampleInputSchema().parse(action.input);\n StateReducer.deleteStateExampleOperation(state.global, action);\n break;\n case \"REORDER_STATE_EXAMPLES\":\n ReorderStateExamplesInputSchema().parse(action.input);\n StateReducer.reorderStateExamplesOperation(state.global, action);\n break;\n default:\n return state;\n }\n};\nexport const reducer = createReducer(stateReducer);\n", "import { baseCreateDocument, baseCreateExtendedState, } from \"#document/utils/base.js\";\nimport { baseLoadFromFile, baseLoadFromInput, baseSaveToFile, baseSaveToFileHandle, } from \"#document/utils/file.js\";\nimport { documentModelState, documentType, fileExtension, initialLocalState, } from \"./constants.js\";\nimport { reducer } from \"./reducer.js\";\nexport const createState = (state) => {\n return {\n global: { ...documentModelState, ...state?.global },\n local: { ...initialLocalState, ...state?.local },\n };\n};\nexport const createExtendedState = (extendedState) => {\n return baseCreateExtendedState({ ...extendedState, documentType }, createState);\n};\nexport const createDocument = (state) => {\n return baseCreateDocument(createExtendedState(state), createState);\n};\nexport const saveToFile = (document, path, name) => {\n return baseSaveToFile(document, path, fileExtension, name);\n};\nexport const saveToFileHandle = (document, input) => {\n return baseSaveToFileHandle(document, input);\n};\nexport const loadFromFile = (path) => {\n return baseLoadFromFile(path, reducer);\n};\nexport const loadFromInput = (input) => {\n return baseLoadFromInput(input, reducer);\n};\n", "import { fetchFile, getFile, hash, readFile, writeFile } from \"#utils/env\";\nimport JSZip from \"jszip\";\nimport mime from \"mime/lite\";\nimport { replayDocument } from \"./base.js\";\nimport { filterDocumentOperationsResultingState, garbageCollectDocumentOperations, } from \"./document-helpers.js\";\nimport { validateOperations } from \"./validation.js\";\nexport function createZip(document) {\n // create zip file\n const zip = new JSZip();\n const { name, revision, documentType, created, lastModified } = document;\n const header = {\n name,\n revision,\n documentType,\n created,\n lastModified,\n };\n zip.file(\"header.json\", JSON.stringify(header, null, 2));\n zip.file(\"state.json\", JSON.stringify(document.initialState || {}, null, 2));\n zip.file(\"current-state.json\", JSON.stringify(document.state || {}, null, 2));\n zip.file(\"operations.json\", JSON.stringify(filterDocumentOperationsResultingState(document.operations), null, 2));\n if (document.attachments) {\n const attachments = Object.keys(document.attachments);\n attachments.forEach((key) => {\n const { data, ...attributes } = document.attachments?.[key] ?? {};\n if (data) {\n zip.file(key, data, {\n base64: true,\n createFolders: true,\n comment: JSON.stringify(attributes),\n });\n }\n });\n }\n return zip;\n}\n/**\n * Saves a document to a ZIP file.\n *\n * @remarks\n * This function creates a ZIP file containing the document's state, operations,\n * and file attachments. The file is saved to the specified path.\n *\n * @param document - The document to save to the file.\n * @param path - The path to save the file to.\n * @param extension - The extension to use for the file.\n * @returns A promise that resolves to the path of the saved file.\n */\nexport async function baseSaveToFile(document, path, extension, name) {\n // create zip file\n const zip = createZip(document);\n const file = await zip.generateAsync({\n type: \"uint8array\",\n streamFiles: true,\n });\n const fileName = name ?? document.name;\n const fileExtension = `.${extension}.zip`;\n return writeFile(path, fileName.endsWith(fileExtension) ? fileName : `${fileName}${fileExtension}`, file);\n}\nexport async function baseSaveToFileHandle(document, input) {\n const zip = createZip(document);\n const blob = await zip.generateAsync({ type: \"blob\" });\n const writable = await input.createWritable();\n await writable.write(blob);\n await writable.close();\n}\n/**\n * Loads a document from a ZIP file.\n *\n * @remarks\n * This function reads a ZIP file and returns the document state after\n * applying all the operations. The reducer is used to apply the operations.\n *\n * @typeParam S - The type of the state object.\n * @typeParam A - The type of the actions that can be applied to the state object.\n *\n * @param path - The path to the ZIP file.\n * @param reducer - The reducer to apply the operations to the state object.\n * @returns A promise that resolves to the document state after applying all the operations.\n * @throws An error if the initial state or the operations history is not found in the ZIP file.\n */\nexport async function baseLoadFromFile(path, reducer, options) {\n const file = readFile(path);\n return baseLoadFromInput(file, reducer, options);\n}\nexport async function baseLoadFromInput(input, reducer, options) {\n const zip = new JSZip();\n await zip.loadAsync(input);\n return loadFromZip(zip, reducer, options);\n}\nasync function loadFromZip(zip, reducer, options) {\n const initialStateZip = zip.file(\"state.json\");\n if (!initialStateZip) {\n throw new Error(\"Initial state not found\");\n }\n const initialStateStr = await initialStateZip.async(\"string\");\n const initialState = JSON.parse(initialStateStr);\n const headerZip = zip.file(\"header.json\");\n let header = undefined;\n if (headerZip) {\n header = JSON.parse(await headerZip.async(\"string\"));\n }\n const operationsZip = zip.file(\"operations.json\");\n if (!operationsZip) {\n throw new Error(\"Operations history not found\");\n }\n const operations = JSON.parse(await operationsZip.async(\"string\"));\n const clearedOperations = garbageCollectDocumentOperations(operations);\n const operationsError = validateOperations(clearedOperations);\n if (operationsError.length) {\n const errorMessages = operationsError.map((err) => err.message);\n throw new Error(errorMessages.join(\"\\n\"));\n }\n let result = replayDocument(initialState, clearedOperations, reducer, undefined, header, {}, options);\n if (header) {\n result = {\n ...result,\n ...header,\n };\n }\n return result;\n}\nfunction getFileAttributes(file) {\n const extension = file.replace(/^.*\\./, \"\") || undefined;\n const fileName = file.replace(/^.*[/\\\\]/, \"\") || undefined;\n return { extension, fileName };\n}\n/**\n * Fetches an attachment from a URL and returns its base64-encoded data and MIME type.\n * @param url - The URL of the attachment to fetch.\n * @returns A Promise that resolves to an object containing the base64-encoded data and MIME type of the attachment.\n */\nexport async function getRemoteFile(url) {\n const { buffer, mimeType = \"application/octet-stream\" } = await fetchFile(url);\n const attributes = getFileAttributes(url);\n const data = buffer.toString(\"base64\");\n return {\n data,\n hash: hash(data),\n mimeType,\n ...attributes,\n };\n}\n/**\n * Reads an attachment from a file and returns its base64-encoded data and MIME type.\n * @param path - The path of the attachment file to read.\n * @returns A Promise that resolves to an object containing the base64-encoded data and MIME type of the attachment.\n */\nexport async function getLocalFile(path) {\n const buffer = await getFile(path);\n const mimeType = mime.getType(path) || \"application/octet-stream\";\n const attributes = getFileAttributes(path);\n const data = buffer.toString(\"base64\");\n return { data, hash: hash(data), mimeType, ...attributes };\n}\n", "const types = {\n 'application/andrew-inset': ['ez'],\n 'application/appinstaller': ['appinstaller'],\n 'application/applixware': ['aw'],\n 'application/appx': ['appx'],\n 'application/appxbundle': ['appxbundle'],\n 'application/atom+xml': ['atom'],\n 'application/atomcat+xml': ['atomcat'],\n 'application/atomdeleted+xml': ['atomdeleted'],\n 'application/atomsvc+xml': ['atomsvc'],\n 'application/atsc-dwd+xml': ['dwd'],\n 'application/atsc-held+xml': ['held'],\n 'application/atsc-rsat+xml': ['rsat'],\n 'application/automationml-aml+xml': ['aml'],\n 'application/automationml-amlx+zip': ['amlx'],\n 'application/bdoc': ['bdoc'],\n 'application/calendar+xml': ['xcs'],\n 'application/ccxml+xml': ['ccxml'],\n 'application/cdfx+xml': ['cdfx'],\n 'application/cdmi-capability': ['cdmia'],\n 'application/cdmi-container': ['cdmic'],\n 'application/cdmi-domain': ['cdmid'],\n 'application/cdmi-object': ['cdmio'],\n 'application/cdmi-queue': ['cdmiq'],\n 'application/cpl+xml': ['cpl'],\n 'application/cu-seeme': ['cu'],\n 'application/cwl': ['cwl'],\n 'application/dash+xml': ['mpd'],\n 'application/dash-patch+xml': ['mpp'],\n 'application/davmount+xml': ['davmount'],\n 'application/docbook+xml': ['dbk'],\n 'application/dssc+der': ['dssc'],\n 'application/dssc+xml': ['xdssc'],\n 'application/ecmascript': ['ecma'],\n 'application/emma+xml': ['emma'],\n 'application/emotionml+xml': ['emotionml'],\n 'application/epub+zip': ['epub'],\n 'application/exi': ['exi'],\n 'application/express': ['exp'],\n 'application/fdf': ['fdf'],\n 'application/fdt+xml': ['fdt'],\n 'application/font-tdpfr': ['pfr'],\n 'application/geo+json': ['geojson'],\n 'application/gml+xml': ['gml'],\n 'application/gpx+xml': ['gpx'],\n 'application/gxf': ['gxf'],\n 'application/gzip': ['gz'],\n 'application/hjson': ['hjson'],\n 'application/hyperstudio': ['stk'],\n 'application/inkml+xml': ['ink', 'inkml'],\n 'application/ipfix': ['ipfix'],\n 'application/its+xml': ['its'],\n 'application/java-archive': ['jar', 'war', 'ear'],\n 'application/java-serialized-object': ['ser'],\n 'application/java-vm': ['class'],\n 'application/javascript': ['*js'],\n 'application/json': ['json', 'map'],\n 'application/json5': ['json5'],\n 'application/jsonml+json': ['jsonml'],\n 'application/ld+json': ['jsonld'],\n 'application/lgr+xml': ['lgr'],\n 'application/lost+xml': ['lostxml'],\n 'application/mac-binhex40': ['hqx'],\n 'application/mac-compactpro': ['cpt'],\n 'application/mads+xml': ['mads'],\n 'application/manifest+json': ['webmanifest'],\n 'application/marc': ['mrc'],\n 'application/marcxml+xml': ['mrcx'],\n 'application/mathematica': ['ma', 'nb', 'mb'],\n 'application/mathml+xml': ['mathml'],\n 'application/mbox': ['mbox'],\n 'application/media-policy-dataset+xml': ['mpf'],\n 'application/mediaservercontrol+xml': ['mscml'],\n 'application/metalink+xml': ['metalink'],\n 'application/metalink4+xml': ['meta4'],\n 'application/mets+xml': ['mets'],\n 'application/mmt-aei+xml': ['maei'],\n 'application/mmt-usd+xml': ['musd'],\n 'application/mods+xml': ['mods'],\n 'application/mp21': ['m21', 'mp21'],\n 'application/mp4': ['*mp4', '*mpg4', 'mp4s', 'm4p'],\n 'application/msix': ['msix'],\n 'application/msixbundle': ['msixbundle'],\n 'application/msword': ['doc', 'dot'],\n 'application/mxf': ['mxf'],\n 'application/n-quads': ['nq'],\n 'application/n-triples': ['nt'],\n 'application/node': ['cjs'],\n 'application/octet-stream': [\n 'bin',\n 'dms',\n 'lrf',\n 'mar',\n 'so',\n 'dist',\n 'distz',\n 'pkg',\n 'bpk',\n 'dump',\n 'elc',\n 'deploy',\n 'exe',\n 'dll',\n 'deb',\n 'dmg',\n 'iso',\n 'img',\n 'msi',\n 'msp',\n 'msm',\n 'buffer',\n ],\n 'application/oda': ['oda'],\n 'application/oebps-package+xml': ['opf'],\n 'application/ogg': ['ogx'],\n 'application/omdoc+xml': ['omdoc'],\n 'application/onenote': ['onetoc', 'onetoc2', 'onetmp', 'onepkg'],\n 'application/oxps': ['oxps'],\n 'application/p2p-overlay+xml': ['relo'],\n 'application/patch-ops-error+xml': ['xer'],\n 'application/pdf': ['pdf'],\n 'application/pgp-encrypted': ['pgp'],\n 'application/pgp-keys': ['asc'],\n 'application/pgp-signature': ['sig', '*asc'],\n 'application/pics-rules': ['prf'],\n 'application/pkcs10': ['p10'],\n 'application/pkcs7-mime': ['p7m', 'p7c'],\n 'application/pkcs7-signature': ['p7s'],\n 'application/pkcs8': ['p8'],\n 'application/pkix-attr-cert': ['ac'],\n 'application/pkix-cert': ['cer'],\n 'application/pkix-crl': ['crl'],\n 'application/pkix-pkipath': ['pkipath'],\n 'application/pkixcmp': ['pki'],\n 'application/pls+xml': ['pls'],\n 'application/postscript': ['ai', 'eps', 'ps'],\n 'application/provenance+xml': ['provx'],\n 'application/pskc+xml': ['pskcxml'],\n 'application/raml+yaml': ['raml'],\n 'application/rdf+xml': ['rdf', 'owl'],\n 'application/reginfo+xml': ['rif'],\n 'application/relax-ng-compact-syntax': ['rnc'],\n 'application/resource-lists+xml': ['rl'],\n 'application/resource-lists-diff+xml': ['rld'],\n 'application/rls-services+xml': ['rs'],\n 'application/route-apd+xml': ['rapd'],\n 'application/route-s-tsid+xml': ['sls'],\n 'application/route-usd+xml': ['rusd'],\n 'application/rpki-ghostbusters': ['gbr'],\n 'application/rpki-manifest': ['mft'],\n 'application/rpki-roa': ['roa'],\n 'application/rsd+xml': ['rsd'],\n 'application/rss+xml': ['rss'],\n 'application/rtf': ['rtf'],\n 'application/sbml+xml': ['sbml'],\n 'application/scvp-cv-request': ['scq'],\n 'application/scvp-cv-response': ['scs'],\n 'application/scvp-vp-request': ['spq'],\n 'application/scvp-vp-response': ['spp'],\n 'application/sdp': ['sdp'],\n 'application/senml+xml': ['senmlx'],\n 'application/sensml+xml': ['sensmlx'],\n 'application/set-payment-initiation': ['setpay'],\n 'application/set-registration-initiation': ['setreg'],\n 'application/shf+xml': ['shf'],\n 'application/sieve': ['siv', 'sieve'],\n 'application/smil+xml': ['smi', 'smil'],\n 'application/sparql-query': ['rq'],\n 'application/sparql-results+xml': ['srx'],\n 'application/sql': ['sql'],\n 'application/srgs': ['gram'],\n 'application/srgs+xml': ['grxml'],\n 'application/sru+xml': ['sru'],\n 'application/ssdl+xml': ['ssdl'],\n 'application/ssml+xml': ['ssml'],\n 'application/swid+xml': ['swidtag'],\n 'application/tei+xml': ['tei', 'teicorpus'],\n 'application/thraud+xml': ['tfi'],\n 'application/timestamped-data': ['tsd'],\n 'application/toml': ['toml'],\n 'application/trig': ['trig'],\n 'application/ttml+xml': ['ttml'],\n 'application/ubjson': ['ubj'],\n 'application/urc-ressheet+xml': ['rsheet'],\n 'application/urc-targetdesc+xml': ['td'],\n 'application/voicexml+xml': ['vxml'],\n 'application/wasm': ['wasm'],\n 'application/watcherinfo+xml': ['wif'],\n 'application/widget': ['wgt'],\n 'application/winhlp': ['hlp'],\n 'application/wsdl+xml': ['wsdl'],\n 'application/wspolicy+xml': ['wspolicy'],\n 'application/xaml+xml': ['xaml'],\n 'application/xcap-att+xml': ['xav'],\n 'application/xcap-caps+xml': ['xca'],\n 'application/xcap-diff+xml': ['xdf'],\n 'application/xcap-el+xml': ['xel'],\n 'application/xcap-ns+xml': ['xns'],\n 'application/xenc+xml': ['xenc'],\n 'application/xfdf': ['xfdf'],\n 'application/xhtml+xml': ['xhtml', 'xht'],\n 'application/xliff+xml': ['xlf'],\n 'application/xml': ['xml', 'xsl', 'xsd', 'rng'],\n 'application/xml-dtd': ['dtd'],\n 'application/xop+xml': ['xop'],\n 'application/xproc+xml': ['xpl'],\n 'application/xslt+xml': ['*xsl', 'xslt'],\n 'application/xspf+xml': ['xspf'],\n 'application/xv+xml': ['mxml', 'xhvml', 'xvml', 'xvm'],\n 'application/yang': ['yang'],\n 'application/yin+xml': ['yin'],\n 'application/zip': ['zip'],\n 'audio/3gpp': ['*3gpp'],\n 'audio/aac': ['adts', 'aac'],\n 'audio/adpcm': ['adp'],\n 'audio/amr': ['amr'],\n 'audio/basic': ['au', 'snd'],\n 'audio/midi': ['mid', 'midi', 'kar', 'rmi'],\n 'audio/mobile-xmf': ['mxmf'],\n 'audio/mp3': ['*mp3'],\n 'audio/mp4': ['m4a', 'mp4a'],\n 'audio/mpeg': ['mpga', 'mp2', 'mp2a', 'mp3', 'm2a', 'm3a'],\n 'audio/ogg': ['oga', 'ogg', 'spx', 'opus'],\n 'audio/s3m': ['s3m'],\n 'audio/silk': ['sil'],\n 'audio/wav': ['wav'],\n 'audio/wave': ['*wav'],\n 'audio/webm': ['weba'],\n 'audio/xm': ['xm'],\n 'font/collection': ['ttc'],\n 'font/otf': ['otf'],\n 'font/ttf': ['ttf'],\n 'font/woff': ['woff'],\n 'font/woff2': ['woff2'],\n 'image/aces': ['exr'],\n 'image/apng': ['apng'],\n 'image/avci': ['avci'],\n 'image/avcs': ['avcs'],\n 'image/avif': ['avif'],\n 'image/bmp': ['bmp', 'dib'],\n 'image/cgm': ['cgm'],\n 'image/dicom-rle': ['drle'],\n 'image/dpx': ['dpx'],\n 'image/emf': ['emf'],\n 'image/fits': ['fits'],\n 'image/g3fax': ['g3'],\n 'image/gif': ['gif'],\n 'image/heic': ['heic'],\n 'image/heic-sequence': ['heics'],\n 'image/heif': ['heif'],\n 'image/heif-sequence': ['heifs'],\n 'image/hej2k': ['hej2'],\n 'image/hsj2': ['hsj2'],\n 'image/ief': ['ief'],\n 'image/jls': ['jls'],\n 'image/jp2': ['jp2', 'jpg2'],\n 'image/jpeg': ['jpeg', 'jpg', 'jpe'],\n 'image/jph': ['jph'],\n 'image/jphc': ['jhc'],\n 'image/jpm': ['jpm', 'jpgm'],\n 'image/jpx': ['jpx', 'jpf'],\n 'image/jxl': ['jxl'],\n 'image/jxr': ['jxr'],\n 'image/jxra': ['jxra'],\n 'image/jxrs': ['jxrs'],\n 'image/jxs': ['jxs'],\n 'image/jxsc': ['jxsc'],\n 'image/jxsi': ['jxsi'],\n 'image/jxss': ['jxss'],\n 'image/ktx': ['ktx'],\n 'image/ktx2': ['ktx2'],\n 'image/png': ['png'],\n 'image/sgi': ['sgi'],\n 'image/svg+xml': ['svg', 'svgz'],\n 'image/t38': ['t38'],\n 'image/tiff': ['tif', 'tiff'],\n 'image/tiff-fx': ['tfx'],\n 'image/webp': ['webp'],\n 'image/wmf': ['wmf'],\n 'message/disposition-notification': ['disposition-notification'],\n 'message/global': ['u8msg'],\n 'message/global-delivery-status': ['u8dsn'],\n 'message/global-disposition-notification': ['u8mdn'],\n 'message/global-headers': ['u8hdr'],\n 'message/rfc822': ['eml', 'mime'],\n 'model/3mf': ['3mf'],\n 'model/gltf+json': ['gltf'],\n 'model/gltf-binary': ['glb'],\n 'model/iges': ['igs', 'iges'],\n 'model/jt': ['jt'],\n 'model/mesh': ['msh', 'mesh', 'silo'],\n 'model/mtl': ['mtl'],\n 'model/obj': ['obj'],\n 'model/prc': ['prc'],\n 'model/step+xml': ['stpx'],\n 'model/step+zip': ['stpz'],\n 'model/step-xml+zip': ['stpxz'],\n 'model/stl': ['stl'],\n 'model/u3d': ['u3d'],\n 'model/vrml': ['wrl', 'vrml'],\n 'model/x3d+binary': ['*x3db', 'x3dbz'],\n 'model/x3d+fastinfoset': ['x3db'],\n 'model/x3d+vrml': ['*x3dv', 'x3dvz'],\n 'model/x3d+xml': ['x3d', 'x3dz'],\n 'model/x3d-vrml': ['x3dv'],\n 'text/cache-manifest': ['appcache', 'manifest'],\n 'text/calendar': ['ics', 'ifb'],\n 'text/coffeescript': ['coffee', 'litcoffee'],\n 'text/css': ['css'],\n 'text/csv': ['csv'],\n 'text/html': ['html', 'htm', 'shtml'],\n 'text/jade': ['jade'],\n 'text/javascript': ['js', 'mjs'],\n 'text/jsx': ['jsx'],\n 'text/less': ['less'],\n 'text/markdown': ['md', 'markdown'],\n 'text/mathml': ['mml'],\n 'text/mdx': ['mdx'],\n 'text/n3': ['n3'],\n 'text/plain': ['txt', 'text', 'conf', 'def', 'list', 'log', 'in', 'ini'],\n 'text/richtext': ['rtx'],\n 'text/rtf': ['*rtf'],\n 'text/sgml': ['sgml', 'sgm'],\n 'text/shex': ['shex'],\n 'text/slim': ['slim', 'slm'],\n 'text/spdx': ['spdx'],\n 'text/stylus': ['stylus', 'styl'],\n 'text/tab-separated-values': ['tsv'],\n 'text/troff': ['t', 'tr', 'roff', 'man', 'me', 'ms'],\n 'text/turtle': ['ttl'],\n 'text/uri-list': ['uri', 'uris', 'urls'],\n 'text/vcard': ['vcard'],\n 'text/vtt': ['vtt'],\n 'text/wgsl': ['wgsl'],\n 'text/xml': ['*xml'],\n 'text/yaml': ['yaml', 'yml'],\n 'video/3gpp': ['3gp', '3gpp'],\n 'video/3gpp2': ['3g2'],\n 'video/h261': ['h261'],\n 'video/h263': ['h263'],\n 'video/h264': ['h264'],\n 'video/iso.segment': ['m4s'],\n 'video/jpeg': ['jpgv'],\n 'video/jpm': ['*jpm', '*jpgm'],\n 'video/mj2': ['mj2', 'mjp2'],\n 'video/mp2t': ['ts', 'm2t', 'm2ts', 'mts'],\n 'video/mp4': ['mp4', 'mp4v', 'mpg4'],\n 'video/mpeg': ['mpeg', 'mpg', 'mpe', 'm1v', 'm2v'],\n 'video/ogg': ['ogv'],\n 'video/quicktime': ['qt', 'mov'],\n 'video/webm': ['webm'],\n};\nObject.freeze(types);\nexport default types;\n", "var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Mime_extensionToType, _Mime_typeToExtension, _Mime_typeToExtensions;\nclass Mime {\n constructor(...args) {\n _Mime_extensionToType.set(this, new Map());\n _Mime_typeToExtension.set(this, new Map());\n _Mime_typeToExtensions.set(this, new Map());\n for (const arg of args) {\n this.define(arg);\n }\n }\n define(typeMap, force = false) {\n for (let [type, extensions] of Object.entries(typeMap)) {\n type = type.toLowerCase();\n extensions = extensions.map((ext) => ext.toLowerCase());\n if (!__classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").has(type)) {\n __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").set(type, new Set());\n }\n const allExtensions = __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").get(type);\n let first = true;\n for (let extension of extensions) {\n const starred = extension.startsWith('*');\n extension = starred ? extension.slice(1) : extension;\n allExtensions?.add(extension);\n if (first) {\n __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\").set(type, extension);\n }\n first = false;\n if (starred)\n continue;\n const currentType = __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").get(extension);\n if (currentType && currentType != type && !force) {\n throw new Error(`\"${type} -> ${extension}\" conflicts with \"${currentType} -> ${extension}\". Pass \\`force=true\\` to override this definition.`);\n }\n __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").set(extension, type);\n }\n }\n return this;\n }\n getType(path) {\n if (typeof path !== 'string')\n return null;\n const last = path.replace(/^.*[/\\\\]/, '').toLowerCase();\n const ext = last.replace(/^.*\\./, '').toLowerCase();\n const hasPath = last.length < path.length;\n const hasDot = ext.length < last.length - 1;\n if (!hasDot && hasPath)\n return null;\n return __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").get(ext) ?? null;\n }\n getExtension(type) {\n if (typeof type !== 'string')\n return null;\n type = type?.split?.(';')[0];\n return ((type && __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\").get(type.trim().toLowerCase())) ?? null);\n }\n getAllExtensions(type) {\n if (typeof type !== 'string')\n return null;\n return __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").get(type.toLowerCase()) ?? null;\n }\n _freeze() {\n this.define = () => {\n throw new Error('define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances');\n };\n Object.freeze(this);\n for (const extensions of __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").values()) {\n Object.freeze(extensions);\n }\n return this;\n }\n _getTestState() {\n return {\n types: __classPrivateFieldGet(this, _Mime_extensionToType, \"f\"),\n extensions: __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\"),\n };\n }\n}\n_Mime_extensionToType = new WeakMap(), _Mime_typeToExtension = new WeakMap(), _Mime_typeToExtensions = new WeakMap();\nexport default Mime;\n", "import standardTypes from '../types/standard.js';\nimport Mime from './Mime.js';\nexport { default as Mime } from './Mime.js';\nexport default new Mime(standardTypes)._freeze();\n", "export function validateOperations(operations) {\n const errors = [];\n const scopes = Object.keys(operations);\n for (const scope of scopes) {\n const ops = operations[scope].sort((a, b) => a.index - b.index);\n let opIndex = -1;\n for (let i = 0; i < ops.length; i++) {\n opIndex = opIndex + 1 + ops[i].skip;\n if (ops[i].index !== opIndex) {\n errors.push({\n message: `Invalid operation index ${ops[i].index} at position ${i}`,\n details: {\n position: i,\n operation: ops[i],\n scope: ops[i].scope,\n },\n });\n }\n }\n }\n return errors;\n}\n", "export const documentModelState = {\n id: \"\",\n name: \"\",\n extension: \"\",\n description: \"\",\n author: {\n name: \"\",\n website: \"\",\n },\n specifications: [\n {\n version: 1,\n changeLog: [],\n state: {\n global: {\n schema: \"\",\n initialValue: \"\",\n examples: [],\n },\n local: {\n schema: \"\",\n initialValue: \"\",\n examples: [],\n },\n },\n modules: [],\n },\n ],\n};\nexport const initialLocalState = {};\nexport const fileExtension = \"phdm\";\nexport const documentType = \"powerhouse/document-model\";\nexport const documentModelName = \"DocumentModel\";\n", "import * as customUtils from \"./custom/utils.js\";\nimport * as actions from \"./gen/actions.js\";\nimport * as creators from \"./gen/creators.js\";\nimport { documentModelState } from \"./gen/document-model.js\";\nimport { reducer } from \"./gen/reducer.js\";\nimport * as documentModelUtils from \"./gen/utils.js\";\nexport const documentModelDocumentModelModule = {\n reducer,\n documentModel: documentModelState,\n actions: { ...creators, ...actions },\n utils: { ...documentModelUtils, ...customUtils },\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["configure", "value", "tmp", "key", "res", "join", "stringify", "e", "t", "r", "c", "n", "i", "s", "z", "a", "o", "h", "u", "l", "f", "d", "p", "W", "K", "m", "hash", "cjsModule", "cjsModule", "reducer", "util", "objectUtil", "errorUtil", "errorMap", "ctx", "result", "issues", "types", "elements", "processed", "ZodFirstPartyTypeKind", "index", "set", "generatePatches", "current", "value", "proxyDraft", "ensureShallowCopy", "create", "base", "draft", "types", "mark", "result", "IntegrityIssueType", "IntegrityIssueSubType", "split", "hash", "stateReducer", "reducer", "createState", "stateReducer", "skipHeaderOperations", "reducer", "document", "reducer", "reducer", "reducer", "reducer", "exampleSorter", "reducer", "reducer", "isDefinedNonNullAny", "definedNonNullAnySchema", "OperationScopeSchema", "OperationScopeSchema", "OperationScopeSchema", "reducer", "utils_exports", "__classPrivateFieldGet", "JSZip", "documentType", "fileExtension", "reducer", "documentModelState", "documentModelState", "reducer", "reducer", "utils_exports"]
7
+ }