@lvce-editor/static-server 0.52.13 → 0.52.15

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 (1842) hide show
  1. package/dist/static-server.js +1857 -1857
  2. package/package.json +1 -1
  3. package/static/{8ebf915 → b15e8c0}/css/App.css +83 -83
  4. package/static/b15e8c0/js/lvce-editor-json-rpc.js +403 -0
  5. package/static/{8ebf915 → b15e8c0}/manifest.json +2 -2
  6. package/static/{8ebf915 → b15e8c0}/packages/about-view-worker/dist/aboutWorkerMain.js +48 -32
  7. package/static/{8ebf915 → b15e8c0}/packages/completion-worker/dist/completionWorkerMain.js +130 -93
  8. package/static/{8ebf915 → b15e8c0}/packages/debug-worker/dist/debugWorkerMain.js +160 -70
  9. package/static/{8ebf915 → b15e8c0}/packages/editor-worker/dist/editorWorkerMain.js +1215 -1298
  10. package/static/{8ebf915 → b15e8c0}/packages/error-worker/dist/errorWorkerMain.js +1536 -1388
  11. package/static/{8ebf915 → b15e8c0}/packages/explorer-worker/dist/explorerViewWorkerMain.js +145 -108
  12. package/static/{8ebf915 → b15e8c0}/packages/extension-host-worker/dist/extensionHostWorkerMain.js +35 -26
  13. package/static/{8ebf915 → b15e8c0}/packages/file-system-worker/dist/fileSystemWorkerMain.js +38 -20
  14. package/static/{8ebf915 → b15e8c0}/packages/find-widget-worker/dist/findWidgetWorkerMain.js +68 -70
  15. package/static/{8ebf915 → b15e8c0}/packages/renderer-process/dist/rendererProcessMain.js +1 -1
  16. package/static/{8ebf915 → b15e8c0}/packages/renderer-worker/dist/rendererWorkerMain.js +272 -297
  17. package/static/{8ebf915 → b15e8c0}/packages/syntax-highlighting-worker/dist/syntaxHighlightingWorkerMain.js +184 -47
  18. package/static/{8ebf915 → b15e8c0}/packages/test-worker/dist/testWorkerMain.js +100 -23
  19. package/static/index.html +4 -4
  20. package/static/8ebf915/js/lvce-editor-json-rpc.js +0 -383
  21. /package/static/{8ebf915 → b15e8c0}/config/colorTheme.json +0 -0
  22. /package/static/{8ebf915 → b15e8c0}/config/defaultSettings.json +0 -0
  23. /package/static/{8ebf915 → b15e8c0}/config/fileMap.json +0 -0
  24. /package/static/{8ebf915 → b15e8c0}/config/webExtensions.json +0 -0
  25. /package/static/{8ebf915 → b15e8c0}/css/parts/AdditionalDetails.css +0 -0
  26. /package/static/{8ebf915 → b15e8c0}/css/parts/Animation.css +0 -0
  27. /package/static/{8ebf915 → b15e8c0}/css/parts/DebugButtons.css +0 -0
  28. /package/static/{8ebf915 → b15e8c0}/css/parts/DebugValue.css +0 -0
  29. /package/static/{8ebf915 → b15e8c0}/css/parts/E2eTest.css +0 -0
  30. /package/static/{8ebf915 → b15e8c0}/css/parts/E2eTests.css +0 -0
  31. /package/static/{8ebf915 → b15e8c0}/css/parts/EditorHover.css +0 -0
  32. /package/static/{8ebf915 → b15e8c0}/css/parts/EditorMessage.css +0 -0
  33. /package/static/{8ebf915 → b15e8c0}/css/parts/FeatureContent.css +0 -0
  34. /package/static/{8ebf915 → b15e8c0}/css/parts/Features.css +0 -0
  35. /package/static/{8ebf915 → b15e8c0}/css/parts/ImagePreview.css +0 -0
  36. /package/static/{8ebf915 → b15e8c0}/css/parts/InlineDiffEditor.css +0 -0
  37. /package/static/{8ebf915 → b15e8c0}/css/parts/InputBadge.css +0 -0
  38. /package/static/{8ebf915 → b15e8c0}/css/parts/Key.css +0 -0
  39. /package/static/{8ebf915 → b15e8c0}/css/parts/KeyBindingsHeader.css +0 -0
  40. /package/static/{8ebf915 → b15e8c0}/css/parts/KeyBindingsTable.css +0 -0
  41. /package/static/{8ebf915 → b15e8c0}/css/parts/LegacyDialog.css +0 -0
  42. /package/static/{8ebf915 → b15e8c0}/css/parts/Markdown.css +0 -0
  43. /package/static/{8ebf915 → b15e8c0}/css/parts/Progress.css +0 -0
  44. /package/static/{8ebf915 → b15e8c0}/css/parts/SearchToggleButton.css +0 -0
  45. /package/static/{8ebf915 → b15e8c0}/css/parts/Select.css +0 -0
  46. /package/static/{8ebf915 → b15e8c0}/css/parts/Table.css +0 -0
  47. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletAbout.css +0 -0
  48. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletBrowserViewOverview.css +0 -0
  49. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletDebugConsole.css +0 -0
  50. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletDefineKeyBinding.css +0 -0
  51. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletDialog.css +0 -0
  52. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletDiffEditor.css +0 -0
  53. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletEditorWidgetError.css +0 -0
  54. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletExtensionDetail.css +0 -0
  55. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletExtensionDetailHeader.css +0 -0
  56. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletExtensionDetailTabs.css +0 -0
  57. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletExtensions.css +0 -0
  58. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletIframeInspector.css +0 -0
  59. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletKeyBindings.css +0 -0
  60. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletMedia.css +0 -0
  61. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletOutput.css +0 -0
  62. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletPanel.css +0 -0
  63. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletPanelTabs.css +0 -0
  64. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletPdf.css +0 -0
  65. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletProblems.css +0 -0
  66. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletReferences.css +0 -0
  67. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletRunAndDebug.css +0 -0
  68. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletScreenCapture.css +0 -0
  69. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletSearch.css +0 -0
  70. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletSimpleBrowser.css +0 -0
  71. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletSourceControl.css +0 -0
  72. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletStorage.css +0 -0
  73. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletTerminal.css +0 -0
  74. /package/static/{8ebf915 → b15e8c0}/css/parts/ViewletTerminalTabs.css +0 -0
  75. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-bat/README.md +0 -0
  76. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-bat/extension.json +0 -0
  77. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-bat/languageConfiguration.json +0 -0
  78. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -0
  79. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-c/README.md +0 -0
  80. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-c/extension.json +0 -0
  81. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -0
  82. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-coffeescript/README.md +0 -0
  83. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-coffeescript/extension.json +0 -0
  84. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -0
  85. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-cpp/README.md +0 -0
  86. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-cpp/extension.json +0 -0
  87. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -0
  88. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -0
  89. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-cson/README.md +0 -0
  90. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-cson/extension.json +0 -0
  91. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -0
  92. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -0
  93. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-css/README.md +0 -0
  94. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-css/extension.json +0 -0
  95. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-css/languageConfiguration.json +0 -0
  96. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -0
  97. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-dart/README.md +0 -0
  98. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-dart/extension.json +0 -0
  99. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -0
  100. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-desktop/README.md +0 -0
  101. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-desktop/extension.json +0 -0
  102. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -0
  103. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-docker/README.md +0 -0
  104. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-docker/extension.json +0 -0
  105. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -0
  106. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-dotenv/README.md +0 -0
  107. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-dotenv/extension.json +0 -0
  108. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -0
  109. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-editorconfig/README.md +0 -0
  110. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-editorconfig/extension.json +0 -0
  111. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -0
  112. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-elixir/README.md +0 -0
  113. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-elixir/extension.json +0 -0
  114. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -0
  115. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-elm/README.md +0 -0
  116. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-elm/extension.json +0 -0
  117. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -0
  118. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-gitattributes/README.md +0 -0
  119. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-gitattributes/extension.json +0 -0
  120. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -0
  121. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-gn/README.md +0 -0
  122. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-gn/extension.json +0 -0
  123. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -0
  124. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-go/README.md +0 -0
  125. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-go/extension.json +0 -0
  126. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -0
  127. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-graphql/README.md +0 -0
  128. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-graphql/extension.json +0 -0
  129. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -0
  130. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-html/README.md +0 -0
  131. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-html/extension.json +0 -0
  132. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-html/languageConfiguration.json +0 -0
  133. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -0
  134. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-java/README.md +0 -0
  135. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-java/extension.json +0 -0
  136. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-java/languageConfiguration.json +0 -0
  137. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -0
  138. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-javascript/README.md +0 -0
  139. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-javascript/extension.json +0 -0
  140. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -0
  141. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -0
  142. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-json/README.md +0 -0
  143. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-json/extension.json +0 -0
  144. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -0
  145. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-json5/README.md +0 -0
  146. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-json5/extension.json +0 -0
  147. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-json5/src/tokenizeJson5.js +0 -0
  148. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-jsx/README.md +0 -0
  149. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-jsx/extension.json +0 -0
  150. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -0
  151. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-julia/README.md +0 -0
  152. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-julia/extension.json +0 -0
  153. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -0
  154. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-kotlin/README.md +0 -0
  155. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-kotlin/extension.json +0 -0
  156. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -0
  157. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-less/LICENSE +0 -0
  158. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-less/README.md +0 -0
  159. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-less/extension.json +0 -0
  160. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-less/languageConfiguration.json +0 -0
  161. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -0
  162. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-markdown/README.md +0 -0
  163. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-markdown/extension.json +0 -0
  164. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -0
  165. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-mdx/README.md +0 -0
  166. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-mdx/extension.json +0 -0
  167. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -0
  168. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-nix/README.md +0 -0
  169. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-nix/extension.json +0 -0
  170. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-nix/languageConfiguration.json +0 -0
  171. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-nix/src/tokenizeNix.js +0 -0
  172. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-nvmrc/README.md +0 -0
  173. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-nvmrc/extension.json +0 -0
  174. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -0
  175. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-perl/README.md +0 -0
  176. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-perl/extension.json +0 -0
  177. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -0
  178. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-plaintext/README.md +0 -0
  179. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-plaintext/extension.json +0 -0
  180. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -0
  181. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-powershell/README.md +0 -0
  182. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-powershell/extension.json +0 -0
  183. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -0
  184. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-python/README.md +0 -0
  185. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-python/extension.json +0 -0
  186. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-python/languageConfiguration.json +0 -0
  187. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -0
  188. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-r/README.md +0 -0
  189. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-r/extension.json +0 -0
  190. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -0
  191. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-ruby/README.md +0 -0
  192. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-ruby/extension.json +0 -0
  193. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -0
  194. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-rust/LICENSE +0 -0
  195. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-rust/README.md +0 -0
  196. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-rust/extension.json +0 -0
  197. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -0
  198. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -0
  199. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-scss/README.md +0 -0
  200. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-scss/extension.json +0 -0
  201. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-scss/languageConfiguration.json +0 -0
  202. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -0
  203. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-shellscript/README.md +0 -0
  204. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-shellscript/extension.json +0 -0
  205. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -0
  206. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-svelte/README.md +0 -0
  207. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-svelte/extension.json +0 -0
  208. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -0
  209. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-terraform/README.md +0 -0
  210. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-terraform/extension.json +0 -0
  211. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-terraform/src/tokenizeTerraform.js +0 -0
  212. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-toml/README.md +0 -0
  213. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-toml/extension.json +0 -0
  214. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -0
  215. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-typescript/README.md +0 -0
  216. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-typescript/extension.json +0 -0
  217. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -0
  218. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-vue/README.md +0 -0
  219. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-vue/extension.json +0 -0
  220. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -0
  221. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-wgsl/README.md +0 -0
  222. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-wgsl/extension.json +0 -0
  223. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -0
  224. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -0
  225. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-xml/README.md +0 -0
  226. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-xml/extension.json +0 -0
  227. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -0
  228. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-yaml/README.md +0 -0
  229. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-yaml/extension.json +0 -0
  230. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -0
  231. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-atom-one-dark/README.md +0 -0
  232. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -0
  233. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-atom-one-dark/extension.json +0 -0
  234. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
  235. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-ayu/README.md +0 -0
  236. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-ayu/color-theme.json +0 -0
  237. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-ayu/extension.json +0 -0
  238. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-cobalt2/README.md +0 -0
  239. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-cobalt2/color-theme.json +0 -0
  240. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-cobalt2/extension.json +0 -0
  241. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
  242. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
  243. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-gruvbox/README.md +0 -0
  244. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-gruvbox/color-theme.json +0 -0
  245. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-gruvbox/extension.json +0 -0
  246. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-high-contrast/README.md +0 -0
  247. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-high-contrast/color-theme.json +0 -0
  248. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-high-contrast/extension.json +0 -0
  249. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-material/README.md +0 -0
  250. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-material/color-theme.json +0 -0
  251. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-material/extension.json +0 -0
  252. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-monokai/README.md +0 -0
  253. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-monokai/color-theme.json +0 -0
  254. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-monokai/extension.json +0 -0
  255. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-noctis-uva/README.md +0 -0
  256. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-noctis-uva/color-theme.json +0 -0
  257. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-noctis-uva/extension.json +0 -0
  258. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
  259. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-palenight/README.md +0 -0
  260. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-palenight/color-theme.json +0 -0
  261. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-palenight/extension.json +0 -0
  262. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-palenight/images/demo.png +0 -0
  263. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-slime/README.md +0 -0
  264. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-slime/color-theme.json +0 -0
  265. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-slime/extension.json +0 -0
  266. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.theme-slime/icon.png +0 -0
  267. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.vscode-icons/README.md +0 -0
  268. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.vscode-icons/extension.json +0 -0
  269. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.vscode-icons/icon-theme.json +0 -0
  270. /package/static/{8ebf915 → b15e8c0}/extensions/builtin.vscode-icons/icon.png +0 -0
  271. /package/static/{8ebf915 → b15e8c0}/file-icons/default_file.svg +0 -0
  272. /package/static/{8ebf915 → b15e8c0}/file-icons/default_folder.svg +0 -0
  273. /package/static/{8ebf915 → b15e8c0}/file-icons/default_folder_opened.svg +0 -0
  274. /package/static/{8ebf915 → b15e8c0}/file-icons/default_root_folder.svg +0 -0
  275. /package/static/{8ebf915 → b15e8c0}/file-icons/default_root_folder_opened.svg +0 -0
  276. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_access.svg +0 -0
  277. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_access2.svg +0 -0
  278. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_actionscript.svg +0 -0
  279. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_actionscript2.svg +0 -0
  280. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ada.svg +0 -0
  281. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_advpl.svg +0 -0
  282. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_affectscript.svg +0 -0
  283. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_affinitydesigner.svg +0 -0
  284. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_affinityphoto.svg +0 -0
  285. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_affinitypublisher.svg +0 -0
  286. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_agda.svg +0 -0
  287. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ai.svg +0 -0
  288. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ai2.svg +0 -0
  289. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_al.svg +0 -0
  290. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_al_dal.svg +0 -0
  291. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_allcontributors.svg +0 -0
  292. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_angular.svg +0 -0
  293. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ansible.svg +0 -0
  294. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_antlers_html.svg +0 -0
  295. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_antlr.svg +0 -0
  296. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_anyscript.svg +0 -0
  297. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_apache.svg +0 -0
  298. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_apex.svg +0 -0
  299. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_api_extractor.svg +0 -0
  300. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_apib.svg +0 -0
  301. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_apib2.svg +0 -0
  302. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_apl.svg +0 -0
  303. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_applescript.svg +0 -0
  304. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_appscript.svg +0 -0
  305. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_appsemble.svg +0 -0
  306. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_appveyor.svg +0 -0
  307. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_arduino.svg +0 -0
  308. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_asciidoc.svg +0 -0
  309. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_asp.svg +0 -0
  310. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_aspx.svg +0 -0
  311. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_assembly.svg +0 -0
  312. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_astro.svg +0 -0
  313. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_astroconfig.svg +0 -0
  314. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_atom.svg +0 -0
  315. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ats.svg +0 -0
  316. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_attw.svg +0 -0
  317. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_audio.svg +0 -0
  318. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_aurelia.svg +0 -0
  319. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_autohotkey.svg +0 -0
  320. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_autoit.svg +0 -0
  321. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_avif.svg +0 -0
  322. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_avro.svg +0 -0
  323. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_awk.svg +0 -0
  324. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_aws.svg +0 -0
  325. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_azure.svg +0 -0
  326. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_azurepipelines.svg +0 -0
  327. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_babel.svg +0 -0
  328. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_babel2.svg +0 -0
  329. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bak.svg +0 -0
  330. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ballerina.svg +0 -0
  331. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bat.svg +0 -0
  332. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bats.svg +0 -0
  333. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bazaar.svg +0 -0
  334. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bazel.svg +0 -0
  335. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bazel_ignore.svg +0 -0
  336. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bazel_version.svg +0 -0
  337. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_befunge.svg +0 -0
  338. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bicep.svg +0 -0
  339. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_biml.svg +0 -0
  340. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_binary.svg +0 -0
  341. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_biome.svg +0 -0
  342. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bitbucketpipeline.svg +0 -0
  343. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bithound.svg +0 -0
  344. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_blade.svg +0 -0
  345. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_blender.svg +0 -0
  346. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_blitzbasic.svg +0 -0
  347. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bolt.svg +0 -0
  348. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bosque.svg +0 -0
  349. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bower.svg +0 -0
  350. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bower2.svg +0 -0
  351. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_browserslist.svg +0 -0
  352. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bruno.svg +0 -0
  353. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_buckbuild.svg +0 -0
  354. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_buf.svg +0 -0
  355. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bun.svg +0 -0
  356. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bundlemon.svg +0 -0
  357. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bundler.svg +0 -0
  358. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_bunfig.svg +0 -0
  359. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_c.svg +0 -0
  360. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_c2.svg +0 -0
  361. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_c3.svg +0 -0
  362. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_c_al.svg +0 -0
  363. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cabal.svg +0 -0
  364. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_caddy.svg +0 -0
  365. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cake.svg +0 -0
  366. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cakephp.svg +0 -0
  367. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_capacitor.svg +0 -0
  368. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_capnp.svg +0 -0
  369. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cargo.svg +0 -0
  370. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_casc.svg +0 -0
  371. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cddl.svg +0 -0
  372. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cert.svg +0 -0
  373. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ceylon.svg +0 -0
  374. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cf.svg +0 -0
  375. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cf2.svg +0 -0
  376. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cfc.svg +0 -0
  377. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cfc2.svg +0 -0
  378. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cfm.svg +0 -0
  379. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cfm2.svg +0 -0
  380. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_changie.svg +0 -0
  381. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cheader.svg +0 -0
  382. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_chef.svg +0 -0
  383. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_chef_cookbook.svg +0 -0
  384. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_circleci.svg +0 -0
  385. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_class.svg +0 -0
  386. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_claude.svg +0 -0
  387. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_clojure.svg +0 -0
  388. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_clojurescript.svg +0 -0
  389. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cloudfoundry.svg +0 -0
  390. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cmake.svg +0 -0
  391. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cobol.svg +0 -0
  392. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_codacy.svg +0 -0
  393. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_codeclimate.svg +0 -0
  394. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_codecov.svg +0 -0
  395. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_codekit.svg +0 -0
  396. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_codemagic.svg +0 -0
  397. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_codeowners.svg +0 -0
  398. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_codeql.svg +0 -0
  399. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_coderabbit.svg +0 -0
  400. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_coffeelint.svg +0 -0
  401. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_coffeescript.svg +0 -0
  402. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_commitizen.svg +0 -0
  403. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_commitlint.svg +0 -0
  404. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_compass.svg +0 -0
  405. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_composer.svg +0 -0
  406. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_conan.svg +0 -0
  407. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_conda.svg +0 -0
  408. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_config.svg +0 -0
  409. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_confluence.svg +0 -0
  410. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_copilot.svg +0 -0
  411. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_coverage.svg +0 -0
  412. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_coveralls.svg +0 -0
  413. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cpp.svg +0 -0
  414. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cpp2.svg +0 -0
  415. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cpp3.svg +0 -0
  416. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cppheader.svg +0 -0
  417. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_craco.svg +0 -0
  418. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_crowdin.svg +0 -0
  419. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_crystal.svg +0 -0
  420. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_csharp.svg +0 -0
  421. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_csharp2.svg +0 -0
  422. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cspell.svg +0 -0
  423. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_csproj.svg +0 -0
  424. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_css.svg +0 -0
  425. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_css2.svg +0 -0
  426. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_css2map.svg +0 -0
  427. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_csscomb.svg +0 -0
  428. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_csslint.svg +0 -0
  429. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cssmap.svg +0 -0
  430. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cucumber.svg +0 -0
  431. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cuda.svg +0 -0
  432. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cursorrules.svg +0 -0
  433. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cvs.svg +0 -0
  434. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cypress.svg +0 -0
  435. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cypress_spec.svg +0 -0
  436. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_cython.svg +0 -0
  437. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dal.svg +0 -0
  438. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_darcs.svg +0 -0
  439. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dartlang.svg +0 -0
  440. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dartlang_generated.svg +0 -0
  441. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dartlang_ignore.svg +0 -0
  442. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_datadog.svg +0 -0
  443. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_db.svg +0 -0
  444. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_debian.svg +0 -0
  445. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_delphi.svg +0 -0
  446. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_deno.svg +0 -0
  447. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_denoify.svg +0 -0
  448. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dependabot.svg +0 -0
  449. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dependencies.svg +0 -0
  450. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_devcontainer.svg +0 -0
  451. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dhall.svg +0 -0
  452. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_diff.svg +0 -0
  453. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_django.svg +0 -0
  454. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dlang.svg +0 -0
  455. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_docker.svg +0 -0
  456. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_docker2.svg +0 -0
  457. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dockertest.svg +0 -0
  458. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dockertest2.svg +0 -0
  459. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_docpad.svg +0 -0
  460. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_docusaurus.svg +0 -0
  461. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_docz.svg +0 -0
  462. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dojo.svg +0 -0
  463. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_doppler.svg +0 -0
  464. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dotenv.svg +0 -0
  465. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dotjs.svg +0 -0
  466. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_doxygen.svg +0 -0
  467. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_drawio.svg +0 -0
  468. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_drone.svg +0 -0
  469. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_drools.svg +0 -0
  470. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dtd.svg +0 -0
  471. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dune.svg +0 -0
  472. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dustjs.svg +0 -0
  473. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dvc.svg +0 -0
  474. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_dylan.svg +0 -0
  475. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_earthly.svg +0 -0
  476. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_eas-metadata.svg +0 -0
  477. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_edge.svg +0 -0
  478. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_edge2.svg +0 -0
  479. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_editorconfig.svg +0 -0
  480. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_eex.svg +0 -0
  481. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ejs.svg +0 -0
  482. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_elastic.svg +0 -0
  483. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_elasticbeanstalk.svg +0 -0
  484. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_eleventy.svg +0 -0
  485. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_eleventy2.svg +0 -0
  486. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_elixir.svg +0 -0
  487. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_elm.svg +0 -0
  488. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_elm2.svg +0 -0
  489. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_emacs.svg +0 -0
  490. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ember.svg +0 -0
  491. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ensime.svg +0 -0
  492. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_eps.svg +0 -0
  493. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_epub.svg +0 -0
  494. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_erb.svg +0 -0
  495. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_erlang.svg +0 -0
  496. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_erlang2.svg +0 -0
  497. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_esbuild.svg +0 -0
  498. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_eslint.svg +0 -0
  499. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_eslint2.svg +0 -0
  500. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_esphome.svg +0 -0
  501. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_excalidraw.svg +0 -0
  502. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_excel.svg +0 -0
  503. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_excel2.svg +0 -0
  504. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_expo.svg +0 -0
  505. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_falcon.svg +0 -0
  506. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_fantasticon.svg +0 -0
  507. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_fastly.svg +0 -0
  508. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_fauna.svg +0 -0
  509. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_favicon.svg +0 -0
  510. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_fbx.svg +0 -0
  511. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_firebase.svg +0 -0
  512. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_firebasehosting.svg +0 -0
  513. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_firestore.svg +0 -0
  514. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_fitbit.svg +0 -0
  515. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_fla.svg +0 -0
  516. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_flareact.svg +0 -0
  517. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_flash.svg +0 -0
  518. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_floobits.svg +0 -0
  519. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_flow.svg +0 -0
  520. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_flutter.svg +0 -0
  521. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_flutter_package.svg +0 -0
  522. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_flyio.svg +0 -0
  523. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_font.svg +0 -0
  524. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_formkit.svg +0 -0
  525. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_fortran.svg +0 -0
  526. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_fossa.svg +0 -0
  527. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_fossil.svg +0 -0
  528. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_freemarker.svg +0 -0
  529. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_frontcommerce.svg +0 -0
  530. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_fsharp.svg +0 -0
  531. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_fsharp2.svg +0 -0
  532. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_fsproj.svg +0 -0
  533. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_fthtml.svg +0 -0
  534. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_funding.svg +0 -0
  535. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_fusebox.svg +0 -0
  536. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_galen.svg +0 -0
  537. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_galen2.svg +0 -0
  538. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gamemaker.svg +0 -0
  539. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gamemaker2.svg +0 -0
  540. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gamemaker81.svg +0 -0
  541. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gatsby.svg +0 -0
  542. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gcloud.svg +0 -0
  543. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gcode.svg +0 -0
  544. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gdscript.svg +0 -0
  545. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_genstat.svg +0 -0
  546. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_git.svg +0 -0
  547. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_git2.svg +0 -0
  548. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gitlab.svg +0 -0
  549. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gitpod.svg +0 -0
  550. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gleam.svg +0 -0
  551. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gleamconfig.svg +0 -0
  552. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_glide.svg +0 -0
  553. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_glitter.svg +0 -0
  554. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_glsl.svg +0 -0
  555. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gltf.svg +0 -0
  556. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_glyphs.svg +0 -0
  557. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gnu.svg +0 -0
  558. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gnuplot.svg +0 -0
  559. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_go.svg +0 -0
  560. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_go_aqua.svg +0 -0
  561. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_go_black.svg +0 -0
  562. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_go_fuchsia.svg +0 -0
  563. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_go_gopher.svg +0 -0
  564. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_go_lightblue.svg +0 -0
  565. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_go_package.svg +0 -0
  566. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_go_white.svg +0 -0
  567. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_go_work.svg +0 -0
  568. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_go_yellow.svg +0 -0
  569. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_goctl.svg +0 -0
  570. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_godot.svg +0 -0
  571. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gpg.svg +0 -0
  572. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gradle.svg +0 -0
  573. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gradle2.svg +0 -0
  574. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_grain.svg +0 -0
  575. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_graphql.svg +0 -0
  576. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_graphql_config.svg +0 -0
  577. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_graphviz.svg +0 -0
  578. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_greenkeeper.svg +0 -0
  579. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gridsome.svg +0 -0
  580. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_groovy.svg +0 -0
  581. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_groovy2.svg +0 -0
  582. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_grunt.svg +0 -0
  583. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_gulp.svg +0 -0
  584. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_haml.svg +0 -0
  585. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_handlebars.svg +0 -0
  586. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_handlebars2.svg +0 -0
  587. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_harbour.svg +0 -0
  588. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_hardhat.svg +0 -0
  589. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_hashicorp.svg +0 -0
  590. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_haskell.svg +0 -0
  591. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_haskell2.svg +0 -0
  592. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_haxe.svg +0 -0
  593. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_haxecheckstyle.svg +0 -0
  594. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_haxedevelop.svg +0 -0
  595. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_helix.svg +0 -0
  596. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_helm.svg +0 -0
  597. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_histoire.svg +0 -0
  598. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_hjson.svg +0 -0
  599. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_hlsl.svg +0 -0
  600. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_homeassistant.svg +0 -0
  601. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_horusec.svg +0 -0
  602. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_host.svg +0 -0
  603. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_html.svg +0 -0
  604. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_htmlhint.svg +0 -0
  605. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_htmlvalidate.svg +0 -0
  606. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_http.svg +0 -0
  607. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_hugo.svg +0 -0
  608. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_humanstxt.svg +0 -0
  609. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_hunspell.svg +0 -0
  610. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_husky.svg +0 -0
  611. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_hy.svg +0 -0
  612. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_hygen.svg +0 -0
  613. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_hypr.svg +0 -0
  614. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_icl.svg +0 -0
  615. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_idris.svg +0 -0
  616. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_idrisbin.svg +0 -0
  617. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_idrispkg.svg +0 -0
  618. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_image.svg +0 -0
  619. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_imba.svg +0 -0
  620. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_inc.svg +0 -0
  621. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_infopath.svg +0 -0
  622. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_informix.svg +0 -0
  623. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ini.svg +0 -0
  624. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ink.svg +0 -0
  625. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_innosetup.svg +0 -0
  626. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_io.svg +0 -0
  627. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_iodine.svg +0 -0
  628. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ionic.svg +0 -0
  629. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jake.svg +0 -0
  630. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_janet.svg +0 -0
  631. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jar.svg +0 -0
  632. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jasmine.svg +0 -0
  633. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_java.svg +0 -0
  634. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jbuilder.svg +0 -0
  635. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jekyll.svg +0 -0
  636. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jenkins.svg +0 -0
  637. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jest.svg +0 -0
  638. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jest_snapshot.svg +0 -0
  639. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jinja.svg +0 -0
  640. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jpm.svg +0 -0
  641. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_js.svg +0 -0
  642. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_js_official.svg +0 -0
  643. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jsbeautify.svg +0 -0
  644. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jsconfig.svg +0 -0
  645. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jscpd.svg +0 -0
  646. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jshint.svg +0 -0
  647. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jsmap.svg +0 -0
  648. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_json.svg +0 -0
  649. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_json2.svg +0 -0
  650. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_json5.svg +0 -0
  651. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_json_official.svg +0 -0
  652. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_json_schema.svg +0 -0
  653. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jsonld.svg +0 -0
  654. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jsonnet.svg +0 -0
  655. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jsp.svg +0 -0
  656. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jsr.svg +0 -0
  657. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jss.svg +0 -0
  658. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_juice.svg +0 -0
  659. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_julia.svg +0 -0
  660. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_julia2.svg +0 -0
  661. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_jupyter.svg +0 -0
  662. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_just.svg +0 -0
  663. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_k.svg +0 -0
  664. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_karma.svg +0 -0
  665. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_key.svg +0 -0
  666. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_kitchenci.svg +0 -0
  667. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_kite.svg +0 -0
  668. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_kivy.svg +0 -0
  669. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_knip.svg +0 -0
  670. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_kos.svg +0 -0
  671. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_kotlin.svg +0 -0
  672. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_kusto.svg +0 -0
  673. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_language_configuration.svg +0 -0
  674. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_lark.svg +0 -0
  675. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_latino.svg +0 -0
  676. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_layout.svg +0 -0
  677. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_lefthook.svg +0 -0
  678. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_lerna.svg +0 -0
  679. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_less.svg +0 -0
  680. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_lex.svg +0 -0
  681. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_liara.svg +0 -0
  682. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_libreoffice_base.svg +0 -0
  683. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_libreoffice_calc.svg +0 -0
  684. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_libreoffice_draw.svg +0 -0
  685. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_libreoffice_impress.svg +0 -0
  686. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_libreoffice_math.svg +0 -0
  687. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_libreoffice_writer.svg +0 -0
  688. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_license.svg +0 -0
  689. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_licensebat.svg +0 -0
  690. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_actionscript2.svg +0 -0
  691. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_ada.svg +0 -0
  692. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_agda.svg +0 -0
  693. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_apl.svg +0 -0
  694. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_astro.svg +0 -0
  695. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_astroconfig.svg +0 -0
  696. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_babel.svg +0 -0
  697. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_babel2.svg +0 -0
  698. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_cabal.svg +0 -0
  699. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_circleci.svg +0 -0
  700. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_cloudfoundry.svg +0 -0
  701. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_codacy.svg +0 -0
  702. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_codeclimate.svg +0 -0
  703. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_codeowners.svg +0 -0
  704. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_config.svg +0 -0
  705. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_copilot.svg +0 -0
  706. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_crystal.svg +0 -0
  707. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_cypress.svg +0 -0
  708. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_cypress_spec.svg +0 -0
  709. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_db.svg +0 -0
  710. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_deno.svg +0 -0
  711. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_dhall.svg +0 -0
  712. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_docpad.svg +0 -0
  713. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_drone.svg +0 -0
  714. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_eas-metadata.svg +0 -0
  715. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_eleventy.svg +0 -0
  716. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_eleventy2.svg +0 -0
  717. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_esphome.svg +0 -0
  718. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_expo.svg +0 -0
  719. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_firebasehosting.svg +0 -0
  720. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_fla.svg +0 -0
  721. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_font.svg +0 -0
  722. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_gamemaker2.svg +0 -0
  723. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_gradle.svg +0 -0
  724. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_hashicorp.svg +0 -0
  725. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_hjson.svg +0 -0
  726. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_ini.svg +0 -0
  727. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_io.svg +0 -0
  728. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_js.svg +0 -0
  729. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_jsconfig.svg +0 -0
  730. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_jsmap.svg +0 -0
  731. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_json.svg +0 -0
  732. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_json5.svg +0 -0
  733. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_json_schema.svg +0 -0
  734. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_jsonld.svg +0 -0
  735. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_kite.svg +0 -0
  736. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_lark.svg +0 -0
  737. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_lerna.svg +0 -0
  738. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_mailing.svg +0 -0
  739. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_markuplint.svg +0 -0
  740. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_mdx-components.svg +0 -0
  741. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_mdx.svg +0 -0
  742. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_mlang.svg +0 -0
  743. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_mustache.svg +0 -0
  744. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_mypy.svg +0 -0
  745. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_neo4j.svg +0 -0
  746. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_netlify.svg +0 -0
  747. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_next.svg +0 -0
  748. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_nim.svg +0 -0
  749. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_nx.svg +0 -0
  750. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_objidconfig.svg +0 -0
  751. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_openHAB.svg +0 -0
  752. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_pcl.svg +0 -0
  753. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_pnpm.svg +0 -0
  754. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_prettier.svg +0 -0
  755. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_prisma.svg +0 -0
  756. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_purescript.svg +0 -0
  757. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_quasar.svg +0 -0
  758. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_raku.svg +0 -0
  759. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_razzle.svg +0 -0
  760. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_reactrouter.svg +0 -0
  761. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_rehype.svg +0 -0
  762. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_remark.svg +0 -0
  763. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_replit.svg +0 -0
  764. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_retext.svg +0 -0
  765. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_rome.svg +0 -0
  766. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_rubocop.svg +0 -0
  767. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_rust.svg +0 -0
  768. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_rust_toolchain.svg +0 -0
  769. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_safetensors.svg +0 -0
  770. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_shaderlab.svg +0 -0
  771. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_solidity.svg +0 -0
  772. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_spin.svg +0 -0
  773. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_stylelint.svg +0 -0
  774. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_stylus.svg +0 -0
  775. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_symfony.svg +0 -0
  776. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_systemd.svg +0 -0
  777. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_systemverilog.svg +0 -0
  778. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_testcafe.svg +0 -0
  779. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_testjs.svg +0 -0
  780. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_tex.svg +0 -0
  781. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_tm.svg +0 -0
  782. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_tmux.svg +0 -0
  783. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_todo.svg +0 -0
  784. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_toit.svg +0 -0
  785. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_toml.svg +0 -0
  786. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_tree.svg +0 -0
  787. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_turbo.svg +0 -0
  788. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_unibeautify.svg +0 -0
  789. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_vash.svg +0 -0
  790. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_vercel.svg +0 -0
  791. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_vsix.svg +0 -0
  792. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_vsixmanifest.svg +0 -0
  793. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_xfl.svg +0 -0
  794. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_xorg.svg +0 -0
  795. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_yaml.svg +0 -0
  796. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_yaml_official.svg +0 -0
  797. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_light_zeit.svg +0 -0
  798. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_lighthouse.svg +0 -0
  799. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_lilypond.svg +0 -0
  800. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_lime.svg +0 -0
  801. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_lintstagedrc.svg +0 -0
  802. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_liquid.svg +0 -0
  803. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_lisp.svg +0 -0
  804. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_livescript.svg +0 -0
  805. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_lnk.svg +0 -0
  806. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_locale.svg +0 -0
  807. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_log.svg +0 -0
  808. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_lolcode.svg +0 -0
  809. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_lsl.svg +0 -0
  810. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_lua.svg +0 -0
  811. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_luau.svg +0 -0
  812. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_lync.svg +0 -0
  813. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mailing.svg +0 -0
  814. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_makefile.svg +0 -0
  815. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_manifest.svg +0 -0
  816. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_manifest_bak.svg +0 -0
  817. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_manifest_skip.svg +0 -0
  818. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_map.svg +0 -0
  819. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mariadb.svg +0 -0
  820. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_markdown.svg +0 -0
  821. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_markdownlint.svg +0 -0
  822. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_markdownlint_ignore.svg +0 -0
  823. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_marko.svg +0 -0
  824. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_markojs.svg +0 -0
  825. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_markuplint.svg +0 -0
  826. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_master-co.svg +0 -0
  827. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_matlab.svg +0 -0
  828. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_maven.svg +0 -0
  829. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_maxscript.svg +0 -0
  830. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_maya.svg +0 -0
  831. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mdx-components.svg +0 -0
  832. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mdx.svg +0 -0
  833. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mediawiki.svg +0 -0
  834. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mercurial.svg +0 -0
  835. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mermaid.svg +0 -0
  836. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_meson.svg +0 -0
  837. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_metal.svg +0 -0
  838. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_meteor.svg +0 -0
  839. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_minecraft.svg +0 -0
  840. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mivascript.svg +0 -0
  841. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mjml.svg +0 -0
  842. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mlang.svg +0 -0
  843. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mocha.svg +0 -0
  844. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_modernizr.svg +0 -0
  845. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mojo.svg +0 -0
  846. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mojolicious.svg +0 -0
  847. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_moleculer.svg +0 -0
  848. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mondoo.svg +0 -0
  849. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mongo.svg +0 -0
  850. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_monotone.svg +0 -0
  851. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_motif.svg +0 -0
  852. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mson.svg +0 -0
  853. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mustache.svg +0 -0
  854. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mvt.svg +0 -0
  855. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mvtcss.svg +0 -0
  856. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mvtjs.svg +0 -0
  857. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mypy.svg +0 -0
  858. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_mysql.svg +0 -0
  859. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ndst.svg +0 -0
  860. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nearly.svg +0 -0
  861. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_neo4j.svg +0 -0
  862. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_adapter_js.svg +0 -0
  863. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_adapter_ts.svg +0 -0
  864. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_controller_js.svg +0 -0
  865. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_controller_ts.svg +0 -0
  866. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_decorator_js.svg +0 -0
  867. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_decorator_ts.svg +0 -0
  868. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_filter_js.svg +0 -0
  869. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_filter_ts.svg +0 -0
  870. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_gateway_js.svg +0 -0
  871. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_gateway_ts.svg +0 -0
  872. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_guard_js.svg +0 -0
  873. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_guard_ts.svg +0 -0
  874. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_interceptor_js.svg +0 -0
  875. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_interceptor_ts.svg +0 -0
  876. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_middleware_js.svg +0 -0
  877. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_middleware_ts.svg +0 -0
  878. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_module_js.svg +0 -0
  879. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_module_ts.svg +0 -0
  880. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_pipe_js.svg +0 -0
  881. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_pipe_ts.svg +0 -0
  882. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_service_js.svg +0 -0
  883. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nest_service_ts.svg +0 -0
  884. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nestjs.svg +0 -0
  885. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_netlify.svg +0 -0
  886. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_next.svg +0 -0
  887. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nextflow.svg +0 -0
  888. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_component_css.svg +0 -0
  889. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_component_dart.svg +0 -0
  890. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_component_html.svg +0 -0
  891. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_component_js.svg +0 -0
  892. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_component_js2.svg +0 -0
  893. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_component_less.svg +0 -0
  894. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_component_sass.svg +0 -0
  895. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_component_scss.svg +0 -0
  896. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_component_ts.svg +0 -0
  897. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_component_ts2.svg +0 -0
  898. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_controller_js.svg +0 -0
  899. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_controller_ts.svg +0 -0
  900. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_directive_dart.svg +0 -0
  901. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_directive_js.svg +0 -0
  902. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_directive_js2.svg +0 -0
  903. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_directive_ts.svg +0 -0
  904. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_directive_ts2.svg +0 -0
  905. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_guard_dart.svg +0 -0
  906. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_guard_js.svg +0 -0
  907. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_guard_ts.svg +0 -0
  908. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_interceptor_dart.svg +0 -0
  909. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_interceptor_js.svg +0 -0
  910. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_interceptor_ts.svg +0 -0
  911. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_module_dart.svg +0 -0
  912. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_module_js.svg +0 -0
  913. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_module_js2.svg +0 -0
  914. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_module_ts.svg +0 -0
  915. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_module_ts2.svg +0 -0
  916. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_pipe_dart.svg +0 -0
  917. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_pipe_js.svg +0 -0
  918. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_pipe_js2.svg +0 -0
  919. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_pipe_ts.svg +0 -0
  920. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_pipe_ts2.svg +0 -0
  921. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_routing_dart.svg +0 -0
  922. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_routing_js.svg +0 -0
  923. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_routing_js2.svg +0 -0
  924. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_routing_ts.svg +0 -0
  925. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_routing_ts2.svg +0 -0
  926. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_service_dart.svg +0 -0
  927. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_service_js.svg +0 -0
  928. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_service_js2.svg +0 -0
  929. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_service_ts.svg +0 -0
  930. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_service_ts2.svg +0 -0
  931. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_smart_component_dart.svg +0 -0
  932. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_smart_component_js.svg +0 -0
  933. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_smart_component_js2.svg +0 -0
  934. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_smart_component_ts.svg +0 -0
  935. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_smart_component_ts2.svg +0 -0
  936. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ng_tailwind.svg +0 -0
  937. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nginx.svg +0 -0
  938. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nim.svg +0 -0
  939. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nimble.svg +0 -0
  940. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ninja.svg +0 -0
  941. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nix.svg +0 -0
  942. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_njsproj.svg +0 -0
  943. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_noc.svg +0 -0
  944. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_node.svg +0 -0
  945. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_node2.svg +0 -0
  946. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nodemon.svg +0 -0
  947. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_npm.svg +0 -0
  948. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_npmpackagejsonlint.svg +0 -0
  949. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nsi.svg +0 -0
  950. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nsri-integrity.svg +0 -0
  951. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nsri.svg +0 -0
  952. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nuget.svg +0 -0
  953. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_numpy.svg +0 -0
  954. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nunjucks.svg +0 -0
  955. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nuxt.svg +0 -0
  956. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nx.svg +0 -0
  957. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_nyc.svg +0 -0
  958. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_objectivec.svg +0 -0
  959. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_objectivecpp.svg +0 -0
  960. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_objidconfig.svg +0 -0
  961. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ocaml.svg +0 -0
  962. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ocaml_intf.svg +0 -0
  963. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ogone.svg +0 -0
  964. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_onenote.svg +0 -0
  965. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_opam.svg +0 -0
  966. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_openHAB.svg +0 -0
  967. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_opencl.svg +0 -0
  968. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_openscad.svg +0 -0
  969. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_opentofu.svg +0 -0
  970. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_org.svg +0 -0
  971. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_outlook.svg +0 -0
  972. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ovpn.svg +0 -0
  973. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_oxlint.svg +0 -0
  974. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_package.svg +0 -0
  975. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_paket.svg +0 -0
  976. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pandacss.svg +0 -0
  977. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_patch.svg +0 -0
  978. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pcl.svg +0 -0
  979. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pddl.svg +0 -0
  980. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pddl_happenings.svg +0 -0
  981. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pddl_plan.svg +0 -0
  982. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pdf.svg +0 -0
  983. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pdf2.svg +0 -0
  984. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pdm.svg +0 -0
  985. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_peeky.svg +0 -0
  986. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_perl.svg +0 -0
  987. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_perl2.svg +0 -0
  988. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_perl6.svg +0 -0
  989. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pgsql.svg +0 -0
  990. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_photoshop.svg +0 -0
  991. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_photoshop2.svg +0 -0
  992. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_php.svg +0 -0
  993. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_php2.svg +0 -0
  994. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_php3.svg +0 -0
  995. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_phpcsfixer.svg +0 -0
  996. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_phpstan.svg +0 -0
  997. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_phpunit.svg +0 -0
  998. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_phraseapp.svg +0 -0
  999. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pine.svg +0 -0
  1000. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pip.svg +0 -0
  1001. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pipeline.svg +0 -0
  1002. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_plantuml.svg +0 -0
  1003. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_platformio.svg +0 -0
  1004. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_playwright.svg +0 -0
  1005. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_plsql.svg +0 -0
  1006. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_plsql_package.svg +0 -0
  1007. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_plsql_package_body.svg +0 -0
  1008. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_plsql_package_header.svg +0 -0
  1009. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_plsql_package_spec.svg +0 -0
  1010. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pm2.svg +0 -0
  1011. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pnpm.svg +0 -0
  1012. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_poedit.svg +0 -0
  1013. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_poetry.svg +0 -0
  1014. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_polymer.svg +0 -0
  1015. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pony.svg +0 -0
  1016. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_postcss.svg +0 -0
  1017. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_postcssconfig.svg +0 -0
  1018. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_postman.svg +0 -0
  1019. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_powerpoint.svg +0 -0
  1020. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_powerpoint2.svg +0 -0
  1021. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_powershell.svg +0 -0
  1022. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_powershell2.svg +0 -0
  1023. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_powershell_format.svg +0 -0
  1024. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_powershell_psd.svg +0 -0
  1025. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_powershell_psd2.svg +0 -0
  1026. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_powershell_psm.svg +0 -0
  1027. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_powershell_psm2.svg +0 -0
  1028. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_powershell_types.svg +0 -0
  1029. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_preact.svg +0 -0
  1030. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_precommit.svg +0 -0
  1031. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_prettier.svg +0 -0
  1032. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_prisma.svg +0 -0
  1033. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_processinglang.svg +0 -0
  1034. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_procfile.svg +0 -0
  1035. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_progress.svg +0 -0
  1036. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_prolog.svg +0 -0
  1037. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_prometheus.svg +0 -0
  1038. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_protobuf.svg +0 -0
  1039. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_protractor.svg +0 -0
  1040. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_publiccode.svg +0 -0
  1041. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_publisher.svg +0 -0
  1042. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pug.svg +0 -0
  1043. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pulumi.svg +0 -0
  1044. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_puppet.svg +0 -0
  1045. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_purescript.svg +0 -0
  1046. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_purgecss.svg +0 -0
  1047. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pyenv.svg +0 -0
  1048. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pyret.svg +0 -0
  1049. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pyscript.svg +0 -0
  1050. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pytest.svg +0 -0
  1051. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_python.svg +0 -0
  1052. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pythowo.svg +0 -0
  1053. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pytyped.svg +0 -0
  1054. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_pyup.svg +0 -0
  1055. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_q.svg +0 -0
  1056. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_qbs.svg +0 -0
  1057. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_qlikview.svg +0 -0
  1058. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_qml.svg +0 -0
  1059. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_qmldir.svg +0 -0
  1060. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_qsharp.svg +0 -0
  1061. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_quasar.svg +0 -0
  1062. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_r.svg +0 -0
  1063. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ra_syntax_tree.svg +0 -0
  1064. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_racket.svg +0 -0
  1065. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rails.svg +0 -0
  1066. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rake.svg +0 -0
  1067. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_raku.svg +0 -0
  1068. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_raml.svg +0 -0
  1069. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_razor.svg +0 -0
  1070. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_razzle.svg +0 -0
  1071. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_reactjs.svg +0 -0
  1072. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_reactrouter.svg +0 -0
  1073. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_reacttemplate.svg +0 -0
  1074. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_reactts.svg +0 -0
  1075. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_reason.svg +0 -0
  1076. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_red.svg +0 -0
  1077. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_registry.svg +0 -0
  1078. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rego.svg +0 -0
  1079. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rehype.svg +0 -0
  1080. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_remark.svg +0 -0
  1081. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_renovate.svg +0 -0
  1082. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_replit.svg +0 -0
  1083. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rescript.svg +0 -0
  1084. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rest.svg +0 -0
  1085. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_retext.svg +0 -0
  1086. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rexx.svg +0 -0
  1087. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_riot.svg +0 -0
  1088. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rmd.svg +0 -0
  1089. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rnc.svg +0 -0
  1090. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_robotframework.svg +0 -0
  1091. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_robots.svg +0 -0
  1092. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rolldown.svg +0 -0
  1093. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rollup.svg +0 -0
  1094. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rome.svg +0 -0
  1095. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ron.svg +0 -0
  1096. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rproj.svg +0 -0
  1097. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rspec.svg +0 -0
  1098. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rss.svg +0 -0
  1099. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rubocop.svg +0 -0
  1100. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ruby.svg +0 -0
  1101. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rust.svg +0 -0
  1102. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_rust_toolchain.svg +0 -0
  1103. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_s-lang.svg +0 -0
  1104. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_safetensors.svg +0 -0
  1105. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sails.svg +0 -0
  1106. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_saltstack.svg +0 -0
  1107. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_san.svg +0 -0
  1108. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sapphire_framework_cli.svg +0 -0
  1109. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sas.svg +0 -0
  1110. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sass.svg +0 -0
  1111. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sbt.svg +0 -0
  1112. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_scala.svg +0 -0
  1113. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_scilab.svg +0 -0
  1114. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_script.svg +0 -0
  1115. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_scss.svg +0 -0
  1116. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_scss2.svg +0 -0
  1117. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sdlang.svg +0 -0
  1118. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_search_result.svg +0 -0
  1119. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_seedkit.svg +0 -0
  1120. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sentry.svg +0 -0
  1121. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sequelize.svg +0 -0
  1122. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_serverless.svg +0 -0
  1123. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_shaderlab.svg +0 -0
  1124. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_shell.svg +0 -0
  1125. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_shellcheck.svg +0 -0
  1126. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_shuttle.svg +0 -0
  1127. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_silverstripe.svg +0 -0
  1128. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sino.svg +0 -0
  1129. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_siyuan.svg +0 -0
  1130. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sketch.svg +0 -0
  1131. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_skipper.svg +0 -0
  1132. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_slang.svg +0 -0
  1133. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_slashup.svg +0 -0
  1134. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_slice.svg +0 -0
  1135. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_slim.svg +0 -0
  1136. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_slint.svg +0 -0
  1137. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sln.svg +0 -0
  1138. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sln2.svg +0 -0
  1139. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_smarty.svg +0 -0
  1140. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_snakemake.svg +0 -0
  1141. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_snapcraft.svg +0 -0
  1142. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_snaplet.svg +0 -0
  1143. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_snort.svg +0 -0
  1144. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_snyk.svg +0 -0
  1145. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_solidarity.svg +0 -0
  1146. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_solidity.svg +0 -0
  1147. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_source.svg +0 -0
  1148. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_spacengine.svg +0 -0
  1149. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sparql.svg +0 -0
  1150. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_spin.svg +0 -0
  1151. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sqf.svg +0 -0
  1152. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sql.svg +0 -0
  1153. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sqlite.svg +0 -0
  1154. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_squirrel.svg +0 -0
  1155. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sss.svg +0 -0
  1156. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sst.svg +0 -0
  1157. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_stackblitz.svg +0 -0
  1158. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_stan.svg +0 -0
  1159. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_stata.svg +0 -0
  1160. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_stencil.svg +0 -0
  1161. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_storyboard.svg +0 -0
  1162. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_storybook.svg +0 -0
  1163. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_stryker.svg +0 -0
  1164. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_stylable.svg +0 -0
  1165. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_style.svg +0 -0
  1166. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_styled.svg +0 -0
  1167. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_stylelint.svg +0 -0
  1168. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_stylish_haskell.svg +0 -0
  1169. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_stylus.svg +0 -0
  1170. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_sublime.svg +0 -0
  1171. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_subversion.svg +0 -0
  1172. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_svelte.svg +0 -0
  1173. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_svelteconfig.svg +0 -0
  1174. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_svg.svg +0 -0
  1175. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_svgo.svg +0 -0
  1176. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_swagger.svg +0 -0
  1177. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_swc.svg +0 -0
  1178. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_swift.svg +0 -0
  1179. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_swig.svg +0 -0
  1180. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_symfony.svg +0 -0
  1181. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_syncpack.svg +0 -0
  1182. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_systemd.svg +0 -0
  1183. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_systemverilog.svg +0 -0
  1184. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_t4tt.svg +0 -0
  1185. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tailwind.svg +0 -0
  1186. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tamagui.svg +0 -0
  1187. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_taplo.svg +0 -0
  1188. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_taskfile.svg +0 -0
  1189. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tauri.svg +0 -0
  1190. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tcl.svg +0 -0
  1191. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_teal.svg +0 -0
  1192. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_templ.svg +0 -0
  1193. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tera.svg +0 -0
  1194. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_terraform.svg +0 -0
  1195. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_test.svg +0 -0
  1196. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_testcafe.svg +0 -0
  1197. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_testjs.svg +0 -0
  1198. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_testplane.svg +0 -0
  1199. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_testts.svg +0 -0
  1200. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tex.svg +0 -0
  1201. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_text.svg +0 -0
  1202. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_textile.svg +0 -0
  1203. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tfs.svg +0 -0
  1204. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tiltfile.svg +0 -0
  1205. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tm.svg +0 -0
  1206. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tmux.svg +0 -0
  1207. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_todo.svg +0 -0
  1208. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_toit.svg +0 -0
  1209. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_toml.svg +0 -0
  1210. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tox.svg +0 -0
  1211. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_travis.svg +0 -0
  1212. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tree.svg +0 -0
  1213. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tres.svg +0 -0
  1214. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_truffle.svg +0 -0
  1215. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_trunk.svg +0 -0
  1216. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tsbuildinfo.svg +0 -0
  1217. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tscn.svg +0 -0
  1218. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tsconfig.svg +0 -0
  1219. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tsconfig_official.svg +0 -0
  1220. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tsdoc.svg +0 -0
  1221. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tslint.svg +0 -0
  1222. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tt.svg +0 -0
  1223. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_ttcn.svg +0 -0
  1224. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_tuc.svg +0 -0
  1225. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_turbo.svg +0 -0
  1226. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_twig.svg +0 -0
  1227. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_typedoc.svg +0 -0
  1228. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_typescript.svg +0 -0
  1229. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_typescript_official.svg +0 -0
  1230. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_typescriptdef.svg +0 -0
  1231. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_typescriptdef_official.svg +0 -0
  1232. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_typo3.svg +0 -0
  1233. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_uiua.svg +0 -0
  1234. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_unibeautify.svg +0 -0
  1235. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_unison.svg +0 -0
  1236. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_unlicense.svg +0 -0
  1237. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_unocss.svg +0 -0
  1238. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vagrant.svg +0 -0
  1239. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vala.svg +0 -0
  1240. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vanilla_extract.svg +0 -0
  1241. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vapi.svg +0 -0
  1242. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vapor.svg +0 -0
  1243. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vash.svg +0 -0
  1244. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vb.svg +0 -0
  1245. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vba.svg +0 -0
  1246. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vbhtml.svg +0 -0
  1247. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vbproj.svg +0 -0
  1248. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vcxproj.svg +0 -0
  1249. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_velocity.svg +0 -0
  1250. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vento.svg +0 -0
  1251. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vercel.svg +0 -0
  1252. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_verilog.svg +0 -0
  1253. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vhdl.svg +0 -0
  1254. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_video.svg +0 -0
  1255. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_view.svg +0 -0
  1256. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vim.svg +0 -0
  1257. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vite.svg +0 -0
  1258. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vitest.svg +0 -0
  1259. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vlang.svg +0 -0
  1260. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_volt.svg +0 -0
  1261. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vscode-insiders.svg +0 -0
  1262. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vscode.svg +0 -0
  1263. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vscode2.svg +0 -0
  1264. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vscode3.svg +0 -0
  1265. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vscode_test.svg +0 -0
  1266. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vsix.svg +0 -0
  1267. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vsixmanifest.svg +0 -0
  1268. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vue.svg +0 -0
  1269. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vueconfig.svg +0 -0
  1270. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_vyper.svg +0 -0
  1271. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wallaby.svg +0 -0
  1272. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wally.svg +0 -0
  1273. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wasm.svg +0 -0
  1274. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_watchmanconfig.svg +0 -0
  1275. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wdio.svg +0 -0
  1276. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_weblate.svg +0 -0
  1277. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_webpack.svg +0 -0
  1278. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wenyan.svg +0 -0
  1279. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wercker.svg +0 -0
  1280. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wgsl.svg +0 -0
  1281. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wikitext.svg +0 -0
  1282. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_windi.svg +0 -0
  1283. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wit.svg +0 -0
  1284. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wolfram.svg +0 -0
  1285. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_word.svg +0 -0
  1286. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_word2.svg +0 -0
  1287. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wpml.svg +0 -0
  1288. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wurst.svg +0 -0
  1289. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wxml.svg +0 -0
  1290. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wxss.svg +0 -0
  1291. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_wxt.svg +0 -0
  1292. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_xcode.svg +0 -0
  1293. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_xfl.svg +0 -0
  1294. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_xib.svg +0 -0
  1295. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_xliff.svg +0 -0
  1296. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_xmake.svg +0 -0
  1297. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_xml.svg +0 -0
  1298. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_xo.svg +0 -0
  1299. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_xorg.svg +0 -0
  1300. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_xquery.svg +0 -0
  1301. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_xsl.svg +0 -0
  1302. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_yacc.svg +0 -0
  1303. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_yaml.svg +0 -0
  1304. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_yaml_official.svg +0 -0
  1305. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_yamllint.svg +0 -0
  1306. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_yandex.svg +0 -0
  1307. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_yang.svg +0 -0
  1308. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_yarn.svg +0 -0
  1309. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_yeoman.svg +0 -0
  1310. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_zeit.svg +0 -0
  1311. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_zig.svg +0 -0
  1312. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_zip.svg +0 -0
  1313. /package/static/{8ebf915 → b15e8c0}/file-icons/file_type_zip2.svg +0 -0
  1314. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_android.svg +0 -0
  1315. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_android_opened.svg +0 -0
  1316. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_api.svg +0 -0
  1317. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_api_opened.svg +0 -0
  1318. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_app.svg +0 -0
  1319. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_app_opened.svg +0 -0
  1320. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_arangodb.svg +0 -0
  1321. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_arangodb_opened.svg +0 -0
  1322. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_asset.svg +0 -0
  1323. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_asset_opened.svg +0 -0
  1324. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_audio.svg +0 -0
  1325. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_audio_opened.svg +0 -0
  1326. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_aurelia.svg +0 -0
  1327. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_aurelia_opened.svg +0 -0
  1328. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_aws.svg +0 -0
  1329. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_aws_opened.svg +0 -0
  1330. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_azure.svg +0 -0
  1331. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_azure_opened.svg +0 -0
  1332. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_azurepipelines.svg +0 -0
  1333. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_azurepipelines_opened.svg +0 -0
  1334. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_binary.svg +0 -0
  1335. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_binary_opened.svg +0 -0
  1336. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_bloc.svg +0 -0
  1337. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_bloc_opened.svg +0 -0
  1338. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_blueprint.svg +0 -0
  1339. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_blueprint_opened.svg +0 -0
  1340. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_bot.svg +0 -0
  1341. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_bot_opened.svg +0 -0
  1342. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_bower.svg +0 -0
  1343. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_bower_opened.svg +0 -0
  1344. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_buildkite.svg +0 -0
  1345. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_buildkite_opened.svg +0 -0
  1346. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_cake.svg +0 -0
  1347. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_cake_opened.svg +0 -0
  1348. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_certificate.svg +0 -0
  1349. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_certificate_opened.svg +0 -0
  1350. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_changesets.svg +0 -0
  1351. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_changesets_opened.svg +0 -0
  1352. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_chef.svg +0 -0
  1353. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_chef_opened.svg +0 -0
  1354. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_circleci.svg +0 -0
  1355. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_circleci_opened.svg +0 -0
  1356. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_cli.svg +0 -0
  1357. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_cli_opened.svg +0 -0
  1358. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_client.svg +0 -0
  1359. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_client_opened.svg +0 -0
  1360. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_cmake.svg +0 -0
  1361. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_cmake_opened.svg +0 -0
  1362. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_common.svg +0 -0
  1363. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_common_opened.svg +0 -0
  1364. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_component.svg +0 -0
  1365. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_component_opened.svg +0 -0
  1366. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_composer.svg +0 -0
  1367. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_composer_opened.svg +0 -0
  1368. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_config.svg +0 -0
  1369. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_config_opened.svg +0 -0
  1370. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_controller.svg +0 -0
  1371. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_controller_opened.svg +0 -0
  1372. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_coverage.svg +0 -0
  1373. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_coverage_opened.svg +0 -0
  1374. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_css.svg +0 -0
  1375. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_css2.svg +0 -0
  1376. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_css2_opened.svg +0 -0
  1377. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_css_opened.svg +0 -0
  1378. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_cubit.svg +0 -0
  1379. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_cubit_opened.svg +0 -0
  1380. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_cypress.svg +0 -0
  1381. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_cypress_opened.svg +0 -0
  1382. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_dapr.svg +0 -0
  1383. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_dapr_opened.svg +0 -0
  1384. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_datadog.svg +0 -0
  1385. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_datadog_opened.svg +0 -0
  1386. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_db.svg +0 -0
  1387. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_db_opened.svg +0 -0
  1388. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_debian.svg +0 -0
  1389. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_debian_opened.svg +0 -0
  1390. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_dependabot.svg +0 -0
  1391. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_dependabot_opened.svg +0 -0
  1392. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_devcontainer.svg +0 -0
  1393. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_devcontainer_opened.svg +0 -0
  1394. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_dist.svg +0 -0
  1395. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_dist_opened.svg +0 -0
  1396. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_docker.svg +0 -0
  1397. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_docker_opened.svg +0 -0
  1398. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_docs.svg +0 -0
  1399. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_docs_opened.svg +0 -0
  1400. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_e2e.svg +0 -0
  1401. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_e2e_opened.svg +0 -0
  1402. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_elasticbeanstalk.svg +0 -0
  1403. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_elasticbeanstalk_opened.svg +0 -0
  1404. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_electron.svg +0 -0
  1405. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_electron_opened.svg +0 -0
  1406. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_expo.svg +0 -0
  1407. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_expo_opened.svg +0 -0
  1408. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_favicon.svg +0 -0
  1409. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_favicon_opened.svg +0 -0
  1410. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_flow.svg +0 -0
  1411. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_flow_opened.svg +0 -0
  1412. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_fonts.svg +0 -0
  1413. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_fonts_opened.svg +0 -0
  1414. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_frontcommerce.svg +0 -0
  1415. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_frontcommerce_opened.svg +0 -0
  1416. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_gcp.svg +0 -0
  1417. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_gcp_opened.svg +0 -0
  1418. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_git.svg +0 -0
  1419. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_git_opened.svg +0 -0
  1420. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_github.svg +0 -0
  1421. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_github_opened.svg +0 -0
  1422. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_gitlab.svg +0 -0
  1423. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_gitlab_opened.svg +0 -0
  1424. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_gradle.svg +0 -0
  1425. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_gradle_opened.svg +0 -0
  1426. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_graphql.svg +0 -0
  1427. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_graphql_opened.svg +0 -0
  1428. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_grunt.svg +0 -0
  1429. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_grunt_opened.svg +0 -0
  1430. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_gulp.svg +0 -0
  1431. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_gulp_opened.svg +0 -0
  1432. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_haxelib.svg +0 -0
  1433. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_haxelib_opened.svg +0 -0
  1434. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_helper.svg +0 -0
  1435. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_helper_opened.svg +0 -0
  1436. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_hook.svg +0 -0
  1437. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_hook_opened.svg +0 -0
  1438. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_husky.svg +0 -0
  1439. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_husky_opened.svg +0 -0
  1440. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_idea.svg +0 -0
  1441. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_idea_opened.svg +0 -0
  1442. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_images.svg +0 -0
  1443. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_images_opened.svg +0 -0
  1444. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_include.svg +0 -0
  1445. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_include_opened.svg +0 -0
  1446. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_interfaces.svg +0 -0
  1447. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_interfaces_opened.svg +0 -0
  1448. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_ios.svg +0 -0
  1449. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_ios_opened.svg +0 -0
  1450. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_js.svg +0 -0
  1451. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_js_opened.svg +0 -0
  1452. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_json.svg +0 -0
  1453. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_json_official.svg +0 -0
  1454. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_json_official_opened.svg +0 -0
  1455. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_json_opened.svg +0 -0
  1456. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_kubernetes.svg +0 -0
  1457. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_kubernetes_opened.svg +0 -0
  1458. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_less.svg +0 -0
  1459. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_less_opened.svg +0 -0
  1460. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_library.svg +0 -0
  1461. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_library_opened.svg +0 -0
  1462. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_cypress.svg +0 -0
  1463. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_cypress_opened.svg +0 -0
  1464. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_electron.svg +0 -0
  1465. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_electron_opened.svg +0 -0
  1466. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_expo.svg +0 -0
  1467. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_expo_opened.svg +0 -0
  1468. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_fonts.svg +0 -0
  1469. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_fonts_opened.svg +0 -0
  1470. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_gradle.svg +0 -0
  1471. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_gradle_opened.svg +0 -0
  1472. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_meteor.svg +0 -0
  1473. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_meteor_opened.svg +0 -0
  1474. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_mypy.svg +0 -0
  1475. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_mypy_opened.svg +0 -0
  1476. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_mysql.svg +0 -0
  1477. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_mysql_opened.svg +0 -0
  1478. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_node.svg +0 -0
  1479. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_node_opened.svg +0 -0
  1480. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_redux.svg +0 -0
  1481. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_redux_opened.svg +0 -0
  1482. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_sass.svg +0 -0
  1483. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_light_sass_opened.svg +0 -0
  1484. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_linux.svg +0 -0
  1485. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_linux_opened.svg +0 -0
  1486. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_locale.svg +0 -0
  1487. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_locale_opened.svg +0 -0
  1488. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_log.svg +0 -0
  1489. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_log_opened.svg +0 -0
  1490. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_macos.svg +0 -0
  1491. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_macos_opened.svg +0 -0
  1492. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mariadb.svg +0 -0
  1493. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mariadb_opened.svg +0 -0
  1494. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_maven.svg +0 -0
  1495. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_maven_opened.svg +0 -0
  1496. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mediawiki.svg +0 -0
  1497. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mediawiki_opened.svg +0 -0
  1498. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_memcached.svg +0 -0
  1499. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_memcached_opened.svg +0 -0
  1500. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_meteor.svg +0 -0
  1501. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_meteor_opened.svg +0 -0
  1502. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_middleware.svg +0 -0
  1503. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_middleware_opened.svg +0 -0
  1504. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_minecraft.svg +0 -0
  1505. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_minecraft_opened.svg +0 -0
  1506. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_minikube.svg +0 -0
  1507. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_minikube_opened.svg +0 -0
  1508. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mjml.svg +0 -0
  1509. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mjml_opened.svg +0 -0
  1510. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mock.svg +0 -0
  1511. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mock_opened.svg +0 -0
  1512. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_model.svg +0 -0
  1513. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_model_opened.svg +0 -0
  1514. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_module.svg +0 -0
  1515. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_module_opened.svg +0 -0
  1516. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mojo.svg +0 -0
  1517. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mojo_opened.svg +0 -0
  1518. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mongodb.svg +0 -0
  1519. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mongodb_opened.svg +0 -0
  1520. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mypy.svg +0 -0
  1521. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mypy_opened.svg +0 -0
  1522. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mysql.svg +0 -0
  1523. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_mysql_opened.svg +0 -0
  1524. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_netlify.svg +0 -0
  1525. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_netlify_opened.svg +0 -0
  1526. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_next.svg +0 -0
  1527. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_next_opened.svg +0 -0
  1528. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_nginx.svg +0 -0
  1529. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_nginx_opened.svg +0 -0
  1530. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_nix.svg +0 -0
  1531. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_nix_opened.svg +0 -0
  1532. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_node.svg +0 -0
  1533. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_node_opened.svg +0 -0
  1534. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_notebooks.svg +0 -0
  1535. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_notebooks_opened.svg +0 -0
  1536. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_notification.svg +0 -0
  1537. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_notification_opened.svg +0 -0
  1538. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_nuget.svg +0 -0
  1539. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_nuget_opened.svg +0 -0
  1540. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_nuxt.svg +0 -0
  1541. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_nuxt_opened.svg +0 -0
  1542. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_package.svg +0 -0
  1543. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_package_opened.svg +0 -0
  1544. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_paket.svg +0 -0
  1545. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_paket_opened.svg +0 -0
  1546. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_php.svg +0 -0
  1547. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_php_opened.svg +0 -0
  1548. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_platformio.svg +0 -0
  1549. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_platformio_opened.svg +0 -0
  1550. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_plugin.svg +0 -0
  1551. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_plugin_opened.svg +0 -0
  1552. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_prisma.svg +0 -0
  1553. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_prisma_opened.svg +0 -0
  1554. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_private.svg +0 -0
  1555. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_private_opened.svg +0 -0
  1556. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_public.svg +0 -0
  1557. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_public_opened.svg +0 -0
  1558. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_pytest.svg +0 -0
  1559. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_pytest_opened.svg +0 -0
  1560. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_python.svg +0 -0
  1561. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_python_opened.svg +0 -0
  1562. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_ravendb.svg +0 -0
  1563. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_ravendb_opened.svg +0 -0
  1564. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_redis.svg +0 -0
  1565. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_redis_opened.svg +0 -0
  1566. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_redux.svg +0 -0
  1567. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_redux_opened.svg +0 -0
  1568. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_route.svg +0 -0
  1569. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_route_opened.svg +0 -0
  1570. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_sass.svg +0 -0
  1571. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_sass_opened.svg +0 -0
  1572. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_script.svg +0 -0
  1573. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_script_opened.svg +0 -0
  1574. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_seedkit.svg +0 -0
  1575. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_seedkit_opened.svg +0 -0
  1576. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_server.svg +0 -0
  1577. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_server_opened.svg +0 -0
  1578. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_services.svg +0 -0
  1579. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_services_opened.svg +0 -0
  1580. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_shared.svg +0 -0
  1581. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_shared_opened.svg +0 -0
  1582. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_snaplet.svg +0 -0
  1583. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_snaplet_opened.svg +0 -0
  1584. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_spin.svg +0 -0
  1585. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_spin_opened.svg +0 -0
  1586. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_src.svg +0 -0
  1587. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_src_opened.svg +0 -0
  1588. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_sso.svg +0 -0
  1589. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_sso_opened.svg +0 -0
  1590. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_story.svg +0 -0
  1591. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_story_opened.svg +0 -0
  1592. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_style.svg +0 -0
  1593. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_style_opened.svg +0 -0
  1594. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_supabase.svg +0 -0
  1595. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_supabase_opened.svg +0 -0
  1596. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_svelte.svg +0 -0
  1597. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_svelte_opened.svg +0 -0
  1598. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_tauri.svg +0 -0
  1599. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_tauri_opened.svg +0 -0
  1600. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_temp.svg +0 -0
  1601. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_temp_opened.svg +0 -0
  1602. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_template.svg +0 -0
  1603. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_template_opened.svg +0 -0
  1604. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_test.svg +0 -0
  1605. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_test_opened.svg +0 -0
  1606. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_theme.svg +0 -0
  1607. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_theme_opened.svg +0 -0
  1608. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_tools.svg +0 -0
  1609. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_tools_opened.svg +0 -0
  1610. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_travis.svg +0 -0
  1611. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_travis_opened.svg +0 -0
  1612. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_trunk.svg +0 -0
  1613. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_trunk_opened.svg +0 -0
  1614. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_turbo.svg +0 -0
  1615. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_turbo_opened.svg +0 -0
  1616. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_typescript.svg +0 -0
  1617. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_typescript_opened.svg +0 -0
  1618. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_typings.svg +0 -0
  1619. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_typings2.svg +0 -0
  1620. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_typings2_opened.svg +0 -0
  1621. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_typings_opened.svg +0 -0
  1622. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vagrant.svg +0 -0
  1623. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vagrant_opened.svg +0 -0
  1624. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vercel.svg +0 -0
  1625. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vercel_opened.svg +0 -0
  1626. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_video.svg +0 -0
  1627. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_video_opened.svg +0 -0
  1628. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_view.svg +0 -0
  1629. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_view_opened.svg +0 -0
  1630. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vs.svg +0 -0
  1631. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vs2.svg +0 -0
  1632. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vs2_opened.svg +0 -0
  1633. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vs_opened.svg +0 -0
  1634. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vscode.svg +0 -0
  1635. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vscode2.svg +0 -0
  1636. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vscode2_opened.svg +0 -0
  1637. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vscode3.svg +0 -0
  1638. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vscode3_opened.svg +0 -0
  1639. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vscode_opened.svg +0 -0
  1640. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vscode_test.svg +0 -0
  1641. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vscode_test2.svg +0 -0
  1642. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vscode_test2_opened.svg +0 -0
  1643. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vscode_test3.svg +0 -0
  1644. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vscode_test3_opened.svg +0 -0
  1645. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_vscode_test_opened.svg +0 -0
  1646. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_webpack.svg +0 -0
  1647. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_webpack_opened.svg +0 -0
  1648. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_windows.svg +0 -0
  1649. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_windows_opened.svg +0 -0
  1650. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_wit.svg +0 -0
  1651. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_wit_opened.svg +0 -0
  1652. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_www.svg +0 -0
  1653. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_www_opened.svg +0 -0
  1654. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_yarn.svg +0 -0
  1655. /package/static/{8ebf915 → b15e8c0}/file-icons/folder_type_yarn_opened.svg +0 -0
  1656. /package/static/{8ebf915 → b15e8c0}/fonts/FiraCode-VariableFont.ttf +0 -0
  1657. /package/static/{8ebf915 → b15e8c0}/icons/add.svg +0 -0
  1658. /package/static/{8ebf915 → b15e8c0}/icons/arrow-down.svg +0 -0
  1659. /package/static/{8ebf915 → b15e8c0}/icons/arrow-left.svg +0 -0
  1660. /package/static/{8ebf915 → b15e8c0}/icons/arrow-right.svg +0 -0
  1661. /package/static/{8ebf915 → b15e8c0}/icons/arrow-up.svg +0 -0
  1662. /package/static/{8ebf915 → b15e8c0}/icons/blank.svg +0 -0
  1663. /package/static/{8ebf915 → b15e8c0}/icons/book.svg +0 -0
  1664. /package/static/{8ebf915 → b15e8c0}/icons/case-sensitive.svg +0 -0
  1665. /package/static/{8ebf915 → b15e8c0}/icons/check.svg +0 -0
  1666. /package/static/{8ebf915 → b15e8c0}/icons/chevron-down.svg +0 -0
  1667. /package/static/{8ebf915 → b15e8c0}/icons/chevron-left.svg +0 -0
  1668. /package/static/{8ebf915 → b15e8c0}/icons/chevron-right.svg +0 -0
  1669. /package/static/{8ebf915 → b15e8c0}/icons/chevron-up.svg +0 -0
  1670. /package/static/{8ebf915 → b15e8c0}/icons/chrome-close.svg +0 -0
  1671. /package/static/{8ebf915 → b15e8c0}/icons/chrome-maximize.svg +0 -0
  1672. /package/static/{8ebf915 → b15e8c0}/icons/chrome-minimize.svg +0 -0
  1673. /package/static/{8ebf915 → b15e8c0}/icons/chrome-restore.svg +0 -0
  1674. /package/static/{8ebf915 → b15e8c0}/icons/circle-filled.svg +0 -0
  1675. /package/static/{8ebf915 → b15e8c0}/icons/clear-all.svg +0 -0
  1676. /package/static/{8ebf915 → b15e8c0}/icons/close.svg +0 -0
  1677. /package/static/{8ebf915 → b15e8c0}/icons/cloud.svg +0 -0
  1678. /package/static/{8ebf915 → b15e8c0}/icons/collapse-all.svg +0 -0
  1679. /package/static/{8ebf915 → b15e8c0}/icons/debug-all.svg +0 -0
  1680. /package/static/{8ebf915 → b15e8c0}/icons/debug-alt-2.svg +0 -0
  1681. /package/static/{8ebf915 → b15e8c0}/icons/debug-alt-small.svg +0 -0
  1682. /package/static/{8ebf915 → b15e8c0}/icons/debug-alt.svg +0 -0
  1683. /package/static/{8ebf915 → b15e8c0}/icons/debug-breakpoint-conditional-unverified.svg +0 -0
  1684. /package/static/{8ebf915 → b15e8c0}/icons/debug-breakpoint-conditional.svg +0 -0
  1685. /package/static/{8ebf915 → b15e8c0}/icons/debug-breakpoint-data-unverified.svg +0 -0
  1686. /package/static/{8ebf915 → b15e8c0}/icons/debug-breakpoint-data.svg +0 -0
  1687. /package/static/{8ebf915 → b15e8c0}/icons/debug-breakpoint-function-unverified.svg +0 -0
  1688. /package/static/{8ebf915 → b15e8c0}/icons/debug-breakpoint-function.svg +0 -0
  1689. /package/static/{8ebf915 → b15e8c0}/icons/debug-breakpoint-log-unverified.svg +0 -0
  1690. /package/static/{8ebf915 → b15e8c0}/icons/debug-breakpoint-log.svg +0 -0
  1691. /package/static/{8ebf915 → b15e8c0}/icons/debug-breakpoint-unsupported.svg +0 -0
  1692. /package/static/{8ebf915 → b15e8c0}/icons/debug-console.svg +0 -0
  1693. /package/static/{8ebf915 → b15e8c0}/icons/debug-continue-small.svg +0 -0
  1694. /package/static/{8ebf915 → b15e8c0}/icons/debug-continue.svg +0 -0
  1695. /package/static/{8ebf915 → b15e8c0}/icons/debug-coverage.svg +0 -0
  1696. /package/static/{8ebf915 → b15e8c0}/icons/debug-disconnect.svg +0 -0
  1697. /package/static/{8ebf915 → b15e8c0}/icons/debug-line-by-line.svg +0 -0
  1698. /package/static/{8ebf915 → b15e8c0}/icons/debug-pause.svg +0 -0
  1699. /package/static/{8ebf915 → b15e8c0}/icons/debug-rerun.svg +0 -0
  1700. /package/static/{8ebf915 → b15e8c0}/icons/debug-restart-frame.svg +0 -0
  1701. /package/static/{8ebf915 → b15e8c0}/icons/debug-restart.svg +0 -0
  1702. /package/static/{8ebf915 → b15e8c0}/icons/debug-reverse-continue.svg +0 -0
  1703. /package/static/{8ebf915 → b15e8c0}/icons/debug-stackframe-active.svg +0 -0
  1704. /package/static/{8ebf915 → b15e8c0}/icons/debug-stackframe.svg +0 -0
  1705. /package/static/{8ebf915 → b15e8c0}/icons/debug-start.svg +0 -0
  1706. /package/static/{8ebf915 → b15e8c0}/icons/debug-step-back.svg +0 -0
  1707. /package/static/{8ebf915 → b15e8c0}/icons/debug-step-into.svg +0 -0
  1708. /package/static/{8ebf915 → b15e8c0}/icons/debug-step-out.svg +0 -0
  1709. /package/static/{8ebf915 → b15e8c0}/icons/debug-step-over.svg +0 -0
  1710. /package/static/{8ebf915 → b15e8c0}/icons/debug-stop.svg +0 -0
  1711. /package/static/{8ebf915 → b15e8c0}/icons/debug.svg +0 -0
  1712. /package/static/{8ebf915 → b15e8c0}/icons/discard.svg +0 -0
  1713. /package/static/{8ebf915 → b15e8c0}/icons/edit.svg +0 -0
  1714. /package/static/{8ebf915 → b15e8c0}/icons/ellipsis.svg +0 -0
  1715. /package/static/{8ebf915 → b15e8c0}/icons/error.svg +0 -0
  1716. /package/static/{8ebf915 → b15e8c0}/icons/exclude.svg +0 -0
  1717. /package/static/{8ebf915 → b15e8c0}/icons/extensionDefaultIcon.png +0 -0
  1718. /package/static/{8ebf915 → b15e8c0}/icons/extensions.svg +0 -0
  1719. /package/static/{8ebf915 → b15e8c0}/icons/files.svg +0 -0
  1720. /package/static/{8ebf915 → b15e8c0}/icons/filter.svg +0 -0
  1721. /package/static/{8ebf915 → b15e8c0}/icons/go-to-file.svg +0 -0
  1722. /package/static/{8ebf915 → b15e8c0}/icons/icon-close.svg +0 -0
  1723. /package/static/{8ebf915 → b15e8c0}/icons/icon-source-control.svg +0 -0
  1724. /package/static/{8ebf915 → b15e8c0}/icons/icon-sync.svg +0 -0
  1725. /package/static/{8ebf915 → b15e8c0}/icons/icon.png +0 -0
  1726. /package/static/{8ebf915 → b15e8c0}/icons/icon.svg +0 -0
  1727. /package/static/{8ebf915 → b15e8c0}/icons/info.svg +0 -0
  1728. /package/static/{8ebf915 → b15e8c0}/icons/language-icon.svg +0 -0
  1729. /package/static/{8ebf915 → b15e8c0}/icons/link-external.svg +0 -0
  1730. /package/static/{8ebf915 → b15e8c0}/icons/list-flat.svg +0 -0
  1731. /package/static/{8ebf915 → b15e8c0}/icons/list-tree.svg +0 -0
  1732. /package/static/{8ebf915 → b15e8c0}/icons/new-file.svg +0 -0
  1733. /package/static/{8ebf915 → b15e8c0}/icons/new-folder.svg +0 -0
  1734. /package/static/{8ebf915 → b15e8c0}/icons/newline.svg +0 -0
  1735. /package/static/{8ebf915 → b15e8c0}/icons/open-preview.svg +0 -0
  1736. /package/static/{8ebf915 → b15e8c0}/icons/play.svg +0 -0
  1737. /package/static/{8ebf915 → b15e8c0}/icons/preserve-case.svg +0 -0
  1738. /package/static/{8ebf915 → b15e8c0}/icons/progress.svg +0 -0
  1739. /package/static/{8ebf915 → b15e8c0}/icons/pwa-icon-192.png +0 -0
  1740. /package/static/{8ebf915 → b15e8c0}/icons/pwa-icon-512.png +0 -0
  1741. /package/static/{8ebf915 → b15e8c0}/icons/record-keys.svg +0 -0
  1742. /package/static/{8ebf915 → b15e8c0}/icons/refresh.svg +0 -0
  1743. /package/static/{8ebf915 → b15e8c0}/icons/regex.svg +0 -0
  1744. /package/static/{8ebf915 → b15e8c0}/icons/remove.svg +0 -0
  1745. /package/static/{8ebf915 → b15e8c0}/icons/replace-all.svg +0 -0
  1746. /package/static/{8ebf915 → b15e8c0}/icons/replace.svg +0 -0
  1747. /package/static/{8ebf915 → b15e8c0}/icons/run-all.svg +0 -0
  1748. /package/static/{8ebf915 → b15e8c0}/icons/search.svg +0 -0
  1749. /package/static/{8ebf915 → b15e8c0}/icons/settings-gear.svg +0 -0
  1750. /package/static/{8ebf915 → b15e8c0}/icons/sort-precedence.svg +0 -0
  1751. /package/static/{8ebf915 → b15e8c0}/icons/source-control.svg +0 -0
  1752. /package/static/{8ebf915 → b15e8c0}/icons/split-horizontal.svg +0 -0
  1753. /package/static/{8ebf915 → b15e8c0}/icons/squiggly-error.svg +0 -0
  1754. /package/static/{8ebf915 → b15e8c0}/icons/squiggly-warning.svg +0 -0
  1755. /package/static/{8ebf915 → b15e8c0}/icons/symbol-array.svg +0 -0
  1756. /package/static/{8ebf915 → b15e8c0}/icons/symbol-boolean.svg +0 -0
  1757. /package/static/{8ebf915 → b15e8c0}/icons/symbol-class.svg +0 -0
  1758. /package/static/{8ebf915 → b15e8c0}/icons/symbol-color.svg +0 -0
  1759. /package/static/{8ebf915 → b15e8c0}/icons/symbol-constant.svg +0 -0
  1760. /package/static/{8ebf915 → b15e8c0}/icons/symbol-enum-member.svg +0 -0
  1761. /package/static/{8ebf915 → b15e8c0}/icons/symbol-enum.svg +0 -0
  1762. /package/static/{8ebf915 → b15e8c0}/icons/symbol-event.svg +0 -0
  1763. /package/static/{8ebf915 → b15e8c0}/icons/symbol-field.svg +0 -0
  1764. /package/static/{8ebf915 → b15e8c0}/icons/symbol-file.svg +0 -0
  1765. /package/static/{8ebf915 → b15e8c0}/icons/symbol-interface.svg +0 -0
  1766. /package/static/{8ebf915 → b15e8c0}/icons/symbol-key.svg +0 -0
  1767. /package/static/{8ebf915 → b15e8c0}/icons/symbol-keyword.svg +0 -0
  1768. /package/static/{8ebf915 → b15e8c0}/icons/symbol-method.svg +0 -0
  1769. /package/static/{8ebf915 → b15e8c0}/icons/symbol-misc.svg +0 -0
  1770. /package/static/{8ebf915 → b15e8c0}/icons/symbol-namespace.svg +0 -0
  1771. /package/static/{8ebf915 → b15e8c0}/icons/symbol-numeric.svg +0 -0
  1772. /package/static/{8ebf915 → b15e8c0}/icons/symbol-operator.svg +0 -0
  1773. /package/static/{8ebf915 → b15e8c0}/icons/symbol-parameter.svg +0 -0
  1774. /package/static/{8ebf915 → b15e8c0}/icons/symbol-property.svg +0 -0
  1775. /package/static/{8ebf915 → b15e8c0}/icons/symbol-ruler.svg +0 -0
  1776. /package/static/{8ebf915 → b15e8c0}/icons/symbol-snippet.svg +0 -0
  1777. /package/static/{8ebf915 → b15e8c0}/icons/symbol-string.svg +0 -0
  1778. /package/static/{8ebf915 → b15e8c0}/icons/symbol-structure.svg +0 -0
  1779. /package/static/{8ebf915 → b15e8c0}/icons/symbol-variable.svg +0 -0
  1780. /package/static/{8ebf915 → b15e8c0}/icons/tag.svg +0 -0
  1781. /package/static/{8ebf915 → b15e8c0}/icons/terminal-bash.svg +0 -0
  1782. /package/static/{8ebf915 → b15e8c0}/icons/terminal.svg +0 -0
  1783. /package/static/{8ebf915 → b15e8c0}/icons/theme-icon.png +0 -0
  1784. /package/static/{8ebf915 → b15e8c0}/icons/trash.svg +0 -0
  1785. /package/static/{8ebf915 → b15e8c0}/icons/triangle-down.svg +0 -0
  1786. /package/static/{8ebf915 → b15e8c0}/icons/triangle-left.svg +0 -0
  1787. /package/static/{8ebf915 → b15e8c0}/icons/triangle-right.svg +0 -0
  1788. /package/static/{8ebf915 → b15e8c0}/icons/triangle-up.svg +0 -0
  1789. /package/static/{8ebf915 → b15e8c0}/icons/warning.svg +0 -0
  1790. /package/static/{8ebf915 → b15e8c0}/icons/whole-word.svg +0 -0
  1791. /package/static/{8ebf915 → b15e8c0}/icons/zoom-in.svg +0 -0
  1792. /package/static/{8ebf915 → b15e8c0}/icons/zoom-out.svg +0 -0
  1793. /package/static/{8ebf915 → b15e8c0}/js/babel-parser.js +0 -0
  1794. /package/static/{8ebf915 → b15e8c0}/js/blob-util.js +0 -0
  1795. /package/static/{8ebf915 → b15e8c0}/js/ky.js +0 -0
  1796. /package/static/{8ebf915 → b15e8c0}/js/lvce-editor-import-script.js +0 -0
  1797. /package/static/{8ebf915 → b15e8c0}/js/lvce-editor-ipc.js +0 -0
  1798. /package/static/{8ebf915 → b15e8c0}/js/lvce-editor-verror.js +0 -0
  1799. /package/static/{8ebf915 → b15e8c0}/js/p-min-delay.js +0 -0
  1800. /package/static/{8ebf915 → b15e8c0}/js/pretty-bytes.js +0 -0
  1801. /package/static/{8ebf915 → b15e8c0}/js/preview-injected.js +0 -0
  1802. /package/static/{8ebf915 → b15e8c0}/js/yoctodelay.js +0 -0
  1803. /package/static/{8ebf915 → b15e8c0}/lib-css/termterm.css +0 -0
  1804. /package/static/{8ebf915 → b15e8c0}/packages/color-picker-worker/dist/colorPickerWorkerMain.js +0 -0
  1805. /package/static/{8ebf915 → b15e8c0}/packages/diff-worker/dist/diffWorkerMain.js +0 -0
  1806. /package/static/{8ebf915 → b15e8c0}/packages/embeds-worker/dist/embedsWorkerMain.js +0 -0
  1807. /package/static/{8ebf915 → b15e8c0}/packages/extension-detail-view-worker/dist/extensionDetailViewWorkerMain.js +0 -0
  1808. /package/static/{8ebf915 → b15e8c0}/packages/extension-host-sub-worker/dist/extensionHostSubWorkerMain.js +0 -0
  1809. /package/static/{8ebf915 → b15e8c0}/packages/extension-search-view-worker/dist/extensionSearchViewWorkerMain.js +0 -0
  1810. /package/static/{8ebf915 → b15e8c0}/packages/file-search-worker/dist/fileSearchWorkerMain.js +0 -0
  1811. /package/static/{8ebf915 → b15e8c0}/packages/iframe-inspector/dist/iframeInspectorWorkerMain.js +0 -0
  1812. /package/static/{8ebf915 → b15e8c0}/packages/iframe-worker/dist/iframeWorkerMain.js +0 -0
  1813. /package/static/{8ebf915 → b15e8c0}/packages/keybindings-view-worker/dist/keyBindingsViewWorkerMain.js +0 -0
  1814. /package/static/{8ebf915 → b15e8c0}/packages/markdown-worker/dist/markdownWorkerMain.js +0 -0
  1815. /package/static/{8ebf915 → b15e8c0}/packages/rename-worker/dist/renameWorkerMain.js +0 -0
  1816. /package/static/{8ebf915 → b15e8c0}/packages/renderer-process/LICENSE +0 -0
  1817. /package/static/{8ebf915 → b15e8c0}/packages/renderer-process/README.md +0 -0
  1818. /package/static/{8ebf915 → b15e8c0}/packages/renderer-process/package.json +0 -0
  1819. /package/static/{8ebf915 → b15e8c0}/packages/source-control-worker/dist/sourceControlWorkerMain.js +0 -0
  1820. /package/static/{8ebf915 → b15e8c0}/packages/terminal-worker/dist/terminalWorkerMain.js +0 -0
  1821. /package/static/{8ebf915 → b15e8c0}/packages/text-search-worker/dist/textSearchWorkerMain.js +0 -0
  1822. /package/static/{8ebf915 → b15e8c0}/packages/title-bar-worker/dist/titleBarWorkerMain.js +0 -0
  1823. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.cpp +0 -0
  1824. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.css +0 -0
  1825. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.csv +0 -0
  1826. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.dart +0 -0
  1827. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.env +0 -0
  1828. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.ex +0 -0
  1829. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.html +0 -0
  1830. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.java +0 -0
  1831. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.jl +0 -0
  1832. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.js +0 -0
  1833. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.json +0 -0
  1834. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.kt +0 -0
  1835. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.pl +0 -0
  1836. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.py +0 -0
  1837. /package/static/{8ebf915 → b15e8c0}/playground/languages/index.ts +0 -0
  1838. /package/static/{8ebf915 → b15e8c0}/playground/languages/scrolling.txt +0 -0
  1839. /package/static/{8ebf915 → b15e8c0}/playground/languages/tsconfig.json +0 -0
  1840. /package/static/{8ebf915 → b15e8c0}/playground/sample-folder/a.txt +0 -0
  1841. /package/static/{8ebf915 → b15e8c0}/playground/sample-folder/b.txt +0 -0
  1842. /package/static/{8ebf915 → b15e8c0}/playground/sample-folder/c.txt +0 -0
@@ -1,1539 +1,1660 @@
1
- const normalizeLine = line => {
2
- if (line.startsWith('Error: ')) {
3
- return line.slice('Error: '.length);
4
- }
5
- if (line.startsWith('VError: ')) {
6
- return line.slice('VError: '.length);
7
- }
8
- return line;
9
- };
10
- const getCombinedMessage = (error, message) => {
11
- const stringifiedError = normalizeLine(`${error}`);
12
- if (message) {
13
- return `${message}: ${stringifiedError}`;
14
- }
15
- return stringifiedError;
16
- };
17
- const NewLine$3 = '\n';
18
- const getNewLineIndex$2 = (string, startIndex = undefined) => {
19
- return string.indexOf(NewLine$3, startIndex);
20
- };
21
- const mergeStacks = (parent, child) => {
22
- if (!child) {
23
- return parent;
24
- }
25
- const parentNewLineIndex = getNewLineIndex$2(parent);
26
- const childNewLineIndex = getNewLineIndex$2(child);
27
- if (childNewLineIndex === -1) {
28
- return parent;
29
- }
30
- const parentFirstLine = parent.slice(0, parentNewLineIndex);
31
- const childRest = child.slice(childNewLineIndex);
32
- const childFirstLine = normalizeLine(child.slice(0, childNewLineIndex));
33
- if (parentFirstLine.includes(childFirstLine)) {
34
- return parentFirstLine + childRest;
35
- }
36
- return child;
37
- };
38
- class VError extends Error {
39
- constructor(error, message) {
40
- const combinedMessage = getCombinedMessage(error, message);
41
- super(combinedMessage);
42
- this.name = 'VError';
43
- if (error instanceof Error) {
44
- this.stack = mergeStacks(this.stack, error.stack);
45
- }
46
- if (error.codeFrame) {
47
- // @ts-ignore
48
- this.codeFrame = error.codeFrame;
49
- }
50
- if (error.code) {
51
- // @ts-ignore
52
- this.code = error.code;
53
- }
1
+ class HTTPError extends Error {
2
+ response;
3
+ request;
4
+ options;
5
+ constructor(response, request, options) {
6
+ const code = response.status || response.status === 0 ? response.status : '';
7
+ const title = response.statusText || '';
8
+ const status = `${code} ${title}`.trim();
9
+ const reason = status ? `status code ${status}` : 'an unknown error';
10
+ super(`Request failed with ${reason}: ${request.method} ${request.url}`);
11
+ this.name = 'HTTPError';
12
+ this.response = response;
13
+ this.request = request;
14
+ this.options = options;
54
15
  }
55
16
  }
56
17
 
57
- class AssertionError extends Error {
58
- constructor(message) {
59
- super(message);
60
- this.name = 'AssertionError';
18
+ class TimeoutError extends Error {
19
+ request;
20
+ constructor(request) {
21
+ super(`Request timed out: ${request.method} ${request.url}`);
22
+ this.name = 'TimeoutError';
23
+ this.request = request;
61
24
  }
62
25
  }
63
- const getType$1 = value => {
64
- switch (typeof value) {
65
- case 'number':
66
- return 'number';
67
- case 'function':
68
- return 'function';
69
- case 'string':
70
- return 'string';
71
- case 'object':
72
- if (value === null) {
73
- return 'null';
74
- }
75
- if (Array.isArray(value)) {
76
- return 'array';
26
+
27
+ const supportsRequestStreams = (() => {
28
+ let duplexAccessed = false;
29
+ let hasContentType = false;
30
+ const supportsReadableStream = typeof globalThis.ReadableStream === 'function';
31
+ const supportsRequest = typeof globalThis.Request === 'function';
32
+ if (supportsReadableStream && supportsRequest) {
33
+ try {
34
+ hasContentType = new globalThis.Request('https://empty.invalid', {
35
+ body: new globalThis.ReadableStream(),
36
+ method: 'POST',
37
+ // @ts-expect-error - Types are outdated.
38
+ get duplex() {
39
+ duplexAccessed = true;
40
+ return 'half';
41
+ }
42
+ }).headers.has('Content-Type');
43
+ } catch (error) {
44
+ // QQBrowser on iOS throws "unsupported BodyInit type" error (see issue #581)
45
+ if (error instanceof Error && error.message === 'unsupported BodyInit type') {
46
+ return false;
77
47
  }
78
- return 'object';
79
- case 'boolean':
80
- return 'boolean';
81
- default:
82
- return 'unknown';
83
- }
84
- };
85
- const object = value => {
86
- const type = getType$1(value);
87
- if (type !== 'object') {
88
- throw new AssertionError('expected value to be of type object');
89
- }
90
- };
91
- const number = value => {
92
- const type = getType$1(value);
93
- if (type !== 'number') {
94
- throw new AssertionError('expected value to be of type number');
48
+ throw error;
49
+ }
95
50
  }
51
+ return duplexAccessed && !hasContentType;
52
+ })();
53
+ const supportsAbortController = typeof globalThis.AbortController === 'function';
54
+ const supportsResponseStreams = typeof globalThis.ReadableStream === 'function';
55
+ const supportsFormData = typeof globalThis.FormData === 'function';
56
+ const requestMethods = ['get', 'post', 'put', 'patch', 'head', 'delete'];
57
+ const responseTypes = {
58
+ json: 'application/json',
59
+ text: 'text/*',
60
+ formData: 'multipart/form-data',
61
+ arrayBuffer: '*/*',
62
+ blob: '*/*'
96
63
  };
97
- const array = value => {
98
- const type = getType$1(value);
99
- if (type !== 'array') {
100
- throw new AssertionError('expected value to be of type array');
101
- }
64
+ // The maximum value of a 32bit int (see issue #117)
65
+ const maxSafeTimeout = 2_147_483_647;
66
+ // Size in bytes of a typical form boundary, used to help estimate upload size
67
+ const usualFormBoundarySize = new TextEncoder().encode('------WebKitFormBoundaryaxpyiPgbbPti10Rw').length;
68
+ const stop = Symbol('stop');
69
+ const kyOptionKeys = {
70
+ json: true,
71
+ parseJson: true,
72
+ stringifyJson: true,
73
+ searchParams: true,
74
+ prefixUrl: true,
75
+ retry: true,
76
+ timeout: true,
77
+ hooks: true,
78
+ throwHttpErrors: true,
79
+ onDownloadProgress: true,
80
+ onUploadProgress: true,
81
+ fetch: true
102
82
  };
103
- const string = value => {
104
- const type = getType$1(value);
105
- if (type !== 'string') {
106
- throw new AssertionError('expected value to be of type string');
107
- }
83
+ const requestOptionsRegistry = {
84
+ method: true,
85
+ headers: true,
86
+ body: true,
87
+ mode: true,
88
+ credentials: true,
89
+ cache: true,
90
+ redirect: true,
91
+ referrer: true,
92
+ referrerPolicy: true,
93
+ integrity: true,
94
+ keepalive: true,
95
+ signal: true,
96
+ window: true,
97
+ dispatcher: true,
98
+ duplex: true,
99
+ priority: true
108
100
  };
109
101
 
110
- const isMessagePort = value => {
111
- return value && value instanceof MessagePort;
112
- };
113
- const isMessagePortMain = value => {
114
- return value && value.constructor && value.constructor.name === 'MessagePortMain';
115
- };
116
- const isOffscreenCanvas = value => {
117
- return typeof OffscreenCanvas !== 'undefined' && value instanceof OffscreenCanvas;
118
- };
119
- const isInstanceOf = (value, constructorName) => {
120
- return value?.constructor?.name === constructorName;
121
- };
122
- const isSocket = value => {
123
- return isInstanceOf(value, 'Socket');
124
- };
125
- const transferrables = [isMessagePort, isMessagePortMain, isOffscreenCanvas, isSocket];
126
- const isTransferrable = value => {
127
- for (const fn of transferrables) {
128
- if (fn(value)) {
129
- return true;
102
+ // eslint-disable-next-line @typescript-eslint/ban-types
103
+ const getBodySize = body => {
104
+ if (!body) {
105
+ return 0;
106
+ }
107
+ if (body instanceof FormData) {
108
+ // This is an approximation, as FormData size calculation is not straightforward
109
+ let size = 0;
110
+ for (const [key, value] of body) {
111
+ size += usualFormBoundarySize;
112
+ size += new TextEncoder().encode(`Content-Disposition: form-data; name="${key}"`).length;
113
+ size += typeof value === 'string' ? new TextEncoder().encode(value).length : value.size;
130
114
  }
115
+ return size;
131
116
  }
132
- return false;
133
- };
134
- const walkValue = (value, transferrables, isTransferrable) => {
135
- if (!value) {
136
- return;
117
+ if (body instanceof Blob) {
118
+ return body.size;
137
119
  }
138
- if (isTransferrable(value)) {
139
- transferrables.push(value);
140
- return;
120
+ if (body instanceof ArrayBuffer) {
121
+ return body.byteLength;
141
122
  }
142
- if (Array.isArray(value)) {
143
- for (const item of value) {
144
- walkValue(item, transferrables, isTransferrable);
145
- }
146
- return;
123
+ if (typeof body === 'string') {
124
+ return new TextEncoder().encode(body).length;
147
125
  }
148
- if (typeof value === 'object') {
149
- for (const property of Object.values(value)) {
150
- walkValue(property, transferrables, isTransferrable);
126
+ if (body instanceof URLSearchParams) {
127
+ return new TextEncoder().encode(body.toString()).length;
128
+ }
129
+ if ('byteLength' in body) {
130
+ return body.byteLength;
131
+ }
132
+ if (typeof body === 'object' && body !== null) {
133
+ try {
134
+ const jsonString = JSON.stringify(body);
135
+ return new TextEncoder().encode(jsonString).length;
136
+ } catch {
137
+ return 0;
151
138
  }
152
- return;
153
139
  }
140
+ return 0; // Default case, unable to determine size
154
141
  };
155
- const getTransferrables = value => {
156
- const transferrables = [];
157
- walkValue(value, transferrables, isTransferrable);
158
- return transferrables;
142
+ const streamResponse = (response, onDownloadProgress) => {
143
+ const totalBytes = Number(response.headers.get('content-length')) || 0;
144
+ let transferredBytes = 0;
145
+ if (response.status === 204) {
146
+ if (onDownloadProgress) {
147
+ onDownloadProgress({
148
+ percent: 1,
149
+ totalBytes,
150
+ transferredBytes
151
+ }, new Uint8Array());
152
+ }
153
+ return new Response(null, {
154
+ status: response.status,
155
+ statusText: response.statusText,
156
+ headers: response.headers
157
+ });
158
+ }
159
+ return new Response(new ReadableStream({
160
+ async start(controller) {
161
+ const reader = response.body.getReader();
162
+ if (onDownloadProgress) {
163
+ onDownloadProgress({
164
+ percent: 0,
165
+ transferredBytes: 0,
166
+ totalBytes
167
+ }, new Uint8Array());
168
+ }
169
+ async function read() {
170
+ const {
171
+ done,
172
+ value
173
+ } = await reader.read();
174
+ if (done) {
175
+ controller.close();
176
+ return;
177
+ }
178
+ if (onDownloadProgress) {
179
+ transferredBytes += value.byteLength;
180
+ const percent = totalBytes === 0 ? 0 : transferredBytes / totalBytes;
181
+ onDownloadProgress({
182
+ percent,
183
+ transferredBytes,
184
+ totalBytes
185
+ }, value);
186
+ }
187
+ controller.enqueue(value);
188
+ await read();
189
+ }
190
+ await read();
191
+ }
192
+ }), {
193
+ status: response.status,
194
+ statusText: response.statusText,
195
+ headers: response.headers
196
+ });
159
197
  };
160
- const attachEvents = that => {
161
- const handleMessage = (...args) => {
162
- const data = that.getData(...args);
163
- that.dispatchEvent(new MessageEvent('message', {
164
- data
165
- }));
166
- };
167
- that.onMessage(handleMessage);
168
- const handleClose = event => {
169
- that.dispatchEvent(new Event('close'));
170
- };
171
- that.onClose(handleClose);
198
+ const streamRequest = (request, onUploadProgress) => {
199
+ const totalBytes = getBodySize(request.body);
200
+ let transferredBytes = 0;
201
+ return new Request(request, {
202
+ // @ts-expect-error - Types are outdated.
203
+ duplex: 'half',
204
+ body: new ReadableStream({
205
+ async start(controller) {
206
+ const reader = request.body instanceof ReadableStream ? request.body.getReader() : new Response('').body.getReader();
207
+ async function read() {
208
+ const {
209
+ done,
210
+ value
211
+ } = await reader.read();
212
+ if (done) {
213
+ // Ensure 100% progress is reported when the upload is complete
214
+ if (onUploadProgress) {
215
+ onUploadProgress({
216
+ percent: 1,
217
+ transferredBytes,
218
+ totalBytes: Math.max(totalBytes, transferredBytes)
219
+ }, new Uint8Array());
220
+ }
221
+ controller.close();
222
+ return;
223
+ }
224
+ transferredBytes += value.byteLength;
225
+ let percent = totalBytes === 0 ? 0 : transferredBytes / totalBytes;
226
+ if (totalBytes < transferredBytes || percent === 1) {
227
+ percent = 0.99;
228
+ }
229
+ if (onUploadProgress) {
230
+ onUploadProgress({
231
+ percent: Number(percent.toFixed(2)),
232
+ transferredBytes,
233
+ totalBytes
234
+ }, value);
235
+ }
236
+ controller.enqueue(value);
237
+ await read();
238
+ }
239
+ await read();
240
+ }
241
+ })
242
+ });
172
243
  };
173
- class Ipc extends EventTarget {
174
- constructor(rawIpc) {
175
- super();
176
- this._rawIpc = rawIpc;
177
- attachEvents(this);
244
+
245
+ // eslint-disable-next-line @typescript-eslint/ban-types
246
+ const isObject = value => value !== null && typeof value === 'object';
247
+
248
+ const validateAndMerge = (...sources) => {
249
+ for (const source of sources) {
250
+ if ((!isObject(source) || Array.isArray(source)) && source !== undefined) {
251
+ throw new TypeError('The `options` argument must be an object');
252
+ }
253
+ }
254
+ return deepMerge({}, ...sources);
255
+ };
256
+ const mergeHeaders = (source1 = {}, source2 = {}) => {
257
+ const result = new globalThis.Headers(source1);
258
+ const isHeadersInstance = source2 instanceof globalThis.Headers;
259
+ const source = new globalThis.Headers(source2);
260
+ for (const [key, value] of source.entries()) {
261
+ if (isHeadersInstance && value === 'undefined' || value === undefined) {
262
+ result.delete(key);
263
+ } else {
264
+ result.set(key, value);
265
+ }
178
266
  }
267
+ return result;
268
+ };
269
+ function newHookValue(original, incoming, property) {
270
+ return Object.hasOwn(incoming, property) && incoming[property] === undefined ? [] : deepMerge(original[property] ?? [], incoming[property] ?? []);
179
271
  }
180
- const E_INCOMPATIBLE_NATIVE_MODULE = 'E_INCOMPATIBLE_NATIVE_MODULE';
181
- const E_MODULES_NOT_SUPPORTED_IN_ELECTRON = 'E_MODULES_NOT_SUPPORTED_IN_ELECTRON';
182
- const ERR_MODULE_NOT_FOUND = 'ERR_MODULE_NOT_FOUND';
183
- const NewLine$2 = '\n';
184
- const joinLines$2 = lines => {
185
- return lines.join(NewLine$2);
272
+ const mergeHooks = (original = {}, incoming = {}) => ({
273
+ beforeRequest: newHookValue(original, incoming, 'beforeRequest'),
274
+ beforeRetry: newHookValue(original, incoming, 'beforeRetry'),
275
+ afterResponse: newHookValue(original, incoming, 'afterResponse'),
276
+ beforeError: newHookValue(original, incoming, 'beforeError')
277
+ });
278
+ // TODO: Make this strongly-typed (no `any`).
279
+ const deepMerge = (...sources) => {
280
+ let returnValue = {};
281
+ let headers = {};
282
+ let hooks = {};
283
+ for (const source of sources) {
284
+ if (Array.isArray(source)) {
285
+ if (!Array.isArray(returnValue)) {
286
+ returnValue = [];
287
+ }
288
+ returnValue = [...returnValue, ...source];
289
+ } else if (isObject(source)) {
290
+ for (let [key, value] of Object.entries(source)) {
291
+ if (isObject(value) && key in returnValue) {
292
+ value = deepMerge(returnValue[key], value);
293
+ }
294
+ returnValue = {
295
+ ...returnValue,
296
+ [key]: value
297
+ };
298
+ }
299
+ if (isObject(source.hooks)) {
300
+ hooks = mergeHooks(hooks, source.hooks);
301
+ returnValue.hooks = hooks;
302
+ }
303
+ if (isObject(source.headers)) {
304
+ headers = mergeHeaders(headers, source.headers);
305
+ returnValue.headers = headers;
306
+ }
307
+ }
308
+ }
309
+ return returnValue;
186
310
  };
187
- const RE_AT$1 = /^\s+at/;
188
- const RE_AT_PROMISE_INDEX$1 = /^\s*at async Promise.all \(index \d+\)$/;
189
- const isNormalStackLine$1 = line => {
190
- return RE_AT$1.test(line) && !RE_AT_PROMISE_INDEX$1.test(line);
311
+
312
+ const normalizeRequestMethod = input => requestMethods.includes(input) ? input.toUpperCase() : input;
313
+ const retryMethods = ['get', 'put', 'head', 'delete', 'options', 'trace'];
314
+ const retryStatusCodes = [408, 413, 429, 500, 502, 503, 504];
315
+ const retryAfterStatusCodes = [413, 429, 503];
316
+ const defaultRetryOptions = {
317
+ limit: 2,
318
+ methods: retryMethods,
319
+ statusCodes: retryStatusCodes,
320
+ afterStatusCodes: retryAfterStatusCodes,
321
+ maxRetryAfter: Number.POSITIVE_INFINITY,
322
+ backoffLimit: Number.POSITIVE_INFINITY,
323
+ delay: attemptCount => 0.3 * 2 ** (attemptCount - 1) * 1000
191
324
  };
192
- const getDetails$1 = lines => {
193
- const index = lines.findIndex(isNormalStackLine$1);
194
- if (index === -1) {
325
+ const normalizeRetryOptions = (retry = {}) => {
326
+ if (typeof retry === 'number') {
195
327
  return {
196
- actualMessage: joinLines$2(lines),
197
- rest: []
328
+ ...defaultRetryOptions,
329
+ limit: retry
198
330
  };
199
331
  }
200
- let lastIndex = index - 1;
201
- while (++lastIndex < lines.length) {
202
- if (!isNormalStackLine$1(lines[lastIndex])) {
203
- break;
204
- }
332
+ if (retry.methods && !Array.isArray(retry.methods)) {
333
+ throw new Error('retry.methods must be an array');
334
+ }
335
+ if (retry.statusCodes && !Array.isArray(retry.statusCodes)) {
336
+ throw new Error('retry.statusCodes must be an array');
205
337
  }
206
338
  return {
207
- actualMessage: lines[index - 1],
208
- rest: lines.slice(index, lastIndex)
339
+ ...defaultRetryOptions,
340
+ ...retry
209
341
  };
210
342
  };
211
- const splitLines$2 = lines => {
212
- return lines.split(NewLine$2);
213
- };
214
- const RE_MESSAGE_CODE_BLOCK_START = /^Error: The module '.*'$/;
215
- const RE_MESSAGE_CODE_BLOCK_END = /^\s* at/;
216
- const isMessageCodeBlockStartIndex = line => {
217
- return RE_MESSAGE_CODE_BLOCK_START.test(line);
218
- };
219
- const isMessageCodeBlockEndIndex = line => {
220
- return RE_MESSAGE_CODE_BLOCK_END.test(line);
221
- };
222
- const getMessageCodeBlock = stderr => {
223
- const lines = splitLines$2(stderr);
224
- const startIndex = lines.findIndex(isMessageCodeBlockStartIndex);
225
- const endIndex = startIndex + lines.slice(startIndex).findIndex(isMessageCodeBlockEndIndex, startIndex);
226
- const relevantLines = lines.slice(startIndex, endIndex);
227
- const relevantMessage = relevantLines.join(' ').slice('Error: '.length);
228
- return relevantMessage;
229
- };
230
- const isModuleNotFoundMessage = line => {
231
- return line.includes('[ERR_MODULE_NOT_FOUND]');
232
- };
233
- const getModuleNotFoundError = stderr => {
234
- const lines = splitLines$2(stderr);
235
- const messageIndex = lines.findIndex(isModuleNotFoundMessage);
236
- const message = lines[messageIndex];
237
- return {
238
- message,
239
- code: ERR_MODULE_NOT_FOUND
240
- };
241
- };
242
- const isModuleNotFoundError = stderr => {
243
- if (!stderr) {
244
- return false;
245
- }
246
- return stderr.includes('ERR_MODULE_NOT_FOUND');
247
- };
248
- const isModulesSyntaxError = stderr => {
249
- if (!stderr) {
250
- return false;
251
- }
252
- return stderr.includes('SyntaxError: Cannot use import statement outside a module');
253
- };
254
- const RE_NATIVE_MODULE_ERROR = /^innerError Error: Cannot find module '.*.node'/;
255
- const RE_NATIVE_MODULE_ERROR_2 = /was compiled against a different Node.js version/;
256
- const isUnhelpfulNativeModuleError = stderr => {
257
- return RE_NATIVE_MODULE_ERROR.test(stderr) && RE_NATIVE_MODULE_ERROR_2.test(stderr);
258
- };
259
- const getNativeModuleErrorMessage = stderr => {
260
- const message = getMessageCodeBlock(stderr);
261
- return {
262
- message: `Incompatible native node module: ${message}`,
263
- code: E_INCOMPATIBLE_NATIVE_MODULE
264
- };
265
- };
266
- const getModuleSyntaxError = () => {
267
- return {
268
- message: `ES Modules are not supported in electron`,
269
- code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON
270
- };
271
- };
272
- const getHelpfulChildProcessError = (stdout, stderr) => {
273
- if (isUnhelpfulNativeModuleError(stderr)) {
274
- return getNativeModuleErrorMessage(stderr);
275
- }
276
- if (isModulesSyntaxError(stderr)) {
277
- return getModuleSyntaxError();
278
- }
279
- if (isModuleNotFoundError(stderr)) {
280
- return getModuleNotFoundError(stderr);
281
- }
282
- const lines = splitLines$2(stderr);
283
- const {
284
- actualMessage,
285
- rest
286
- } = getDetails$1(lines);
287
- return {
288
- message: actualMessage,
289
- code: '',
290
- stack: rest
291
- };
292
- };
293
- class IpcError extends VError {
294
- // @ts-ignore
295
- constructor(betterMessage, stdout = '', stderr = '') {
296
- if (stdout || stderr) {
297
- // @ts-ignore
298
- const {
299
- message,
300
- code,
301
- stack
302
- } = getHelpfulChildProcessError(stdout, stderr);
303
- const cause = new Error(message);
304
- // @ts-ignore
305
- cause.code = code;
306
- cause.stack = stack;
307
- super(cause, betterMessage);
308
- } else {
309
- super(betterMessage);
343
+
344
+ // `Promise.race()` workaround (#91)
345
+ async function timeout(request, init, abortController, options) {
346
+ return new Promise((resolve, reject) => {
347
+ const timeoutId = setTimeout(() => {
348
+ if (abortController) {
349
+ abortController.abort();
350
+ }
351
+ reject(new TimeoutError(request));
352
+ }, options.timeout);
353
+ void options.fetch(request, init).then(resolve).catch(reject).then(() => {
354
+ clearTimeout(timeoutId);
355
+ });
356
+ });
357
+ }
358
+
359
+ // https://github.com/sindresorhus/delay/tree/ab98ae8dfcb38e1593286c94d934e70d14a4e111
360
+ async function delay(ms, {
361
+ signal
362
+ }) {
363
+ return new Promise((resolve, reject) => {
364
+ if (signal) {
365
+ signal.throwIfAborted();
366
+ signal.addEventListener('abort', abortHandler, {
367
+ once: true
368
+ });
310
369
  }
311
- // @ts-ignore
312
- this.name = 'IpcError';
313
- // @ts-ignore
314
- this.stdout = stdout;
315
- // @ts-ignore
316
- this.stderr = stderr;
317
- }
370
+ function abortHandler() {
371
+ clearTimeout(timeoutId);
372
+ reject(signal.reason);
373
+ }
374
+ const timeoutId = setTimeout(() => {
375
+ signal?.removeEventListener('abort', abortHandler);
376
+ resolve();
377
+ }, ms);
378
+ });
318
379
  }
319
- const readyMessage = 'ready';
320
- const getData$2 = event => {
321
- return event.data;
322
- };
323
- const listen$7 = () => {
324
- // @ts-ignore
325
- if (typeof WorkerGlobalScope === 'undefined') {
326
- throw new TypeError('module is not in web worker scope');
327
- }
328
- return globalThis;
329
- };
330
- const signal$8 = global => {
331
- global.postMessage(readyMessage);
332
- };
333
- class IpcChildWithModuleWorker extends Ipc {
334
- getData(event) {
335
- return getData$2(event);
336
- }
337
- send(message) {
338
- // @ts-ignore
339
- this._rawIpc.postMessage(message);
340
- }
341
- sendAndTransfer(message) {
342
- const transfer = getTransferrables(message);
343
- // @ts-ignore
344
- this._rawIpc.postMessage(message, transfer);
345
- }
346
- dispose() {
347
- // ignore
348
- }
349
- onClose(callback) {
350
- // ignore
351
- }
352
- onMessage(callback) {
353
- this._rawIpc.addEventListener('message', callback);
380
+
381
+ const findUnknownOptions = (request, options) => {
382
+ const unknownOptions = {};
383
+ for (const key in options) {
384
+ if (!(key in requestOptionsRegistry) && !(key in kyOptionKeys) && !(key in request)) {
385
+ unknownOptions[key] = options[key];
386
+ }
354
387
  }
355
- }
356
- const wrap$f = global => {
357
- return new IpcChildWithModuleWorker(global);
358
- };
359
- const withResolvers = () => {
360
- let _resolve;
361
- const promise = new Promise(resolve => {
362
- _resolve = resolve;
363
- });
364
- return {
365
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
366
- resolve: _resolve,
367
- promise
368
- };
369
- };
370
- const waitForFirstMessage = async port => {
371
- const {
372
- resolve,
373
- promise
374
- } = withResolvers();
375
- port.addEventListener('message', resolve, {
376
- once: true
377
- });
378
- const event = await promise;
379
- // @ts-ignore
380
- return event.data;
388
+ return unknownOptions;
381
389
  };
382
- const listen$6 = async () => {
383
- const parentIpcRaw = listen$7();
384
- signal$8(parentIpcRaw);
385
- const parentIpc = wrap$f(parentIpcRaw);
386
- const firstMessage = await waitForFirstMessage(parentIpc);
387
- if (firstMessage.method !== 'initialize') {
388
- throw new IpcError('unexpected first message');
389
- }
390
- const type = firstMessage.params[0];
391
- if (type === 'message-port') {
392
- parentIpc.send({
393
- jsonrpc: '2.0',
394
- id: firstMessage.id,
395
- result: null
390
+
391
+ class Ky {
392
+ static create(input, options) {
393
+ const ky = new Ky(input, options);
394
+ const function_ = async () => {
395
+ if (typeof ky._options.timeout === 'number' && ky._options.timeout > maxSafeTimeout) {
396
+ throw new RangeError(`The \`timeout\` option cannot be greater than ${maxSafeTimeout}`);
397
+ }
398
+ // Delay the fetch so that body method shortcuts can set the Accept header
399
+ await Promise.resolve();
400
+ // Before using ky.request, _fetch clones it and saves the clone for future retries to use.
401
+ // If retry is not needed, close the cloned request's ReadableStream for memory safety.
402
+ let response = await ky._fetch();
403
+ for (const hook of ky._options.hooks.afterResponse) {
404
+ // eslint-disable-next-line no-await-in-loop
405
+ const modifiedResponse = await hook(ky.request, ky._options, ky._decorateResponse(response.clone()));
406
+ if (modifiedResponse instanceof globalThis.Response) {
407
+ response = modifiedResponse;
408
+ }
409
+ }
410
+ ky._decorateResponse(response);
411
+ if (!response.ok && ky._options.throwHttpErrors) {
412
+ let error = new HTTPError(response, ky.request, ky._options);
413
+ for (const hook of ky._options.hooks.beforeError) {
414
+ // eslint-disable-next-line no-await-in-loop
415
+ error = await hook(error);
416
+ }
417
+ throw error;
418
+ }
419
+ // If `onDownloadProgress` is passed, it uses the stream API internally
420
+ if (ky._options.onDownloadProgress) {
421
+ if (typeof ky._options.onDownloadProgress !== 'function') {
422
+ throw new TypeError('The `onDownloadProgress` option must be a function');
423
+ }
424
+ if (!supportsResponseStreams) {
425
+ throw new Error('Streams are not supported in your environment. `ReadableStream` is missing.');
426
+ }
427
+ return streamResponse(response.clone(), ky._options.onDownloadProgress);
428
+ }
429
+ return response;
430
+ };
431
+ const isRetriableMethod = ky._options.retry.methods.includes(ky.request.method.toLowerCase());
432
+ const result = (isRetriableMethod ? ky._retry(function_) : function_()).finally(async () => {
433
+ // Now that we know a retry is not needed, close the ReadableStream of the cloned request.
434
+ if (!ky.request.bodyUsed) {
435
+ await ky.request.body?.cancel();
436
+ }
396
437
  });
397
- parentIpc.dispose();
398
- const port = firstMessage.params[1];
399
- return port;
400
- }
401
- return globalThis;
402
- };
403
- class IpcChildWithModuleWorkerAndMessagePort extends Ipc {
404
- getData(event) {
405
- return getData$2(event);
406
- }
407
- send(message) {
408
- this._rawIpc.postMessage(message);
409
- }
410
- sendAndTransfer(message) {
411
- const transfer = getTransferrables(message);
412
- this._rawIpc.postMessage(message, transfer);
413
- }
414
- dispose() {
415
- if (this._rawIpc.close) {
416
- this._rawIpc.close();
438
+ for (const [type, mimeType] of Object.entries(responseTypes)) {
439
+ result[type] = async () => {
440
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
441
+ ky.request.headers.set('accept', ky.request.headers.get('accept') || mimeType);
442
+ const response = await result;
443
+ if (type === 'json') {
444
+ if (response.status === 204) {
445
+ return '';
446
+ }
447
+ const arrayBuffer = await response.clone().arrayBuffer();
448
+ const responseSize = arrayBuffer.byteLength;
449
+ if (responseSize === 0) {
450
+ return '';
451
+ }
452
+ if (options.parseJson) {
453
+ return options.parseJson(await response.text());
454
+ }
455
+ }
456
+ return response[type]();
457
+ };
417
458
  }
459
+ return result;
418
460
  }
419
- onClose(callback) {
420
- // ignore
461
+ request;
462
+ abortController;
463
+ _retryCount = 0;
464
+ _input;
465
+ _options;
466
+ // eslint-disable-next-line complexity
467
+ constructor(input, options = {}) {
468
+ this._input = input;
469
+ this._options = {
470
+ ...options,
471
+ headers: mergeHeaders(this._input.headers, options.headers),
472
+ hooks: mergeHooks({
473
+ beforeRequest: [],
474
+ beforeRetry: [],
475
+ beforeError: [],
476
+ afterResponse: []
477
+ }, options.hooks),
478
+ method: normalizeRequestMethod(options.method ?? this._input.method ?? 'GET'),
479
+ // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
480
+ prefixUrl: String(options.prefixUrl || ''),
481
+ retry: normalizeRetryOptions(options.retry),
482
+ throwHttpErrors: options.throwHttpErrors !== false,
483
+ timeout: options.timeout ?? 10_000,
484
+ fetch: options.fetch ?? globalThis.fetch.bind(globalThis)
485
+ };
486
+ if (typeof this._input !== 'string' && !(this._input instanceof URL || this._input instanceof globalThis.Request)) {
487
+ throw new TypeError('`input` must be a string, URL, or Request');
488
+ }
489
+ if (this._options.prefixUrl && typeof this._input === 'string') {
490
+ if (this._input.startsWith('/')) {
491
+ throw new Error('`input` must not begin with a slash when using `prefixUrl`');
492
+ }
493
+ if (!this._options.prefixUrl.endsWith('/')) {
494
+ this._options.prefixUrl += '/';
495
+ }
496
+ this._input = this._options.prefixUrl + this._input;
497
+ }
498
+ if (supportsAbortController) {
499
+ const originalSignal = this._options.signal ?? this._input.signal;
500
+ this.abortController = new globalThis.AbortController();
501
+ this._options.signal = originalSignal ? AbortSignal.any([originalSignal, this.abortController.signal]) : this.abortController.signal;
502
+ }
503
+ if (supportsRequestStreams) {
504
+ // @ts-expect-error - Types are outdated.
505
+ this._options.duplex = 'half';
506
+ }
507
+ if (this._options.json !== undefined) {
508
+ this._options.body = this._options.stringifyJson?.(this._options.json) ?? JSON.stringify(this._options.json);
509
+ this._options.headers.set('content-type', this._options.headers.get('content-type') ?? 'application/json');
510
+ }
511
+ this.request = new globalThis.Request(this._input, this._options);
512
+ if (this._options.searchParams) {
513
+ // eslint-disable-next-line unicorn/prevent-abbreviations
514
+ const textSearchParams = typeof this._options.searchParams === 'string' ? this._options.searchParams.replace(/^\?/, '') : new URLSearchParams(this._options.searchParams).toString();
515
+ // eslint-disable-next-line unicorn/prevent-abbreviations
516
+ const searchParams = '?' + textSearchParams;
517
+ const url = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, searchParams);
518
+ // To provide correct form boundary, Content-Type header should be deleted each time when new Request instantiated from another one
519
+ if ((supportsFormData && this._options.body instanceof globalThis.FormData || this._options.body instanceof URLSearchParams) && !(this._options.headers && this._options.headers['content-type'])) {
520
+ this.request.headers.delete('content-type');
521
+ }
522
+ // The spread of `this.request` is required as otherwise it misses the `duplex` option for some reason and throws.
523
+ this.request = new globalThis.Request(new globalThis.Request(url, {
524
+ ...this.request
525
+ }), this._options);
526
+ }
527
+ // If `onUploadProgress` is passed, it uses the stream API internally
528
+ if (this._options.onUploadProgress) {
529
+ if (typeof this._options.onUploadProgress !== 'function') {
530
+ throw new TypeError('The `onUploadProgress` option must be a function');
531
+ }
532
+ if (!supportsRequestStreams) {
533
+ throw new Error('Request streams are not supported in your environment. The `duplex` option for `Request` is not available.');
534
+ }
535
+ const originalBody = this.request.body;
536
+ if (originalBody) {
537
+ this.request = streamRequest(this.request, this._options.onUploadProgress);
538
+ }
539
+ }
421
540
  }
422
- onMessage(callback) {
423
- this._rawIpc.addEventListener('message', callback);
424
- this._rawIpc.start();
541
+ _calculateRetryDelay(error) {
542
+ this._retryCount++;
543
+ if (this._retryCount > this._options.retry.limit || error instanceof TimeoutError) {
544
+ throw error;
545
+ }
546
+ if (error instanceof HTTPError) {
547
+ if (!this._options.retry.statusCodes.includes(error.response.status)) {
548
+ throw error;
549
+ }
550
+ const retryAfter = error.response.headers.get('Retry-After') ?? error.response.headers.get('RateLimit-Reset') ?? error.response.headers.get('X-RateLimit-Reset') // GitHub
551
+ ?? error.response.headers.get('X-Rate-Limit-Reset'); // Twitter
552
+ if (retryAfter && this._options.retry.afterStatusCodes.includes(error.response.status)) {
553
+ let after = Number(retryAfter) * 1000;
554
+ if (Number.isNaN(after)) {
555
+ after = Date.parse(retryAfter) - Date.now();
556
+ } else if (after >= Date.parse('2024-01-01')) {
557
+ // A large number is treated as a timestamp (fixed threshold protects against clock skew)
558
+ after -= Date.now();
559
+ }
560
+ const max = this._options.retry.maxRetryAfter ?? after;
561
+ return after < max ? after : max;
562
+ }
563
+ if (error.response.status === 413) {
564
+ throw error;
565
+ }
566
+ }
567
+ const retryDelay = this._options.retry.delay(this._retryCount);
568
+ return Math.min(this._options.retry.backoffLimit, retryDelay);
425
569
  }
426
- }
427
- const wrap$e = port => {
428
- return new IpcChildWithModuleWorkerAndMessagePort(port);
429
- };
430
- const IpcChildWithModuleWorkerAndMessagePort$1 = {
431
- __proto__: null,
432
- listen: listen$6,
433
- wrap: wrap$e
434
- };
435
-
436
- const Two = '2.0';
437
- const create$4 = (method, params) => {
438
- return {
439
- jsonrpc: Two,
440
- method,
441
- params
442
- };
443
- };
444
- const callbacks = Object.create(null);
445
- const set$1 = (id, fn) => {
446
- callbacks[id] = fn;
447
- };
448
- const get = id => {
449
- return callbacks[id];
450
- };
451
- const remove = id => {
452
- delete callbacks[id];
453
- };
454
- let id = 0;
455
- const create$3 = () => {
456
- return ++id;
457
- };
458
- const registerPromise = () => {
459
- const id = create$3();
460
- const {
461
- resolve,
462
- promise
463
- } = Promise.withResolvers();
464
- set$1(id, resolve);
465
- return {
466
- id,
467
- promise
468
- };
469
- };
470
- const create$2 = (method, params) => {
471
- const {
472
- id,
473
- promise
474
- } = registerPromise();
475
- const message = {
476
- jsonrpc: Two,
477
- method,
478
- params,
479
- id
480
- };
481
- return {
482
- message,
483
- promise
484
- };
485
- };
486
- class JsonRpcError extends Error {
487
- constructor(message) {
488
- super(message);
489
- this.name = 'JsonRpcError';
570
+ _decorateResponse(response) {
571
+ if (this._options.parseJson) {
572
+ response.json = async () => this._options.parseJson(await response.text());
573
+ }
574
+ return response;
490
575
  }
491
- }
492
- const NewLine$1 = '\n';
493
- const DomException = 'DOMException';
494
- const ReferenceError$1 = 'ReferenceError';
495
- const SyntaxError$1 = 'SyntaxError';
496
- const TypeError$1 = 'TypeError';
497
- const getErrorConstructor = (message, type) => {
498
- if (type) {
499
- switch (type) {
500
- case DomException:
501
- return DOMException;
502
- case TypeError$1:
503
- return TypeError;
504
- case SyntaxError$1:
505
- return SyntaxError;
506
- case ReferenceError$1:
507
- return ReferenceError;
508
- default:
509
- return Error;
576
+ async _retry(function_) {
577
+ try {
578
+ return await function_();
579
+ } catch (error) {
580
+ const ms = Math.min(this._calculateRetryDelay(error), maxSafeTimeout);
581
+ if (this._retryCount < 1) {
582
+ throw error;
583
+ }
584
+ await delay(ms, {
585
+ signal: this._options.signal
586
+ });
587
+ for (const hook of this._options.hooks.beforeRetry) {
588
+ // eslint-disable-next-line no-await-in-loop
589
+ const hookResult = await hook({
590
+ request: this.request,
591
+ options: this._options,
592
+ error: error,
593
+ retryCount: this._retryCount
594
+ });
595
+ // If `stop` is returned from the hook, the retry process is stopped
596
+ if (hookResult === stop) {
597
+ return;
598
+ }
599
+ }
600
+ return this._retry(function_);
510
601
  }
511
602
  }
512
- if (message.startsWith('TypeError: ')) {
513
- return TypeError;
514
- }
515
- if (message.startsWith('SyntaxError: ')) {
516
- return SyntaxError;
603
+ async _fetch() {
604
+ for (const hook of this._options.hooks.beforeRequest) {
605
+ // eslint-disable-next-line no-await-in-loop
606
+ const result = await hook(this.request, this._options);
607
+ if (result instanceof Request) {
608
+ this.request = result;
609
+ break;
610
+ }
611
+ if (result instanceof Response) {
612
+ return result;
613
+ }
614
+ }
615
+ const nonRequestOptions = findUnknownOptions(this.request, this._options);
616
+ // Cloning is done here to prepare in advance for retries
617
+ const mainRequest = this.request;
618
+ this.request = mainRequest.clone();
619
+ if (this._options.timeout === false) {
620
+ return this._options.fetch(mainRequest, nonRequestOptions);
621
+ }
622
+ return timeout(mainRequest, nonRequestOptions, this.abortController, this._options);
517
623
  }
518
- if (message.startsWith('ReferenceError: ')) {
519
- return ReferenceError;
624
+ }
625
+
626
+ /*! MIT License © Sindre Sorhus */
627
+ const createInstance = defaults => {
628
+ // eslint-disable-next-line @typescript-eslint/promise-function-async
629
+ const ky = (input, options) => Ky.create(input, validateAndMerge(defaults, options));
630
+ for (const method of requestMethods) {
631
+ // eslint-disable-next-line @typescript-eslint/promise-function-async
632
+ ky[method] = (input, options) => Ky.create(input, validateAndMerge(defaults, options, {
633
+ method
634
+ }));
520
635
  }
521
- return Error;
636
+ ky.create = newDefaults => createInstance(validateAndMerge(newDefaults));
637
+ ky.extend = newDefaults => {
638
+ if (typeof newDefaults === 'function') {
639
+ newDefaults = newDefaults(defaults ?? {});
640
+ }
641
+ return createInstance(validateAndMerge(defaults, newDefaults));
642
+ };
643
+ ky.stop = stop;
644
+ return ky;
522
645
  };
523
- const constructError = (message, type, name) => {
524
- const ErrorConstructor = getErrorConstructor(message, type);
525
- if (ErrorConstructor === DOMException && name) {
526
- return new ErrorConstructor(message, name);
646
+ const ky = createInstance();
647
+
648
+ const normalizeLine = line => {
649
+ if (line.startsWith('Error: ')) {
650
+ return line.slice('Error: '.length);
527
651
  }
528
- if (ErrorConstructor === Error) {
529
- const error = new Error(message);
530
- if (name && name !== 'VError') {
531
- error.name = name;
532
- }
533
- return error;
652
+ if (line.startsWith('VError: ')) {
653
+ return line.slice('VError: '.length);
534
654
  }
535
- return new ErrorConstructor(message);
536
- };
537
- const getNewLineIndex$1 = (string, startIndex = undefined) => {
538
- return string.indexOf(NewLine$1, startIndex);
655
+ return line;
539
656
  };
540
- const getParentStack = error => {
541
- let parentStack = error.stack || error.data || error.message || '';
542
- if (parentStack.startsWith(' at')) {
543
- parentStack = error.message + NewLine$1 + parentStack;
657
+ const getCombinedMessage = (error, message) => {
658
+ const stringifiedError = normalizeLine(`${error}`);
659
+ if (message) {
660
+ return `${message}: ${stringifiedError}`;
544
661
  }
545
- return parentStack;
546
- };
547
- const joinLines$1 = lines => {
548
- return lines.join(NewLine$1);
662
+ return stringifiedError;
549
663
  };
550
- const MethodNotFound = -32601;
551
- const Custom = -32001;
552
- const splitLines$1 = lines => {
553
- return lines.split(NewLine$1);
664
+ const NewLine$3 = '\n';
665
+ const getNewLineIndex$2 = (string, startIndex = undefined) => {
666
+ return string.indexOf(NewLine$3, startIndex);
554
667
  };
555
- const restoreJsonRpcError = error => {
556
- if (error && error instanceof Error) {
557
- return error;
558
- }
559
- const currentStack = joinLines$1(splitLines$1(new Error().stack || '').slice(1));
560
- if (error && error.code && error.code === MethodNotFound) {
561
- const restoredError = new JsonRpcError(error.message);
562
- const parentStack = getParentStack(error);
563
- restoredError.stack = parentStack + NewLine$1 + currentStack;
564
- return restoredError;
668
+ const mergeStacks = (parent, child) => {
669
+ if (!child) {
670
+ return parent;
565
671
  }
566
- if (error && error.message) {
567
- const restoredError = constructError(error.message, error.type, error.name);
568
- if (error.data) {
569
- if (error.data.stack && error.data.type && error.message) {
570
- restoredError.stack = error.data.type + ': ' + error.message + NewLine$1 + error.data.stack + NewLine$1 + currentStack;
571
- } else if (error.data.stack) {
572
- restoredError.stack = error.data.stack;
573
- }
574
- if (error.data.codeFrame) {
575
- // @ts-ignore
576
- restoredError.codeFrame = error.data.codeFrame;
577
- }
578
- if (error.data.code) {
579
- // @ts-ignore
580
- restoredError.code = error.data.code;
581
- }
582
- if (error.data.type) {
583
- // @ts-ignore
584
- restoredError.name = error.data.type;
585
- }
586
- } else {
587
- if (error.stack) {
588
- const lowerStack = restoredError.stack || '';
589
- // @ts-ignore
590
- const indexNewLine = getNewLineIndex$1(lowerStack);
591
- const parentStack = getParentStack(error);
592
- // @ts-ignore
593
- restoredError.stack = parentStack + lowerStack.slice(indexNewLine);
594
- }
595
- if (error.codeFrame) {
596
- // @ts-ignore
597
- restoredError.codeFrame = error.codeFrame;
598
- }
599
- }
600
- return restoredError;
672
+ const parentNewLineIndex = getNewLineIndex$2(parent);
673
+ const childNewLineIndex = getNewLineIndex$2(child);
674
+ if (childNewLineIndex === -1) {
675
+ return parent;
601
676
  }
602
- if (typeof error === 'string') {
603
- return new Error(`JsonRpc Error: ${error}`);
677
+ const parentFirstLine = parent.slice(0, parentNewLineIndex);
678
+ const childRest = child.slice(childNewLineIndex);
679
+ const childFirstLine = normalizeLine(child.slice(0, childNewLineIndex));
680
+ if (parentFirstLine.includes(childFirstLine)) {
681
+ return parentFirstLine + childRest;
604
682
  }
605
- return new Error(`JsonRpc Error: ${error}`);
683
+ return child;
606
684
  };
607
- const unwrapJsonRpcResult = responseMessage => {
608
- if ('error' in responseMessage) {
609
- const restoredError = restoreJsonRpcError(responseMessage.error);
610
- throw restoredError;
685
+ class VError extends Error {
686
+ constructor(error, message) {
687
+ const combinedMessage = getCombinedMessage(error, message);
688
+ super(combinedMessage);
689
+ this.name = 'VError';
690
+ if (error instanceof Error) {
691
+ this.stack = mergeStacks(this.stack, error.stack);
692
+ }
693
+ if (error.codeFrame) {
694
+ // @ts-ignore
695
+ this.codeFrame = error.codeFrame;
696
+ }
697
+ if (error.code) {
698
+ // @ts-ignore
699
+ this.code = error.code;
700
+ }
611
701
  }
612
- if ('result' in responseMessage) {
613
- return responseMessage.result;
702
+ }
703
+
704
+ const getJson = async (url, options = {}) => {
705
+ try {
706
+ const response = await fetch(url);
707
+ if (!response.ok) {
708
+ throw new Error(response.statusText);
709
+ }
710
+ const result = await response.json();
711
+ return result;
712
+ } catch (error) {
713
+ if (error && error instanceof TypeError && error.message === 'Failed to fetch') {
714
+ throw new VError(`Failed to request json from "${url}". Make sure that the server is running and has CORS enabled`);
715
+ }
716
+ // @ts-ignore
717
+ error.message = `Failed to request json from "${url}": ${error.message}`;
718
+ throw error;
614
719
  }
615
- throw new JsonRpcError('unexpected response message');
616
- };
617
- const warn$1 = (...args) => {
618
- console.warn(...args);
619
720
  };
620
- const resolve = (id, response) => {
621
- const fn = get(id);
622
- if (!fn) {
623
- console.log(response);
624
- warn$1(`callback ${id} may already be disposed`);
625
- return;
721
+ const getText = async (url, options = {}) => {
722
+ try {
723
+ return await ky(url, options).text();
724
+ } catch (error) {
725
+ if (error && error instanceof TypeError && error.message === 'Failed to fetch') {
726
+ throw new VError(error, `Failed to request text from "${url}". Make sure that the server is running and has CORS enabled`);
727
+ }
728
+ throw new VError(error, `Failed to request text from "${url}"`);
626
729
  }
627
- fn(response);
628
- remove(id);
629
730
  };
630
- const E_COMMAND_NOT_FOUND = 'E_COMMAND_NOT_FOUND';
631
- const getErrorType = prettyError => {
632
- if (prettyError && prettyError.type) {
633
- return prettyError.type;
731
+
732
+ class AssertionError extends Error {
733
+ constructor(message) {
734
+ super(message);
735
+ this.name = 'AssertionError';
634
736
  }
635
- if (prettyError && prettyError.constructor && prettyError.constructor.name) {
636
- return prettyError.constructor.name;
737
+ }
738
+ const getType$1 = value => {
739
+ switch (typeof value) {
740
+ case 'number':
741
+ return 'number';
742
+ case 'function':
743
+ return 'function';
744
+ case 'string':
745
+ return 'string';
746
+ case 'object':
747
+ if (value === null) {
748
+ return 'null';
749
+ }
750
+ if (Array.isArray(value)) {
751
+ return 'array';
752
+ }
753
+ return 'object';
754
+ case 'boolean':
755
+ return 'boolean';
756
+ default:
757
+ return 'unknown';
758
+ }
759
+ };
760
+ const object = value => {
761
+ const type = getType$1(value);
762
+ if (type !== 'object') {
763
+ throw new AssertionError('expected value to be of type object');
637
764
  }
638
- return undefined;
639
765
  };
640
- const getErrorProperty = (error, prettyError) => {
641
- if (error && error.code === E_COMMAND_NOT_FOUND) {
642
- return {
643
- code: MethodNotFound,
644
- message: error.message,
645
- data: error.stack
646
- };
766
+ const number = value => {
767
+ const type = getType$1(value);
768
+ if (type !== 'number') {
769
+ throw new AssertionError('expected value to be of type number');
647
770
  }
648
- return {
649
- code: Custom,
650
- message: prettyError.message,
651
- data: {
652
- stack: prettyError.stack,
653
- codeFrame: prettyError.codeFrame,
654
- type: getErrorType(prettyError),
655
- code: prettyError.code,
656
- name: prettyError.name
657
- }
658
- };
659
771
  };
660
- const create$1$1 = (message, error) => {
661
- return {
662
- jsonrpc: Two,
663
- id: message.id,
664
- error
665
- };
772
+ const array = value => {
773
+ const type = getType$1(value);
774
+ if (type !== 'array') {
775
+ throw new AssertionError('expected value to be of type array');
776
+ }
666
777
  };
667
- const getErrorResponse = (message, error, preparePrettyError, logError) => {
668
- const prettyError = preparePrettyError(error);
669
- logError(error, prettyError);
670
- const errorProperty = getErrorProperty(error, prettyError);
671
- return create$1$1(message, errorProperty);
778
+ const string = value => {
779
+ const type = getType$1(value);
780
+ if (type !== 'string') {
781
+ throw new AssertionError('expected value to be of type string');
782
+ }
672
783
  };
673
- const create$5 = (message, result) => {
674
- return {
675
- jsonrpc: Two,
676
- id: message.id,
677
- result: result ?? null
678
- };
784
+
785
+ const isMessagePort = value => {
786
+ return value && value instanceof MessagePort;
679
787
  };
680
- const getSuccessResponse = (message, result) => {
681
- const resultProperty = result ?? null;
682
- return create$5(message, resultProperty);
788
+ const isMessagePortMain = value => {
789
+ return value && value.constructor && value.constructor.name === 'MessagePortMain';
683
790
  };
684
- const getResponse = async (message, ipc, execute, preparePrettyError, logError, requiresSocket) => {
685
- try {
686
- const result = requiresSocket(message.method) ? await execute(message.method, ipc, ...message.params) : await execute(message.method, ...message.params);
687
- return getSuccessResponse(message, result);
688
- } catch (error) {
689
- return getErrorResponse(message, error, preparePrettyError, logError);
690
- }
791
+ const isOffscreenCanvas = value => {
792
+ return typeof OffscreenCanvas !== 'undefined' && value instanceof OffscreenCanvas;
691
793
  };
692
- const defaultPreparePrettyError = error => {
693
- return error;
794
+ const isInstanceOf = (value, constructorName) => {
795
+ return value?.constructor?.name === constructorName;
694
796
  };
695
- const defaultLogError = () => {
696
- // ignore
797
+ const isSocket = value => {
798
+ return isInstanceOf(value, 'Socket');
697
799
  };
698
- const defaultRequiresSocket = () => {
800
+ const transferrables = [isMessagePort, isMessagePortMain, isOffscreenCanvas, isSocket];
801
+ const isTransferrable = value => {
802
+ for (const fn of transferrables) {
803
+ if (fn(value)) {
804
+ return true;
805
+ }
806
+ }
699
807
  return false;
700
808
  };
701
- const defaultResolve = resolve;
702
-
703
- // TODO maybe remove this in v6 or v7, only accept options object to simplify the code
704
- const normalizeParams = args => {
705
- if (args.length === 1) {
706
- const options = args[0];
707
- return {
708
- ipc: options.ipc,
709
- message: options.message,
710
- execute: options.execute,
711
- resolve: options.resolve || defaultResolve,
712
- preparePrettyError: options.preparePrettyError || defaultPreparePrettyError,
713
- logError: options.logError || defaultLogError,
714
- requiresSocket: options.requiresSocket || defaultRequiresSocket
715
- };
809
+ const walkValue = (value, transferrables, isTransferrable) => {
810
+ if (!value) {
811
+ return;
716
812
  }
717
- return {
718
- ipc: args[0],
719
- message: args[1],
720
- execute: args[2],
721
- resolve: args[3],
722
- preparePrettyError: args[4],
723
- logError: args[5],
724
- requiresSocket: args[6]
725
- };
726
- };
727
- const handleJsonRpcMessage = async (...args) => {
728
- const options = normalizeParams(args);
729
- const {
730
- message,
731
- ipc,
732
- execute,
733
- resolve,
734
- preparePrettyError,
735
- logError,
736
- requiresSocket
737
- } = options;
738
- if ('id' in message) {
739
- if ('method' in message) {
740
- const response = await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
741
- try {
742
- ipc.send(response);
743
- } catch (error) {
744
- const errorResponse = getErrorResponse(message, error, preparePrettyError, logError);
745
- ipc.send(errorResponse);
746
- }
747
- return;
748
- }
749
- resolve(message.id, message);
813
+ if (isTransferrable(value)) {
814
+ transferrables.push(value);
750
815
  return;
751
816
  }
752
- if ('method' in message) {
753
- await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
817
+ if (Array.isArray(value)) {
818
+ for (const item of value) {
819
+ walkValue(item, transferrables, isTransferrable);
820
+ }
754
821
  return;
755
822
  }
756
- throw new JsonRpcError('unexpected message');
757
- };
758
- const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
759
- const {
760
- message,
761
- promise
762
- } = create$2(method, params);
763
- if (useSendAndTransfer && ipc.sendAndTransfer) {
764
- ipc.sendAndTransfer(message);
765
- } else {
766
- ipc.send(message);
823
+ if (typeof value === 'object') {
824
+ for (const property of Object.values(value)) {
825
+ walkValue(property, transferrables, isTransferrable);
826
+ }
827
+ return;
767
828
  }
768
- const responseMessage = await promise;
769
- return unwrapJsonRpcResult(responseMessage);
770
- };
771
- const send = (transport, method, ...params) => {
772
- const message = create$4(method, params);
773
- transport.send(message);
774
829
  };
775
- const invoke = (ipc, method, ...params) => {
776
- return invokeHelper(ipc, method, params, false);
830
+ const getTransferrables = value => {
831
+ const transferrables = [];
832
+ walkValue(value, transferrables, isTransferrable);
833
+ return transferrables;
777
834
  };
778
- const invokeAndTransfer = (ipc, method, ...params) => {
779
- return invokeHelper(ipc, method, params, true);
835
+ const attachEvents = that => {
836
+ const handleMessage = (...args) => {
837
+ const data = that.getData(...args);
838
+ that.dispatchEvent(new MessageEvent('message', {
839
+ data
840
+ }));
841
+ };
842
+ that.onMessage(handleMessage);
843
+ const handleClose = event => {
844
+ that.dispatchEvent(new Event('close'));
845
+ };
846
+ that.onClose(handleClose);
780
847
  };
781
-
782
- const commands = Object.create(null);
783
- const register = commandMap => {
784
- Object.assign(commands, commandMap);
848
+ class Ipc extends EventTarget {
849
+ constructor(rawIpc) {
850
+ super();
851
+ this._rawIpc = rawIpc;
852
+ attachEvents(this);
853
+ }
854
+ }
855
+ const E_INCOMPATIBLE_NATIVE_MODULE = 'E_INCOMPATIBLE_NATIVE_MODULE';
856
+ const E_MODULES_NOT_SUPPORTED_IN_ELECTRON = 'E_MODULES_NOT_SUPPORTED_IN_ELECTRON';
857
+ const ERR_MODULE_NOT_FOUND = 'ERR_MODULE_NOT_FOUND';
858
+ const NewLine$2 = '\n';
859
+ const joinLines$2 = lines => {
860
+ return lines.join(NewLine$2);
785
861
  };
786
- const getCommand = key => {
787
- return commands[key];
862
+ const RE_AT$1 = /^\s+at/;
863
+ const RE_AT_PROMISE_INDEX$1 = /^\s*at async Promise.all \(index \d+\)$/;
864
+ const isNormalStackLine$1 = line => {
865
+ return RE_AT$1.test(line) && !RE_AT_PROMISE_INDEX$1.test(line);
788
866
  };
789
- const execute = (command, ...args) => {
790
- const fn = getCommand(command);
791
- if (!fn) {
792
- throw new Error(`command not found ${command}`);
867
+ const getDetails$1 = lines => {
868
+ const index = lines.findIndex(isNormalStackLine$1);
869
+ if (index === -1) {
870
+ return {
871
+ actualMessage: joinLines$2(lines),
872
+ rest: []
873
+ };
793
874
  }
794
- return fn(...args);
795
- };
796
-
797
- const createRpc = ipc => {
798
- const rpc = {
799
- // @ts-ignore
800
- ipc,
801
- /**
802
- * @deprecated
803
- */
804
- send(method, ...params) {
805
- send(ipc, method, ...params);
806
- },
807
- invoke(method, ...params) {
808
- return invoke(ipc, method, ...params);
809
- },
810
- invokeAndTransfer(method, ...params) {
811
- return invokeAndTransfer(ipc, method, ...params);
812
- },
813
- async dispose() {
814
- await ipc?.dispose();
875
+ let lastIndex = index - 1;
876
+ while (++lastIndex < lines.length) {
877
+ if (!isNormalStackLine$1(lines[lastIndex])) {
878
+ break;
815
879
  }
880
+ }
881
+ return {
882
+ actualMessage: lines[index - 1],
883
+ rest: lines.slice(index, lastIndex)
816
884
  };
817
- return rpc;
818
885
  };
819
- const requiresSocket = () => {
820
- return false;
886
+ const splitLines$2 = lines => {
887
+ return lines.split(NewLine$2);
888
+ };
889
+ const RE_MESSAGE_CODE_BLOCK_START = /^Error: The module '.*'$/;
890
+ const RE_MESSAGE_CODE_BLOCK_END = /^\s* at/;
891
+ const isMessageCodeBlockStartIndex = line => {
892
+ return RE_MESSAGE_CODE_BLOCK_START.test(line);
893
+ };
894
+ const isMessageCodeBlockEndIndex = line => {
895
+ return RE_MESSAGE_CODE_BLOCK_END.test(line);
821
896
  };
822
- const preparePrettyError = error => {
823
- return error;
897
+ const getMessageCodeBlock = stderr => {
898
+ const lines = splitLines$2(stderr);
899
+ const startIndex = lines.findIndex(isMessageCodeBlockStartIndex);
900
+ const endIndex = startIndex + lines.slice(startIndex).findIndex(isMessageCodeBlockEndIndex, startIndex);
901
+ const relevantLines = lines.slice(startIndex, endIndex);
902
+ const relevantMessage = relevantLines.join(' ').slice('Error: '.length);
903
+ return relevantMessage;
824
904
  };
825
- const logError = () => {
826
- // handled by renderer worker
905
+ const isModuleNotFoundMessage = line => {
906
+ return line.includes('[ERR_MODULE_NOT_FOUND]');
827
907
  };
828
- const handleMessage = event => {
829
- const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
830
- const actualExecute = event?.target?.execute || execute;
831
- return handleJsonRpcMessage(event.target, event.data, actualExecute, resolve, preparePrettyError, logError, actualRequiresSocket);
908
+ const getModuleNotFoundError = stderr => {
909
+ const lines = splitLines$2(stderr);
910
+ const messageIndex = lines.findIndex(isModuleNotFoundMessage);
911
+ const message = lines[messageIndex];
912
+ return {
913
+ message,
914
+ code: ERR_MODULE_NOT_FOUND
915
+ };
832
916
  };
833
- const handleIpc = ipc => {
834
- if ('addEventListener' in ipc) {
835
- ipc.addEventListener('message', handleMessage);
836
- } else if ('on' in ipc) {
837
- // deprecated
838
- ipc.on('message', handleMessage);
917
+ const isModuleNotFoundError = stderr => {
918
+ if (!stderr) {
919
+ return false;
839
920
  }
921
+ return stderr.includes('ERR_MODULE_NOT_FOUND');
840
922
  };
841
- const listen$1 = async (module, options) => {
842
- const rawIpc = await module.listen(options);
843
- if (module.signal) {
844
- module.signal(rawIpc);
923
+ const isModulesSyntaxError = stderr => {
924
+ if (!stderr) {
925
+ return false;
845
926
  }
846
- const ipc = module.wrap(rawIpc);
847
- return ipc;
927
+ return stderr.includes('SyntaxError: Cannot use import statement outside a module');
848
928
  };
849
- const create$1 = async ({
850
- commandMap
851
- }) => {
852
- // TODO create a commandMap per rpc instance
853
- register(commandMap);
854
- const ipc = await listen$1(IpcChildWithModuleWorkerAndMessagePort$1);
855
- handleIpc(ipc);
856
- const rpc = createRpc(ipc);
857
- return rpc;
929
+ const RE_NATIVE_MODULE_ERROR = /^innerError Error: Cannot find module '.*.node'/;
930
+ const RE_NATIVE_MODULE_ERROR_2 = /was compiled against a different Node.js version/;
931
+ const isUnhelpfulNativeModuleError = stderr => {
932
+ return RE_NATIVE_MODULE_ERROR.test(stderr) && RE_NATIVE_MODULE_ERROR_2.test(stderr);
858
933
  };
859
- const WebWorkerRpcClient = {
860
- __proto__: null,
861
- create: create$1
934
+ const getNativeModuleErrorMessage = stderr => {
935
+ const message = getMessageCodeBlock(stderr);
936
+ return {
937
+ message: `Incompatible native node module: ${message}`,
938
+ code: E_INCOMPATIBLE_NATIVE_MODULE
939
+ };
862
940
  };
863
-
864
- class HTTPError extends Error {
865
- response;
866
- request;
867
- options;
868
- constructor(response, request, options) {
869
- const code = response.status || response.status === 0 ? response.status : '';
870
- const title = response.statusText || '';
871
- const status = `${code} ${title}`.trim();
872
- const reason = status ? `status code ${status}` : 'an unknown error';
873
- super(`Request failed with ${reason}: ${request.method} ${request.url}`);
874
- this.name = 'HTTPError';
875
- this.response = response;
876
- this.request = request;
877
- this.options = options;
941
+ const getModuleSyntaxError = () => {
942
+ return {
943
+ message: `ES Modules are not supported in electron`,
944
+ code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON
945
+ };
946
+ };
947
+ const getHelpfulChildProcessError = (stdout, stderr) => {
948
+ if (isUnhelpfulNativeModuleError(stderr)) {
949
+ return getNativeModuleErrorMessage(stderr);
878
950
  }
879
- }
880
-
881
- class TimeoutError extends Error {
882
- request;
883
- constructor(request) {
884
- super(`Request timed out: ${request.method} ${request.url}`);
885
- this.name = 'TimeoutError';
886
- this.request = request;
951
+ if (isModulesSyntaxError(stderr)) {
952
+ return getModuleSyntaxError();
887
953
  }
888
- }
889
-
890
- const supportsRequestStreams = (() => {
891
- let duplexAccessed = false;
892
- let hasContentType = false;
893
- const supportsReadableStream = typeof globalThis.ReadableStream === 'function';
894
- const supportsRequest = typeof globalThis.Request === 'function';
895
- if (supportsReadableStream && supportsRequest) {
896
- try {
897
- hasContentType = new globalThis.Request('https://empty.invalid', {
898
- body: new globalThis.ReadableStream(),
899
- method: 'POST',
900
- // @ts-expect-error - Types are outdated.
901
- get duplex() {
902
- duplexAccessed = true;
903
- return 'half';
904
- }
905
- }).headers.has('Content-Type');
906
- } catch (error) {
907
- // QQBrowser on iOS throws "unsupported BodyInit type" error (see issue #581)
908
- if (error instanceof Error && error.message === 'unsupported BodyInit type') {
909
- return false;
910
- }
911
- throw error;
954
+ if (isModuleNotFoundError(stderr)) {
955
+ return getModuleNotFoundError(stderr);
956
+ }
957
+ const lines = splitLines$2(stderr);
958
+ const {
959
+ actualMessage,
960
+ rest
961
+ } = getDetails$1(lines);
962
+ return {
963
+ message: actualMessage,
964
+ code: '',
965
+ stack: rest
966
+ };
967
+ };
968
+ class IpcError extends VError {
969
+ // @ts-ignore
970
+ constructor(betterMessage, stdout = '', stderr = '') {
971
+ if (stdout || stderr) {
972
+ // @ts-ignore
973
+ const {
974
+ message,
975
+ code,
976
+ stack
977
+ } = getHelpfulChildProcessError(stdout, stderr);
978
+ const cause = new Error(message);
979
+ // @ts-ignore
980
+ cause.code = code;
981
+ cause.stack = stack;
982
+ super(cause, betterMessage);
983
+ } else {
984
+ super(betterMessage);
912
985
  }
986
+ // @ts-ignore
987
+ this.name = 'IpcError';
988
+ // @ts-ignore
989
+ this.stdout = stdout;
990
+ // @ts-ignore
991
+ this.stderr = stderr;
913
992
  }
914
- return duplexAccessed && !hasContentType;
915
- })();
916
- const supportsAbortController = typeof globalThis.AbortController === 'function';
917
- const supportsResponseStreams = typeof globalThis.ReadableStream === 'function';
918
- const supportsFormData = typeof globalThis.FormData === 'function';
919
- const requestMethods = ['get', 'post', 'put', 'patch', 'head', 'delete'];
920
- const responseTypes = {
921
- json: 'application/json',
922
- text: 'text/*',
923
- formData: 'multipart/form-data',
924
- arrayBuffer: '*/*',
925
- blob: '*/*'
993
+ }
994
+ const readyMessage = 'ready';
995
+ const getData$2 = event => {
996
+ return event.data;
926
997
  };
927
- // The maximum value of a 32bit int (see issue #117)
928
- const maxSafeTimeout = 2_147_483_647;
929
- // Size in bytes of a typical form boundary, used to help estimate upload size
930
- const usualFormBoundarySize = new TextEncoder().encode('------WebKitFormBoundaryaxpyiPgbbPti10Rw').length;
931
- const stop = Symbol('stop');
932
- const kyOptionKeys = {
933
- json: true,
934
- parseJson: true,
935
- stringifyJson: true,
936
- searchParams: true,
937
- prefixUrl: true,
938
- retry: true,
939
- timeout: true,
940
- hooks: true,
941
- throwHttpErrors: true,
942
- onDownloadProgress: true,
943
- onUploadProgress: true,
944
- fetch: true
998
+ const listen$7 = () => {
999
+ // @ts-ignore
1000
+ if (typeof WorkerGlobalScope === 'undefined') {
1001
+ throw new TypeError('module is not in web worker scope');
1002
+ }
1003
+ return globalThis;
945
1004
  };
946
- const requestOptionsRegistry = {
947
- method: true,
948
- headers: true,
949
- body: true,
950
- mode: true,
951
- credentials: true,
952
- cache: true,
953
- redirect: true,
954
- referrer: true,
955
- referrerPolicy: true,
956
- integrity: true,
957
- keepalive: true,
958
- signal: true,
959
- window: true,
960
- dispatcher: true,
961
- duplex: true,
962
- priority: true
1005
+ const signal$8 = global => {
1006
+ global.postMessage(readyMessage);
1007
+ };
1008
+ class IpcChildWithModuleWorker extends Ipc {
1009
+ getData(event) {
1010
+ return getData$2(event);
1011
+ }
1012
+ send(message) {
1013
+ // @ts-ignore
1014
+ this._rawIpc.postMessage(message);
1015
+ }
1016
+ sendAndTransfer(message) {
1017
+ const transfer = getTransferrables(message);
1018
+ // @ts-ignore
1019
+ this._rawIpc.postMessage(message, transfer);
1020
+ }
1021
+ dispose() {
1022
+ // ignore
1023
+ }
1024
+ onClose(callback) {
1025
+ // ignore
1026
+ }
1027
+ onMessage(callback) {
1028
+ this._rawIpc.addEventListener('message', callback);
1029
+ }
1030
+ }
1031
+ const wrap$f = global => {
1032
+ return new IpcChildWithModuleWorker(global);
1033
+ };
1034
+ const waitForFirstMessage = async port => {
1035
+ const {
1036
+ resolve,
1037
+ promise
1038
+ } = Promise.withResolvers();
1039
+ port.addEventListener('message', resolve, {
1040
+ once: true
1041
+ });
1042
+ const event = await promise;
1043
+ // @ts-ignore
1044
+ return event.data;
963
1045
  };
964
-
965
- // eslint-disable-next-line @typescript-eslint/ban-types
966
- const getBodySize = body => {
967
- if (!body) {
968
- return 0;
1046
+ const listen$6 = async () => {
1047
+ const parentIpcRaw = listen$7();
1048
+ signal$8(parentIpcRaw);
1049
+ const parentIpc = wrap$f(parentIpcRaw);
1050
+ const firstMessage = await waitForFirstMessage(parentIpc);
1051
+ if (firstMessage.method !== 'initialize') {
1052
+ throw new IpcError('unexpected first message');
969
1053
  }
970
- if (body instanceof FormData) {
971
- // This is an approximation, as FormData size calculation is not straightforward
972
- let size = 0;
973
- for (const [key, value] of body) {
974
- size += usualFormBoundarySize;
975
- size += new TextEncoder().encode(`Content-Disposition: form-data; name="${key}"`).length;
976
- size += typeof value === 'string' ? new TextEncoder().encode(value).length : value.size;
977
- }
978
- return size;
1054
+ const type = firstMessage.params[0];
1055
+ if (type === 'message-port') {
1056
+ parentIpc.send({
1057
+ jsonrpc: '2.0',
1058
+ id: firstMessage.id,
1059
+ result: null
1060
+ });
1061
+ parentIpc.dispose();
1062
+ const port = firstMessage.params[1];
1063
+ return port;
979
1064
  }
980
- if (body instanceof Blob) {
981
- return body.size;
1065
+ return globalThis;
1066
+ };
1067
+ class IpcChildWithModuleWorkerAndMessagePort extends Ipc {
1068
+ getData(event) {
1069
+ return getData$2(event);
982
1070
  }
983
- if (body instanceof ArrayBuffer) {
984
- return body.byteLength;
1071
+ send(message) {
1072
+ this._rawIpc.postMessage(message);
985
1073
  }
986
- if (typeof body === 'string') {
987
- return new TextEncoder().encode(body).length;
1074
+ sendAndTransfer(message) {
1075
+ const transfer = getTransferrables(message);
1076
+ this._rawIpc.postMessage(message, transfer);
988
1077
  }
989
- if (body instanceof URLSearchParams) {
990
- return new TextEncoder().encode(body.toString()).length;
1078
+ dispose() {
1079
+ if (this._rawIpc.close) {
1080
+ this._rawIpc.close();
1081
+ }
991
1082
  }
992
- if ('byteLength' in body) {
993
- return body.byteLength;
1083
+ onClose(callback) {
1084
+ // ignore
994
1085
  }
995
- if (typeof body === 'object' && body !== null) {
996
- try {
997
- const jsonString = JSON.stringify(body);
998
- return new TextEncoder().encode(jsonString).length;
999
- } catch {
1000
- return 0;
1001
- }
1086
+ onMessage(callback) {
1087
+ this._rawIpc.addEventListener('message', callback);
1088
+ this._rawIpc.start();
1002
1089
  }
1003
- return 0; // Default case, unable to determine size
1090
+ }
1091
+ const wrap$e = port => {
1092
+ return new IpcChildWithModuleWorkerAndMessagePort(port);
1004
1093
  };
1005
- const streamResponse = (response, onDownloadProgress) => {
1006
- const totalBytes = Number(response.headers.get('content-length')) || 0;
1007
- let transferredBytes = 0;
1008
- if (response.status === 204) {
1009
- if (onDownloadProgress) {
1010
- onDownloadProgress({
1011
- percent: 1,
1012
- totalBytes,
1013
- transferredBytes
1014
- }, new Uint8Array());
1015
- }
1016
- return new Response(null, {
1017
- status: response.status,
1018
- statusText: response.statusText,
1019
- headers: response.headers
1020
- });
1021
- }
1022
- return new Response(new ReadableStream({
1023
- async start(controller) {
1024
- const reader = response.body.getReader();
1025
- if (onDownloadProgress) {
1026
- onDownloadProgress({
1027
- percent: 0,
1028
- transferredBytes: 0,
1029
- totalBytes
1030
- }, new Uint8Array());
1031
- }
1032
- async function read() {
1033
- const {
1034
- done,
1035
- value
1036
- } = await reader.read();
1037
- if (done) {
1038
- controller.close();
1039
- return;
1040
- }
1041
- if (onDownloadProgress) {
1042
- transferredBytes += value.byteLength;
1043
- const percent = totalBytes === 0 ? 0 : transferredBytes / totalBytes;
1044
- onDownloadProgress({
1045
- percent,
1046
- transferredBytes,
1047
- totalBytes
1048
- }, value);
1049
- }
1050
- controller.enqueue(value);
1051
- await read();
1052
- }
1053
- await read();
1054
- }
1055
- }), {
1056
- status: response.status,
1057
- statusText: response.statusText,
1058
- headers: response.headers
1059
- });
1094
+ const IpcChildWithModuleWorkerAndMessagePort$1 = {
1095
+ __proto__: null,
1096
+ listen: listen$6,
1097
+ wrap: wrap$e
1060
1098
  };
1061
- const streamRequest = (request, onUploadProgress) => {
1062
- const totalBytes = getBodySize(request.body);
1063
- let transferredBytes = 0;
1064
- return new Request(request, {
1065
- // @ts-expect-error - Types are outdated.
1066
- duplex: 'half',
1067
- body: new ReadableStream({
1068
- async start(controller) {
1069
- const reader = request.body instanceof ReadableStream ? request.body.getReader() : new Response('').body.getReader();
1070
- async function read() {
1071
- const {
1072
- done,
1073
- value
1074
- } = await reader.read();
1075
- if (done) {
1076
- // Ensure 100% progress is reported when the upload is complete
1077
- if (onUploadProgress) {
1078
- onUploadProgress({
1079
- percent: 1,
1080
- transferredBytes,
1081
- totalBytes: Math.max(totalBytes, transferredBytes)
1082
- }, new Uint8Array());
1083
- }
1084
- controller.close();
1085
- return;
1086
- }
1087
- transferredBytes += value.byteLength;
1088
- let percent = totalBytes === 0 ? 0 : transferredBytes / totalBytes;
1089
- if (totalBytes < transferredBytes || percent === 1) {
1090
- percent = 0.99;
1091
- }
1092
- if (onUploadProgress) {
1093
- onUploadProgress({
1094
- percent: Number(percent.toFixed(2)),
1095
- transferredBytes,
1096
- totalBytes
1097
- }, value);
1098
- }
1099
- controller.enqueue(value);
1100
- await read();
1101
- }
1102
- await read();
1103
- }
1104
- })
1105
- });
1099
+ const addListener = (emitter, type, callback) => {
1100
+ if ('addEventListener' in emitter) {
1101
+ emitter.addEventListener(type, callback);
1102
+ } else {
1103
+ emitter.on(type, callback);
1104
+ }
1106
1105
  };
1107
-
1108
- // eslint-disable-next-line @typescript-eslint/ban-types
1109
- const isObject = value => value !== null && typeof value === 'object';
1110
-
1111
- const validateAndMerge = (...sources) => {
1112
- for (const source of sources) {
1113
- if ((!isObject(source) || Array.isArray(source)) && source !== undefined) {
1114
- throw new TypeError('The `options` argument must be an object');
1115
- }
1106
+ const removeListener = (emitter, type, callback) => {
1107
+ if ('removeEventListener' in emitter) {
1108
+ emitter.removeEventListener(type, callback);
1109
+ } else {
1110
+ emitter.off(type, callback);
1116
1111
  }
1117
- return deepMerge({}, ...sources);
1118
1112
  };
1119
- const mergeHeaders = (source1 = {}, source2 = {}) => {
1120
- const result = new globalThis.Headers(source1);
1121
- const isHeadersInstance = source2 instanceof globalThis.Headers;
1122
- const source = new globalThis.Headers(source2);
1123
- for (const [key, value] of source.entries()) {
1124
- if (isHeadersInstance && value === 'undefined' || value === undefined) {
1125
- result.delete(key);
1126
- } else {
1127
- result.set(key, value);
1113
+ const getFirstEvent = (eventEmitter, eventMap) => {
1114
+ const {
1115
+ resolve,
1116
+ promise
1117
+ } = Promise.withResolvers();
1118
+ const listenerMap = Object.create(null);
1119
+ const cleanup = value => {
1120
+ for (const event of Object.keys(eventMap)) {
1121
+ removeListener(eventEmitter, event, listenerMap[event]);
1128
1122
  }
1123
+ resolve(value);
1124
+ };
1125
+ for (const [event, type] of Object.entries(eventMap)) {
1126
+ const listener = event => {
1127
+ cleanup({
1128
+ type,
1129
+ event
1130
+ });
1131
+ };
1132
+ addListener(eventEmitter, event, listener);
1133
+ listenerMap[event] = listener;
1129
1134
  }
1130
- return result;
1135
+ return promise;
1131
1136
  };
1132
- function newHookValue(original, incoming, property) {
1133
- return Object.hasOwn(incoming, property) && incoming[property] === undefined ? [] : deepMerge(original[property] ?? [], incoming[property] ?? []);
1134
- }
1135
- const mergeHooks = (original = {}, incoming = {}) => ({
1136
- beforeRequest: newHookValue(original, incoming, 'beforeRequest'),
1137
- beforeRetry: newHookValue(original, incoming, 'beforeRetry'),
1138
- afterResponse: newHookValue(original, incoming, 'afterResponse'),
1139
- beforeError: newHookValue(original, incoming, 'beforeError')
1140
- });
1141
- // TODO: Make this strongly-typed (no `any`).
1142
- const deepMerge = (...sources) => {
1143
- let returnValue = {};
1144
- let headers = {};
1145
- let hooks = {};
1146
- for (const source of sources) {
1147
- if (Array.isArray(source)) {
1148
- if (!Array.isArray(returnValue)) {
1149
- returnValue = [];
1150
- }
1151
- returnValue = [...returnValue, ...source];
1152
- } else if (isObject(source)) {
1153
- for (let [key, value] of Object.entries(source)) {
1154
- if (isObject(value) && key in returnValue) {
1155
- value = deepMerge(returnValue[key], value);
1156
- }
1157
- returnValue = {
1158
- ...returnValue,
1159
- [key]: value
1160
- };
1161
- }
1162
- if (isObject(source.hooks)) {
1163
- hooks = mergeHooks(hooks, source.hooks);
1164
- returnValue.hooks = hooks;
1165
- }
1166
- if (isObject(source.headers)) {
1167
- headers = mergeHeaders(headers, source.headers);
1168
- returnValue.headers = headers;
1169
- }
1170
- }
1137
+ const Message$1 = 3;
1138
+ const create$5$1 = async ({
1139
+ messagePort,
1140
+ isMessagePortOpen
1141
+ }) => {
1142
+ if (!isMessagePort(messagePort)) {
1143
+ throw new IpcError('port must be of type MessagePort');
1144
+ }
1145
+ if (isMessagePortOpen) {
1146
+ return messagePort;
1147
+ }
1148
+ const eventPromise = getFirstEvent(messagePort, {
1149
+ message: Message$1
1150
+ });
1151
+ messagePort.start();
1152
+ const {
1153
+ type,
1154
+ event
1155
+ } = await eventPromise;
1156
+ if (type !== Message$1) {
1157
+ throw new IpcError('Failed to wait for ipc message');
1158
+ }
1159
+ if (event.data !== readyMessage) {
1160
+ throw new IpcError('unexpected first message');
1171
1161
  }
1172
- return returnValue;
1162
+ return messagePort;
1173
1163
  };
1174
-
1175
- const normalizeRequestMethod = input => requestMethods.includes(input) ? input.toUpperCase() : input;
1176
- const retryMethods = ['get', 'put', 'head', 'delete', 'options', 'trace'];
1177
- const retryStatusCodes = [408, 413, 429, 500, 502, 503, 504];
1178
- const retryAfterStatusCodes = [413, 429, 503];
1179
- const defaultRetryOptions = {
1180
- limit: 2,
1181
- methods: retryMethods,
1182
- statusCodes: retryStatusCodes,
1183
- afterStatusCodes: retryAfterStatusCodes,
1184
- maxRetryAfter: Number.POSITIVE_INFINITY,
1185
- backoffLimit: Number.POSITIVE_INFINITY,
1186
- delay: attemptCount => 0.3 * 2 ** (attemptCount - 1) * 1000
1164
+ const signal$1 = messagePort => {
1165
+ messagePort.start();
1187
1166
  };
1188
- const normalizeRetryOptions = (retry = {}) => {
1189
- if (typeof retry === 'number') {
1190
- return {
1191
- ...defaultRetryOptions,
1192
- limit: retry
1193
- };
1167
+ class IpcParentWithMessagePort extends Ipc {
1168
+ getData = getData$2;
1169
+ send(message) {
1170
+ this._rawIpc.postMessage(message);
1194
1171
  }
1195
- if (retry.methods && !Array.isArray(retry.methods)) {
1196
- throw new Error('retry.methods must be an array');
1172
+ sendAndTransfer(message) {
1173
+ const transfer = getTransferrables(message);
1174
+ this._rawIpc.postMessage(message, transfer);
1197
1175
  }
1198
- if (retry.statusCodes && !Array.isArray(retry.statusCodes)) {
1199
- throw new Error('retry.statusCodes must be an array');
1176
+ dispose() {
1177
+ this._rawIpc.close();
1178
+ }
1179
+ onMessage(callback) {
1180
+ this._rawIpc.addEventListener('message', callback);
1200
1181
  }
1182
+ onClose(callback) {}
1183
+ }
1184
+ const wrap$5 = messagePort => {
1185
+ return new IpcParentWithMessagePort(messagePort);
1186
+ };
1187
+ const IpcParentWithMessagePort$1 = {
1188
+ __proto__: null,
1189
+ create: create$5$1,
1190
+ signal: signal$1,
1191
+ wrap: wrap$5
1192
+ };
1193
+
1194
+ const Two = '2.0';
1195
+ const create$4$1 = (method, params) => {
1201
1196
  return {
1202
- ...defaultRetryOptions,
1203
- ...retry
1197
+ jsonrpc: Two,
1198
+ method,
1199
+ params
1204
1200
  };
1205
1201
  };
1206
-
1207
- // `Promise.race()` workaround (#91)
1208
- async function timeout(request, init, abortController, options) {
1209
- return new Promise((resolve, reject) => {
1210
- const timeoutId = setTimeout(() => {
1211
- if (abortController) {
1212
- abortController.abort();
1213
- }
1214
- reject(new TimeoutError(request));
1215
- }, options.timeout);
1216
- void options.fetch(request, init).then(resolve).catch(reject).then(() => {
1217
- clearTimeout(timeoutId);
1218
- });
1219
- });
1220
- }
1221
-
1222
- // https://github.com/sindresorhus/delay/tree/ab98ae8dfcb38e1593286c94d934e70d14a4e111
1223
- async function delay(ms, {
1224
- signal
1225
- }) {
1226
- return new Promise((resolve, reject) => {
1227
- if (signal) {
1228
- signal.throwIfAborted();
1229
- signal.addEventListener('abort', abortHandler, {
1230
- once: true
1231
- });
1232
- }
1233
- function abortHandler() {
1234
- clearTimeout(timeoutId);
1235
- reject(signal.reason);
1236
- }
1237
- const timeoutId = setTimeout(() => {
1238
- signal?.removeEventListener('abort', abortHandler);
1239
- resolve();
1240
- }, ms);
1241
- });
1242
- }
1243
-
1244
- const findUnknownOptions = (request, options) => {
1245
- const unknownOptions = {};
1246
- for (const key in options) {
1247
- if (!(key in requestOptionsRegistry) && !(key in kyOptionKeys) && !(key in request)) {
1248
- unknownOptions[key] = options[key];
1249
- }
1250
- }
1251
- return unknownOptions;
1202
+ const callbacks = Object.create(null);
1203
+ const set$1 = (id, fn) => {
1204
+ callbacks[id] = fn;
1252
1205
  };
1253
-
1254
- class Ky {
1255
- static create(input, options) {
1256
- const ky = new Ky(input, options);
1257
- const function_ = async () => {
1258
- if (typeof ky._options.timeout === 'number' && ky._options.timeout > maxSafeTimeout) {
1259
- throw new RangeError(`The \`timeout\` option cannot be greater than ${maxSafeTimeout}`);
1260
- }
1261
- // Delay the fetch so that body method shortcuts can set the Accept header
1262
- await Promise.resolve();
1263
- // Before using ky.request, _fetch clones it and saves the clone for future retries to use.
1264
- // If retry is not needed, close the cloned request's ReadableStream for memory safety.
1265
- let response = await ky._fetch();
1266
- for (const hook of ky._options.hooks.afterResponse) {
1267
- // eslint-disable-next-line no-await-in-loop
1268
- const modifiedResponse = await hook(ky.request, ky._options, ky._decorateResponse(response.clone()));
1269
- if (modifiedResponse instanceof globalThis.Response) {
1270
- response = modifiedResponse;
1271
- }
1272
- }
1273
- ky._decorateResponse(response);
1274
- if (!response.ok && ky._options.throwHttpErrors) {
1275
- let error = new HTTPError(response, ky.request, ky._options);
1276
- for (const hook of ky._options.hooks.beforeError) {
1277
- // eslint-disable-next-line no-await-in-loop
1278
- error = await hook(error);
1279
- }
1280
- throw error;
1281
- }
1282
- // If `onDownloadProgress` is passed, it uses the stream API internally
1283
- if (ky._options.onDownloadProgress) {
1284
- if (typeof ky._options.onDownloadProgress !== 'function') {
1285
- throw new TypeError('The `onDownloadProgress` option must be a function');
1286
- }
1287
- if (!supportsResponseStreams) {
1288
- throw new Error('Streams are not supported in your environment. `ReadableStream` is missing.');
1289
- }
1290
- return streamResponse(response.clone(), ky._options.onDownloadProgress);
1291
- }
1292
- return response;
1293
- };
1294
- const isRetriableMethod = ky._options.retry.methods.includes(ky.request.method.toLowerCase());
1295
- const result = (isRetriableMethod ? ky._retry(function_) : function_()).finally(async () => {
1296
- // Now that we know a retry is not needed, close the ReadableStream of the cloned request.
1297
- if (!ky.request.bodyUsed) {
1298
- await ky.request.body?.cancel();
1299
- }
1300
- });
1301
- for (const [type, mimeType] of Object.entries(responseTypes)) {
1302
- result[type] = async () => {
1303
- // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
1304
- ky.request.headers.set('accept', ky.request.headers.get('accept') || mimeType);
1305
- const response = await result;
1306
- if (type === 'json') {
1307
- if (response.status === 204) {
1308
- return '';
1309
- }
1310
- const arrayBuffer = await response.clone().arrayBuffer();
1311
- const responseSize = arrayBuffer.byteLength;
1312
- if (responseSize === 0) {
1313
- return '';
1314
- }
1315
- if (options.parseJson) {
1316
- return options.parseJson(await response.text());
1317
- }
1318
- }
1319
- return response[type]();
1320
- };
1321
- }
1322
- return result;
1206
+ const get$1 = id => {
1207
+ return callbacks[id];
1208
+ };
1209
+ const remove = id => {
1210
+ delete callbacks[id];
1211
+ };
1212
+ let id = 0;
1213
+ const create$3$1 = () => {
1214
+ return ++id;
1215
+ };
1216
+ const registerPromise = () => {
1217
+ const id = create$3$1();
1218
+ const {
1219
+ resolve,
1220
+ promise
1221
+ } = Promise.withResolvers();
1222
+ set$1(id, resolve);
1223
+ return {
1224
+ id,
1225
+ promise
1226
+ };
1227
+ };
1228
+ const create$2$1 = (method, params) => {
1229
+ const {
1230
+ id,
1231
+ promise
1232
+ } = registerPromise();
1233
+ const message = {
1234
+ jsonrpc: Two,
1235
+ method,
1236
+ params,
1237
+ id
1238
+ };
1239
+ return {
1240
+ message,
1241
+ promise
1242
+ };
1243
+ };
1244
+ class JsonRpcError extends Error {
1245
+ constructor(message) {
1246
+ super(message);
1247
+ this.name = 'JsonRpcError';
1323
1248
  }
1324
- request;
1325
- abortController;
1326
- _retryCount = 0;
1327
- _input;
1328
- _options;
1329
- // eslint-disable-next-line complexity
1330
- constructor(input, options = {}) {
1331
- this._input = input;
1332
- this._options = {
1333
- ...options,
1334
- headers: mergeHeaders(this._input.headers, options.headers),
1335
- hooks: mergeHooks({
1336
- beforeRequest: [],
1337
- beforeRetry: [],
1338
- beforeError: [],
1339
- afterResponse: []
1340
- }, options.hooks),
1341
- method: normalizeRequestMethod(options.method ?? this._input.method ?? 'GET'),
1342
- // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
1343
- prefixUrl: String(options.prefixUrl || ''),
1344
- retry: normalizeRetryOptions(options.retry),
1345
- throwHttpErrors: options.throwHttpErrors !== false,
1346
- timeout: options.timeout ?? 10_000,
1347
- fetch: options.fetch ?? globalThis.fetch.bind(globalThis)
1348
- };
1349
- if (typeof this._input !== 'string' && !(this._input instanceof URL || this._input instanceof globalThis.Request)) {
1350
- throw new TypeError('`input` must be a string, URL, or Request');
1351
- }
1352
- if (this._options.prefixUrl && typeof this._input === 'string') {
1353
- if (this._input.startsWith('/')) {
1354
- throw new Error('`input` must not begin with a slash when using `prefixUrl`');
1355
- }
1356
- if (!this._options.prefixUrl.endsWith('/')) {
1357
- this._options.prefixUrl += '/';
1358
- }
1359
- this._input = this._options.prefixUrl + this._input;
1360
- }
1361
- if (supportsAbortController) {
1362
- const originalSignal = this._options.signal ?? this._input.signal;
1363
- this.abortController = new globalThis.AbortController();
1364
- this._options.signal = originalSignal ? AbortSignal.any([originalSignal, this.abortController.signal]) : this.abortController.signal;
1365
- }
1366
- if (supportsRequestStreams) {
1367
- // @ts-expect-error - Types are outdated.
1368
- this._options.duplex = 'half';
1369
- }
1370
- if (this._options.json !== undefined) {
1371
- this._options.body = this._options.stringifyJson?.(this._options.json) ?? JSON.stringify(this._options.json);
1372
- this._options.headers.set('content-type', this._options.headers.get('content-type') ?? 'application/json');
1249
+ }
1250
+ const NewLine$1 = '\n';
1251
+ const DomException = 'DOMException';
1252
+ const ReferenceError$1 = 'ReferenceError';
1253
+ const SyntaxError$1 = 'SyntaxError';
1254
+ const TypeError$1 = 'TypeError';
1255
+ const getErrorConstructor = (message, type) => {
1256
+ if (type) {
1257
+ switch (type) {
1258
+ case DomException:
1259
+ return DOMException;
1260
+ case TypeError$1:
1261
+ return TypeError;
1262
+ case SyntaxError$1:
1263
+ return SyntaxError;
1264
+ case ReferenceError$1:
1265
+ return ReferenceError;
1266
+ default:
1267
+ return Error;
1373
1268
  }
1374
- this.request = new globalThis.Request(this._input, this._options);
1375
- if (this._options.searchParams) {
1376
- // eslint-disable-next-line unicorn/prevent-abbreviations
1377
- const textSearchParams = typeof this._options.searchParams === 'string' ? this._options.searchParams.replace(/^\?/, '') : new URLSearchParams(this._options.searchParams).toString();
1378
- // eslint-disable-next-line unicorn/prevent-abbreviations
1379
- const searchParams = '?' + textSearchParams;
1380
- const url = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, searchParams);
1381
- // To provide correct form boundary, Content-Type header should be deleted each time when new Request instantiated from another one
1382
- if ((supportsFormData && this._options.body instanceof globalThis.FormData || this._options.body instanceof URLSearchParams) && !(this._options.headers && this._options.headers['content-type'])) {
1383
- this.request.headers.delete('content-type');
1384
- }
1385
- // The spread of `this.request` is required as otherwise it misses the `duplex` option for some reason and throws.
1386
- this.request = new globalThis.Request(new globalThis.Request(url, {
1387
- ...this.request
1388
- }), this._options);
1269
+ }
1270
+ if (message.startsWith('TypeError: ')) {
1271
+ return TypeError;
1272
+ }
1273
+ if (message.startsWith('SyntaxError: ')) {
1274
+ return SyntaxError;
1275
+ }
1276
+ if (message.startsWith('ReferenceError: ')) {
1277
+ return ReferenceError;
1278
+ }
1279
+ return Error;
1280
+ };
1281
+ const constructError = (message, type, name) => {
1282
+ const ErrorConstructor = getErrorConstructor(message, type);
1283
+ if (ErrorConstructor === DOMException && name) {
1284
+ return new ErrorConstructor(message, name);
1285
+ }
1286
+ if (ErrorConstructor === Error) {
1287
+ const error = new Error(message);
1288
+ if (name && name !== 'VError') {
1289
+ error.name = name;
1389
1290
  }
1390
- // If `onUploadProgress` is passed, it uses the stream API internally
1391
- if (this._options.onUploadProgress) {
1392
- if (typeof this._options.onUploadProgress !== 'function') {
1393
- throw new TypeError('The `onUploadProgress` option must be a function');
1291
+ return error;
1292
+ }
1293
+ return new ErrorConstructor(message);
1294
+ };
1295
+ const getNewLineIndex$1 = (string, startIndex = undefined) => {
1296
+ return string.indexOf(NewLine$1, startIndex);
1297
+ };
1298
+ const getParentStack = error => {
1299
+ let parentStack = error.stack || error.data || error.message || '';
1300
+ if (parentStack.startsWith(' at')) {
1301
+ parentStack = error.message + NewLine$1 + parentStack;
1302
+ }
1303
+ return parentStack;
1304
+ };
1305
+ const joinLines$1 = lines => {
1306
+ return lines.join(NewLine$1);
1307
+ };
1308
+ const MethodNotFound = -32601;
1309
+ const Custom = -32001;
1310
+ const splitLines$1 = lines => {
1311
+ return lines.split(NewLine$1);
1312
+ };
1313
+ const restoreJsonRpcError = error => {
1314
+ if (error && error instanceof Error) {
1315
+ return error;
1316
+ }
1317
+ const currentStack = joinLines$1(splitLines$1(new Error().stack || '').slice(1));
1318
+ if (error && error.code && error.code === MethodNotFound) {
1319
+ const restoredError = new JsonRpcError(error.message);
1320
+ const parentStack = getParentStack(error);
1321
+ restoredError.stack = parentStack + NewLine$1 + currentStack;
1322
+ return restoredError;
1323
+ }
1324
+ if (error && error.message) {
1325
+ const restoredError = constructError(error.message, error.type, error.name);
1326
+ if (error.data) {
1327
+ if (error.data.stack && error.data.type && error.message) {
1328
+ restoredError.stack = error.data.type + ': ' + error.message + NewLine$1 + error.data.stack + NewLine$1 + currentStack;
1329
+ } else if (error.data.stack) {
1330
+ restoredError.stack = error.data.stack;
1394
1331
  }
1395
- if (!supportsRequestStreams) {
1396
- throw new Error('Request streams are not supported in your environment. The `duplex` option for `Request` is not available.');
1332
+ if (error.data.codeFrame) {
1333
+ // @ts-ignore
1334
+ restoredError.codeFrame = error.data.codeFrame;
1397
1335
  }
1398
- const originalBody = this.request.body;
1399
- if (originalBody) {
1400
- this.request = streamRequest(this.request, this._options.onUploadProgress);
1336
+ if (error.data.code) {
1337
+ // @ts-ignore
1338
+ restoredError.code = error.data.code;
1401
1339
  }
1402
- }
1403
- }
1404
- _calculateRetryDelay(error) {
1405
- this._retryCount++;
1406
- if (this._retryCount > this._options.retry.limit || error instanceof TimeoutError) {
1407
- throw error;
1408
- }
1409
- if (error instanceof HTTPError) {
1410
- if (!this._options.retry.statusCodes.includes(error.response.status)) {
1411
- throw error;
1340
+ if (error.data.type) {
1341
+ // @ts-ignore
1342
+ restoredError.name = error.data.type;
1412
1343
  }
1413
- const retryAfter = error.response.headers.get('Retry-After') ?? error.response.headers.get('RateLimit-Reset') ?? error.response.headers.get('X-RateLimit-Reset') // GitHub
1414
- ?? error.response.headers.get('X-Rate-Limit-Reset'); // Twitter
1415
- if (retryAfter && this._options.retry.afterStatusCodes.includes(error.response.status)) {
1416
- let after = Number(retryAfter) * 1000;
1417
- if (Number.isNaN(after)) {
1418
- after = Date.parse(retryAfter) - Date.now();
1419
- } else if (after >= Date.parse('2024-01-01')) {
1420
- // A large number is treated as a timestamp (fixed threshold protects against clock skew)
1421
- after -= Date.now();
1422
- }
1423
- const max = this._options.retry.maxRetryAfter ?? after;
1424
- return after < max ? after : max;
1344
+ } else {
1345
+ if (error.stack) {
1346
+ const lowerStack = restoredError.stack || '';
1347
+ // @ts-ignore
1348
+ const indexNewLine = getNewLineIndex$1(lowerStack);
1349
+ const parentStack = getParentStack(error);
1350
+ // @ts-ignore
1351
+ restoredError.stack = parentStack + lowerStack.slice(indexNewLine);
1425
1352
  }
1426
- if (error.response.status === 413) {
1427
- throw error;
1353
+ if (error.codeFrame) {
1354
+ // @ts-ignore
1355
+ restoredError.codeFrame = error.codeFrame;
1428
1356
  }
1429
1357
  }
1430
- const retryDelay = this._options.retry.delay(this._retryCount);
1431
- return Math.min(this._options.retry.backoffLimit, retryDelay);
1358
+ return restoredError;
1432
1359
  }
1433
- _decorateResponse(response) {
1434
- if (this._options.parseJson) {
1435
- response.json = async () => this._options.parseJson(await response.text());
1360
+ if (typeof error === 'string') {
1361
+ return new Error(`JsonRpc Error: ${error}`);
1362
+ }
1363
+ return new Error(`JsonRpc Error: ${error}`);
1364
+ };
1365
+ const unwrapJsonRpcResult = responseMessage => {
1366
+ if ('error' in responseMessage) {
1367
+ const restoredError = restoreJsonRpcError(responseMessage.error);
1368
+ throw restoredError;
1369
+ }
1370
+ if ('result' in responseMessage) {
1371
+ return responseMessage.result;
1372
+ }
1373
+ throw new JsonRpcError('unexpected response message');
1374
+ };
1375
+ const warn$1 = (...args) => {
1376
+ console.warn(...args);
1377
+ };
1378
+ const resolve = (id, response) => {
1379
+ const fn = get$1(id);
1380
+ if (!fn) {
1381
+ console.log(response);
1382
+ warn$1(`callback ${id} may already be disposed`);
1383
+ return;
1384
+ }
1385
+ fn(response);
1386
+ remove(id);
1387
+ };
1388
+ const E_COMMAND_NOT_FOUND = 'E_COMMAND_NOT_FOUND';
1389
+ const getErrorType = prettyError => {
1390
+ if (prettyError && prettyError.type) {
1391
+ return prettyError.type;
1392
+ }
1393
+ if (prettyError && prettyError.constructor && prettyError.constructor.name) {
1394
+ return prettyError.constructor.name;
1395
+ }
1396
+ return undefined;
1397
+ };
1398
+ const getErrorProperty = (error, prettyError) => {
1399
+ if (error && error.code === E_COMMAND_NOT_FOUND) {
1400
+ return {
1401
+ code: MethodNotFound,
1402
+ message: error.message,
1403
+ data: error.stack
1404
+ };
1405
+ }
1406
+ return {
1407
+ code: Custom,
1408
+ message: prettyError.message,
1409
+ data: {
1410
+ stack: prettyError.stack,
1411
+ codeFrame: prettyError.codeFrame,
1412
+ type: getErrorType(prettyError),
1413
+ code: prettyError.code,
1414
+ name: prettyError.name
1436
1415
  }
1437
- return response;
1416
+ };
1417
+ };
1418
+ const create$1$1 = (message, error) => {
1419
+ return {
1420
+ jsonrpc: Two,
1421
+ id: message.id,
1422
+ error
1423
+ };
1424
+ };
1425
+ const getErrorResponse = (message, error, preparePrettyError, logError) => {
1426
+ const prettyError = preparePrettyError(error);
1427
+ logError(error, prettyError);
1428
+ const errorProperty = getErrorProperty(error, prettyError);
1429
+ return create$1$1(message, errorProperty);
1430
+ };
1431
+ const create$5 = (message, result) => {
1432
+ return {
1433
+ jsonrpc: Two,
1434
+ id: message.id,
1435
+ result: result ?? null
1436
+ };
1437
+ };
1438
+ const getSuccessResponse = (message, result) => {
1439
+ const resultProperty = result ?? null;
1440
+ return create$5(message, resultProperty);
1441
+ };
1442
+ const getResponse = async (message, ipc, execute, preparePrettyError, logError, requiresSocket) => {
1443
+ try {
1444
+ const result = requiresSocket(message.method) ? await execute(message.method, ipc, ...message.params) : await execute(message.method, ...message.params);
1445
+ return getSuccessResponse(message, result);
1446
+ } catch (error) {
1447
+ return getErrorResponse(message, error, preparePrettyError, logError);
1448
+ }
1449
+ };
1450
+ const defaultPreparePrettyError = error => {
1451
+ return error;
1452
+ };
1453
+ const defaultLogError = () => {
1454
+ // ignore
1455
+ };
1456
+ const defaultRequiresSocket = () => {
1457
+ return false;
1458
+ };
1459
+ const defaultResolve = resolve;
1460
+
1461
+ // TODO maybe remove this in v6 or v7, only accept options object to simplify the code
1462
+ const normalizeParams = args => {
1463
+ if (args.length === 1) {
1464
+ const options = args[0];
1465
+ return {
1466
+ ipc: options.ipc,
1467
+ message: options.message,
1468
+ execute: options.execute,
1469
+ resolve: options.resolve || defaultResolve,
1470
+ preparePrettyError: options.preparePrettyError || defaultPreparePrettyError,
1471
+ logError: options.logError || defaultLogError,
1472
+ requiresSocket: options.requiresSocket || defaultRequiresSocket
1473
+ };
1438
1474
  }
1439
- async _retry(function_) {
1440
- try {
1441
- return await function_();
1442
- } catch (error) {
1443
- const ms = Math.min(this._calculateRetryDelay(error), maxSafeTimeout);
1444
- if (this._retryCount < 1) {
1445
- throw error;
1446
- }
1447
- await delay(ms, {
1448
- signal: this._options.signal
1449
- });
1450
- for (const hook of this._options.hooks.beforeRetry) {
1451
- // eslint-disable-next-line no-await-in-loop
1452
- const hookResult = await hook({
1453
- request: this.request,
1454
- options: this._options,
1455
- error: error,
1456
- retryCount: this._retryCount
1457
- });
1458
- // If `stop` is returned from the hook, the retry process is stopped
1459
- if (hookResult === stop) {
1460
- return;
1461
- }
1475
+ return {
1476
+ ipc: args[0],
1477
+ message: args[1],
1478
+ execute: args[2],
1479
+ resolve: args[3],
1480
+ preparePrettyError: args[4],
1481
+ logError: args[5],
1482
+ requiresSocket: args[6]
1483
+ };
1484
+ };
1485
+ const handleJsonRpcMessage = async (...args) => {
1486
+ const options = normalizeParams(args);
1487
+ const {
1488
+ message,
1489
+ ipc,
1490
+ execute,
1491
+ resolve,
1492
+ preparePrettyError,
1493
+ logError,
1494
+ requiresSocket
1495
+ } = options;
1496
+ if ('id' in message) {
1497
+ if ('method' in message) {
1498
+ const response = await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
1499
+ try {
1500
+ ipc.send(response);
1501
+ } catch (error) {
1502
+ const errorResponse = getErrorResponse(message, error, preparePrettyError, logError);
1503
+ ipc.send(errorResponse);
1462
1504
  }
1463
- return this._retry(function_);
1505
+ return;
1464
1506
  }
1507
+ resolve(message.id, message);
1508
+ return;
1465
1509
  }
1466
- async _fetch() {
1467
- for (const hook of this._options.hooks.beforeRequest) {
1468
- // eslint-disable-next-line no-await-in-loop
1469
- const result = await hook(this.request, this._options);
1470
- if (result instanceof Request) {
1471
- this.request = result;
1472
- break;
1473
- }
1474
- if (result instanceof Response) {
1475
- return result;
1476
- }
1477
- }
1478
- const nonRequestOptions = findUnknownOptions(this.request, this._options);
1479
- // Cloning is done here to prepare in advance for retries
1480
- const mainRequest = this.request;
1481
- this.request = mainRequest.clone();
1482
- if (this._options.timeout === false) {
1483
- return this._options.fetch(mainRequest, nonRequestOptions);
1484
- }
1485
- return timeout(mainRequest, nonRequestOptions, this.abortController, this._options);
1510
+ if ('method' in message) {
1511
+ await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
1512
+ return;
1486
1513
  }
1487
- }
1514
+ throw new JsonRpcError('unexpected message');
1515
+ };
1516
+ const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
1517
+ const {
1518
+ message,
1519
+ promise
1520
+ } = create$2$1(method, params);
1521
+ if (useSendAndTransfer && ipc.sendAndTransfer) {
1522
+ ipc.sendAndTransfer(message);
1523
+ } else {
1524
+ ipc.send(message);
1525
+ }
1526
+ const responseMessage = await promise;
1527
+ return unwrapJsonRpcResult(responseMessage);
1528
+ };
1529
+ const send = (transport, method, ...params) => {
1530
+ const message = create$4$1(method, params);
1531
+ transport.send(message);
1532
+ };
1533
+ const invoke = (ipc, method, ...params) => {
1534
+ return invokeHelper(ipc, method, params, false);
1535
+ };
1536
+ const invokeAndTransfer = (ipc, method, ...params) => {
1537
+ return invokeHelper(ipc, method, params, true);
1538
+ };
1488
1539
 
1489
- /*! MIT License © Sindre Sorhus */
1490
- const createInstance = defaults => {
1491
- // eslint-disable-next-line @typescript-eslint/promise-function-async
1492
- const ky = (input, options) => Ky.create(input, validateAndMerge(defaults, options));
1493
- for (const method of requestMethods) {
1494
- // eslint-disable-next-line @typescript-eslint/promise-function-async
1495
- ky[method] = (input, options) => Ky.create(input, validateAndMerge(defaults, options, {
1496
- method
1497
- }));
1540
+ const commands = Object.create(null);
1541
+ const register = commandMap => {
1542
+ Object.assign(commands, commandMap);
1543
+ };
1544
+ const getCommand = key => {
1545
+ return commands[key];
1546
+ };
1547
+ const execute = (command, ...args) => {
1548
+ const fn = getCommand(command);
1549
+ if (!fn) {
1550
+ throw new Error(`command not found ${command}`);
1498
1551
  }
1499
- ky.create = newDefaults => createInstance(validateAndMerge(newDefaults));
1500
- ky.extend = newDefaults => {
1501
- if (typeof newDefaults === 'function') {
1502
- newDefaults = newDefaults(defaults ?? {});
1503
- }
1504
- return createInstance(validateAndMerge(defaults, newDefaults));
1505
- };
1506
- ky.stop = stop;
1507
- return ky;
1552
+ return fn(...args);
1508
1553
  };
1509
- const ky = createInstance();
1510
1554
 
1511
- const getJson = async (url, options = {}) => {
1512
- try {
1513
- const response = await fetch(url);
1514
- if (!response.ok) {
1515
- throw new Error(response.statusText);
1516
- }
1517
- const result = await response.json();
1518
- return result;
1519
- } catch (error) {
1520
- if (error && error instanceof TypeError && error.message === 'Failed to fetch') {
1521
- throw new VError(`Failed to request json from "${url}". Make sure that the server is running and has CORS enabled`);
1522
- }
1555
+ const createRpc = ipc => {
1556
+ const rpc = {
1523
1557
  // @ts-ignore
1524
- error.message = `Failed to request json from "${url}": ${error.message}`;
1525
- throw error;
1558
+ ipc,
1559
+ /**
1560
+ * @deprecated
1561
+ */
1562
+ send(method, ...params) {
1563
+ send(ipc, method, ...params);
1564
+ },
1565
+ invoke(method, ...params) {
1566
+ return invoke(ipc, method, ...params);
1567
+ },
1568
+ invokeAndTransfer(method, ...params) {
1569
+ return invokeAndTransfer(ipc, method, ...params);
1570
+ },
1571
+ async dispose() {
1572
+ await ipc?.dispose();
1573
+ }
1574
+ };
1575
+ return rpc;
1576
+ };
1577
+ const requiresSocket = () => {
1578
+ return false;
1579
+ };
1580
+ const preparePrettyError = error => {
1581
+ return error;
1582
+ };
1583
+ const logError = () => {
1584
+ // handled by renderer worker
1585
+ };
1586
+ const handleMessage = event => {
1587
+ const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
1588
+ const actualExecute = event?.target?.execute || execute;
1589
+ return handleJsonRpcMessage(event.target, event.data, actualExecute, resolve, preparePrettyError, logError, actualRequiresSocket);
1590
+ };
1591
+ const handleIpc = ipc => {
1592
+ if ('addEventListener' in ipc) {
1593
+ ipc.addEventListener('message', handleMessage);
1594
+ } else if ('on' in ipc) {
1595
+ // deprecated
1596
+ ipc.on('message', handleMessage);
1526
1597
  }
1527
1598
  };
1528
- const getText = async (url, options = {}) => {
1529
- try {
1530
- return await ky(url, options).text();
1531
- } catch (error) {
1532
- if (error && error instanceof TypeError && error.message === 'Failed to fetch') {
1533
- throw new VError(error, `Failed to request text from "${url}". Make sure that the server is running and has CORS enabled`);
1534
- }
1535
- throw new VError(error, `Failed to request text from "${url}"`);
1599
+ const listen$1 = async (module, options) => {
1600
+ const rawIpc = await module.listen(options);
1601
+ if (module.signal) {
1602
+ module.signal(rawIpc);
1536
1603
  }
1604
+ const ipc = module.wrap(rawIpc);
1605
+ return ipc;
1606
+ };
1607
+ const create$3 = async ({
1608
+ commandMap,
1609
+ messagePort
1610
+ }) => {
1611
+ // TODO create a commandMap per rpc instance
1612
+ register(commandMap);
1613
+ const rawIpc = await IpcParentWithMessagePort$1.create({
1614
+ messagePort,
1615
+ isMessagePortOpen: true
1616
+ });
1617
+ const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
1618
+ handleIpc(ipc);
1619
+ const rpc = createRpc(ipc);
1620
+ messagePort.start();
1621
+ return rpc;
1622
+ };
1623
+ const create$2 = async ({
1624
+ commandMap,
1625
+ messagePort
1626
+ }) => {
1627
+ return create$3({
1628
+ commandMap,
1629
+ messagePort
1630
+ });
1631
+ };
1632
+ const PlainMessagePortRpcParent = {
1633
+ __proto__: null,
1634
+ create: create$2
1635
+ };
1636
+ const create$4 = async ({
1637
+ commandMap
1638
+ }) => {
1639
+ // TODO create a commandMap per rpc instance
1640
+ register(commandMap);
1641
+ const ipc = await listen$1(IpcChildWithModuleWorkerAndMessagePort$1);
1642
+ handleIpc(ipc);
1643
+ const rpc = createRpc(ipc);
1644
+ return rpc;
1645
+ };
1646
+ const WebWorkerRpcClient = {
1647
+ __proto__: null,
1648
+ create: create$4
1649
+ };
1650
+
1651
+ const commandMapRef = Object.create(null);
1652
+
1653
+ const handleMessagePort2 = async port => {
1654
+ await PlainMessagePortRpcParent.create({
1655
+ messagePort: port,
1656
+ commandMap: commandMapRef
1657
+ });
1537
1658
  };
1538
1659
 
1539
1660
  const EmptyString = '';
@@ -1702,7 +1823,7 @@ const getMarkerLines = (loc, source, opts) => {
1702
1823
  markerLines
1703
1824
  };
1704
1825
  };
1705
- const create = (rawLines, loc, opts = {}) => {
1826
+ const create$1 = (rawLines, loc, opts = {}) => {
1706
1827
  const lines = rawLines.split(NEWLINE);
1707
1828
  const {
1708
1829
  start,
@@ -2031,7 +2152,7 @@ const prepareErrorMessageWithoutCodeFrame = async error => {
2031
2152
  } = getOriginalPosition(sourceMap, parsedLine, parsedColumn);
2032
2153
  const absoluteSourceUrl = toAbsoluteUrl(path, source);
2033
2154
  const originalSourceContent = await getText(absoluteSourceUrl);
2034
- const codeFrame = create(originalSourceContent, {
2155
+ const codeFrame = create$1(originalSourceContent, {
2035
2156
  start: {
2036
2157
  line: originalLine,
2037
2158
  column: originalColumn
@@ -2049,7 +2170,7 @@ const prepareErrorMessageWithoutCodeFrame = async error => {
2049
2170
  _error: error
2050
2171
  };
2051
2172
  }
2052
- const codeFrame = create(text, {
2173
+ const codeFrame = create$1(text, {
2053
2174
  start: {
2054
2175
  line: parsedLine,
2055
2176
  column: parsedColumn
@@ -2120,22 +2241,48 @@ const terminate = () => {
2120
2241
  const commandMap = {
2121
2242
  'Errors.getJson': getJson,
2122
2243
  'Errors.getText': getText,
2123
- 'Errors.terminate': terminate,
2244
+ 'Errors.handleMessagePort': handleMessagePort2,
2124
2245
  'Errors.prepare': prepare,
2125
- 'Errors.print': print
2246
+ 'Errors.print': print,
2247
+ 'Errors.terminate': terminate
2126
2248
  };
2127
2249
 
2128
2250
  const rpcs = Object.create(null);
2129
- const set$3 = (id, rpc) => {
2251
+ const set$a = (id, rpc) => {
2130
2252
  rpcs[id] = rpc;
2131
2253
  };
2132
- const RendererWorker$1 = 1;
2133
- const set$2 = rpc => {
2134
- set$3(RendererWorker$1, rpc);
2254
+ const get = id => {
2255
+ return rpcs[id];
2135
2256
  };
2257
+
2258
+ /* eslint-disable @typescript-eslint/explicit-function-return-type */
2259
+
2260
+ const create = rpcId => {
2261
+ return {
2262
+ // @ts-ignore
2263
+ invoke(method, ...params) {
2264
+ const rpc = get(rpcId);
2265
+ // @ts-ignore
2266
+ return rpc.invoke(method, ...params);
2267
+ },
2268
+ // @ts-ignore
2269
+ invokeAndTransfer(method, ...params) {
2270
+ const rpc = get(rpcId);
2271
+ // @ts-ignore
2272
+ return rpc.invokeAndTransfer(method, ...params);
2273
+ },
2274
+ set(rpc) {
2275
+ set$a(rpcId, rpc);
2276
+ }
2277
+ };
2278
+ };
2279
+ const RendererWorker$1 = 1;
2280
+ const {
2281
+ set: set$5
2282
+ } = create(RendererWorker$1);
2136
2283
  const RendererWorker = {
2137
2284
  __proto__: null,
2138
- set: set$2
2285
+ set: set$5
2139
2286
  };
2140
2287
 
2141
2288
  const {
@@ -2144,12 +2291,13 @@ const {
2144
2291
 
2145
2292
  const listen = async () => {
2146
2293
  const rpc = await WebWorkerRpcClient.create({
2147
- commandMap: commandMap
2294
+ commandMap: commandMapRef
2148
2295
  });
2149
2296
  set(rpc);
2150
2297
  };
2151
2298
 
2152
2299
  const main = async () => {
2300
+ Object.assign(commandMapRef, commandMap);
2153
2301
  await listen();
2154
2302
  };
2155
2303