@lizardbyte/shared-web 2026.219.33142 → 2026.726.204939

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 (489) hide show
  1. package/README.md +36 -8
  2. package/dist/crowdin-rustdoc-css.css +3 -0
  3. package/dist/crowdin-rustdoc-css.css.map +1 -0
  4. package/dist/crowdin-rustdoc-css.js +0 -0
  5. package/dist/crowdin.js +1 -1
  6. package/dist/crowdin.js.map +1 -1
  7. package/dist/format-number.js +1 -1
  8. package/dist/format-number.js.map +1 -1
  9. package/dist/language-icons/AL.svg +1 -0
  10. package/dist/language-icons/ANTLR.svg +1 -0
  11. package/dist/language-icons/API Blueprint.svg +1 -0
  12. package/dist/language-icons/APL.svg +1 -0
  13. package/dist/language-icons/ASP.NET.svg +1 -0
  14. package/dist/language-icons/ATS.svg +1 -0
  15. package/dist/language-icons/ActionScript.svg +1 -0
  16. package/dist/language-icons/Ada.svg +1 -0
  17. package/dist/language-icons/ApacheConf.svg +1 -0
  18. package/dist/language-icons/Apex.svg +1 -0
  19. package/dist/language-icons/AppleScript.svg +1 -0
  20. package/dist/language-icons/Assembly.svg +1 -0
  21. package/dist/language-icons/Astro.svg +1 -0
  22. package/dist/language-icons/AutoHotkey.svg +1 -0
  23. package/dist/language-icons/AutoIt.svg +1 -0
  24. package/dist/language-icons/Avro IDL.svg +1 -0
  25. package/dist/language-icons/Awk.svg +1 -0
  26. package/dist/language-icons/Ballerina.svg +1 -0
  27. package/dist/language-icons/Batchfile.svg +1 -0
  28. package/dist/language-icons/Befunge.svg +1 -0
  29. package/dist/language-icons/Bicep.svg +1 -0
  30. package/dist/language-icons/Blade.svg +1 -0
  31. package/dist/language-icons/BlitzBasic.svg +1 -0
  32. package/dist/language-icons/Browserslist.svg +1 -0
  33. package/dist/language-icons/C#.svg +1 -0
  34. package/dist/language-icons/C++.svg +1 -0
  35. package/dist/language-icons/C.svg +1 -0
  36. package/dist/language-icons/CMake.svg +1 -0
  37. package/dist/language-icons/COBOL.svg +1 -0
  38. package/dist/language-icons/CSS.svg +1 -0
  39. package/dist/language-icons/Cabal Config.svg +1 -0
  40. package/dist/language-icons/Carbon.svg +63 -0
  41. package/dist/language-icons/Ceylon.svg +1 -0
  42. package/dist/language-icons/Clojure.svg +1 -0
  43. package/dist/language-icons/Cloud Firestore Security Rules.svg +1 -0
  44. package/dist/language-icons/CodeQL.svg +1 -0
  45. package/dist/language-icons/CoffeeScript.svg +1 -0
  46. package/dist/language-icons/ColdFusion CFC.svg +1 -0
  47. package/dist/language-icons/ColdFusion.svg +1 -0
  48. package/dist/language-icons/Crystal.svg +1 -0
  49. package/dist/language-icons/Cuda.svg +1 -0
  50. package/dist/language-icons/Cython.svg +1 -0
  51. package/dist/language-icons/D.svg +1 -0
  52. package/dist/language-icons/Darcs Patch.svg +1 -0
  53. package/dist/language-icons/Dart.svg +1 -0
  54. package/dist/language-icons/Diff.svg +1 -0
  55. package/dist/language-icons/Dockerfile.svg +1 -0
  56. package/dist/language-icons/Dylan.svg +1 -0
  57. package/dist/language-icons/EJS.svg +1 -0
  58. package/dist/language-icons/EditorConfig.svg +1 -0
  59. package/dist/language-icons/Elixir.svg +1 -0
  60. package/dist/language-icons/Elm.svg +1 -0
  61. package/dist/language-icons/Emacs Lisp.svg +1 -0
  62. package/dist/language-icons/EmberScript.svg +1 -0
  63. package/dist/language-icons/Erlang.svg +1 -0
  64. package/dist/language-icons/F#.svg +1 -0
  65. package/dist/language-icons/Fortran.svg +1 -0
  66. package/dist/language-icons/FreeMarker.svg +1 -0
  67. package/dist/language-icons/G-code.svg +1 -0
  68. package/dist/language-icons/GLSL.svg +1 -0
  69. package/dist/language-icons/Game Maker Language.svg +1 -0
  70. package/dist/language-icons/Gherkin.svg +1 -0
  71. package/dist/language-icons/Git Attributes.svg +1 -0
  72. package/dist/language-icons/Git Config.svg +1 -0
  73. package/dist/language-icons/Glyph.svg +1 -0
  74. package/dist/language-icons/Gnuplot.svg +1 -0
  75. package/dist/language-icons/Go Checksums.svg +1 -0
  76. package/dist/language-icons/Go Module.svg +1 -0
  77. package/dist/language-icons/Go.svg +1 -0
  78. package/dist/language-icons/Gradle.svg +1 -0
  79. package/dist/language-icons/GraphQL.svg +1 -0
  80. package/dist/language-icons/Graphviz (DOT).svg +1 -0
  81. package/dist/language-icons/Groovy.svg +1 -0
  82. package/dist/language-icons/HLSL.svg +1 -0
  83. package/dist/language-icons/HTML+EEX.svg +1 -0
  84. package/dist/language-icons/HTML+ERB.svg +1 -0
  85. package/dist/language-icons/HTML+Razor.svg +1 -0
  86. package/dist/language-icons/HTML.svg +1 -0
  87. package/dist/language-icons/HTTP.svg +1 -0
  88. package/dist/language-icons/Haml.svg +1 -0
  89. package/dist/language-icons/Handlebars.svg +1 -0
  90. package/dist/language-icons/Harbour.svg +1 -0
  91. package/dist/language-icons/Haskell.svg +1 -0
  92. package/dist/language-icons/Haxe.svg +1 -0
  93. package/dist/language-icons/Hy.svg +1 -0
  94. package/dist/language-icons/INI.svg +1 -0
  95. package/dist/language-icons/Idris.svg +1 -0
  96. package/dist/language-icons/Inno Setup.svg +1 -0
  97. package/dist/language-icons/Io.svg +1 -0
  98. package/dist/language-icons/JSON.svg +1 -0
  99. package/dist/language-icons/JSON5.svg +1 -0
  100. package/dist/language-icons/JSONLD.svg +1 -0
  101. package/dist/language-icons/Janet.svg +1 -0
  102. package/dist/language-icons/Jasmin.svg +1 -0
  103. package/dist/language-icons/Java.svg +1 -0
  104. package/dist/language-icons/JavaScript+ERB.svg +1 -0
  105. package/dist/language-icons/JavaScript.svg +1 -0
  106. package/dist/language-icons/Jest Snapshot.svg +1 -0
  107. package/dist/language-icons/Jinja.svg +1 -0
  108. package/dist/language-icons/Jsonnet.svg +1 -0
  109. package/dist/language-icons/Julia.svg +1 -0
  110. package/dist/language-icons/Jupyter Notebook.svg +1 -0
  111. package/dist/language-icons/Kotlin.svg +1 -0
  112. package/dist/language-icons/Kusto.svg +1 -0
  113. package/dist/language-icons/LICENSE +395 -0
  114. package/dist/language-icons/LOLCODE.svg +1 -0
  115. package/dist/language-icons/LSL.svg +1 -0
  116. package/dist/language-icons/Less.svg +1 -0
  117. package/dist/language-icons/Lex.svg +1 -0
  118. package/dist/language-icons/Liquid.svg +1 -0
  119. package/dist/language-icons/LiveScript.svg +1 -0
  120. package/dist/language-icons/Lua.svg +1 -0
  121. package/dist/language-icons/MATLAB.svg +1 -0
  122. package/dist/language-icons/MAXScript.svg +1 -0
  123. package/dist/language-icons/Makefile.svg +1 -0
  124. package/dist/language-icons/Markdown.svg +1 -0
  125. package/dist/language-icons/Marko.svg +1 -0
  126. package/dist/language-icons/Mathematica.svg +1 -0
  127. package/dist/language-icons/Maven POM.svg +1 -0
  128. package/dist/language-icons/Meson.svg +1 -0
  129. package/dist/language-icons/Microsoft Visual Studio Solution.svg +1 -0
  130. package/dist/language-icons/Mustache.svg +1 -0
  131. package/dist/language-icons/NPM Config.svg +1 -0
  132. package/dist/language-icons/NSIS.svg +1 -0
  133. package/dist/language-icons/Nearley.svg +1 -0
  134. package/dist/language-icons/NetLinx+ERB.svg +1 -0
  135. package/dist/language-icons/Nginx.svg +1 -0
  136. package/dist/language-icons/Nim.svg +1 -0
  137. package/dist/language-icons/Ninja.svg +1 -0
  138. package/dist/language-icons/Nix.svg +1 -0
  139. package/dist/language-icons/NumPy.svg +1 -0
  140. package/dist/language-icons/Nunjucks.svg +1 -0
  141. package/dist/language-icons/OCaml.svg +1 -0
  142. package/dist/language-icons/Objective-C++.svg +1 -0
  143. package/dist/language-icons/Objective-C.svg +1 -0
  144. package/dist/language-icons/OpenCL.svg +1 -0
  145. package/dist/language-icons/OpenSCAD.svg +1 -0
  146. package/dist/language-icons/Org.svg +1 -0
  147. package/dist/language-icons/PHP.svg +1 -0
  148. package/dist/language-icons/PLSQL.svg +1 -0
  149. package/dist/language-icons/Pascal.svg +52 -0
  150. package/dist/language-icons/Perl.svg +1 -0
  151. package/dist/language-icons/PlantUML.svg +1 -0
  152. package/dist/language-icons/Pony.svg +1 -0
  153. package/dist/language-icons/PostCSS.svg +1 -0
  154. package/dist/language-icons/PostScript.svg +1 -0
  155. package/dist/language-icons/PowerShell.svg +1 -0
  156. package/dist/language-icons/Prisma.svg +1 -0
  157. package/dist/language-icons/Processing.svg +1 -0
  158. package/dist/language-icons/Procfile.svg +1 -0
  159. package/dist/language-icons/Prolog.svg +1 -0
  160. package/dist/language-icons/Protocol Buffer.svg +1 -0
  161. package/dist/language-icons/Pug.svg +1 -0
  162. package/dist/language-icons/Puppet.svg +1 -0
  163. package/dist/language-icons/PureScript.svg +1 -0
  164. package/dist/language-icons/Python.svg +1 -0
  165. package/dist/language-icons/Q#.svg +1 -0
  166. package/dist/language-icons/QML.svg +1 -0
  167. package/dist/language-icons/QMake.svg +1 -0
  168. package/dist/language-icons/R.svg +1 -0
  169. package/dist/language-icons/RAML.svg +1 -0
  170. package/dist/language-icons/README.md +8 -0
  171. package/dist/language-icons/REXX.svg +1 -0
  172. package/dist/language-icons/RMarkdown.svg +1 -0
  173. package/dist/language-icons/Racket.svg +1 -0
  174. package/dist/language-icons/Raku.svg +1 -0
  175. package/dist/language-icons/ReScript.svg +1 -0
  176. package/dist/language-icons/Reason.svg +1 -0
  177. package/dist/language-icons/Red.svg +1 -0
  178. package/dist/language-icons/Riot.svg +1 -0
  179. package/dist/language-icons/RobotFramework.svg +1 -0
  180. package/dist/language-icons/Ruby.svg +1 -0
  181. package/dist/language-icons/Rust.svg +1 -0
  182. package/dist/language-icons/SAS.svg +1 -0
  183. package/dist/language-icons/SCSS.svg +1 -0
  184. package/dist/language-icons/SPARQL.svg +1 -0
  185. package/dist/language-icons/SQF.svg +1 -0
  186. package/dist/language-icons/SQL.svg +1 -0
  187. package/dist/language-icons/SVG.svg +1 -0
  188. package/dist/language-icons/SWIG.svg +1 -0
  189. package/dist/language-icons/SaltStack.svg +1 -0
  190. package/dist/language-icons/Sass.svg +1 -0
  191. package/dist/language-icons/Scala.svg +1 -0
  192. package/dist/language-icons/Scilab.svg +1 -0
  193. package/dist/language-icons/ShaderLab.svg +1 -0
  194. package/dist/language-icons/Shell.svg +1 -0
  195. package/dist/language-icons/Slice.svg +1 -0
  196. package/dist/language-icons/Slim.svg +1 -0
  197. package/dist/language-icons/Smarty.svg +1 -0
  198. package/dist/language-icons/Solidity.svg +1 -0
  199. package/dist/language-icons/Squirrel.svg +1 -0
  200. package/dist/language-icons/Stan.svg +1 -0
  201. package/dist/language-icons/Stata.svg +1 -0
  202. package/dist/language-icons/Stylus.svg +1 -0
  203. package/dist/language-icons/SugarSS.svg +1 -0
  204. package/dist/language-icons/Svelte.svg +1 -0
  205. package/dist/language-icons/Swift.svg +1 -0
  206. package/dist/language-icons/SystemVerilog.svg +1 -0
  207. package/dist/language-icons/TOML.svg +1 -0
  208. package/dist/language-icons/Tcl.svg +1 -0
  209. package/dist/language-icons/TeX.svg +1 -0
  210. package/dist/language-icons/Text.svg +1 -0
  211. package/dist/language-icons/Textile.svg +1 -0
  212. package/dist/language-icons/Twig.svg +1 -0
  213. package/dist/language-icons/TypeScript.svg +1 -0
  214. package/dist/language-icons/V.svg +1 -0
  215. package/dist/language-icons/VBA.svg +1 -0
  216. package/dist/language-icons/VBScript.svg +1 -0
  217. package/dist/language-icons/VHDL.svg +1 -0
  218. package/dist/language-icons/Vala.svg +1 -0
  219. package/dist/language-icons/Velocity Template Language.svg +1 -0
  220. package/dist/language-icons/Verilog.svg +1 -0
  221. package/dist/language-icons/Vim script.svg +1 -0
  222. package/dist/language-icons/Volt.svg +1 -0
  223. package/dist/language-icons/Vue.svg +1 -0
  224. package/dist/language-icons/WebAssembly.svg +1 -0
  225. package/dist/language-icons/Wikitext.svg +1 -0
  226. package/dist/language-icons/Windows Registry Entries.svg +1 -0
  227. package/dist/language-icons/XML.svg +1 -0
  228. package/dist/language-icons/XQuery.svg +1 -0
  229. package/dist/language-icons/XSLT.svg +1 -0
  230. package/dist/language-icons/YAML.svg +1 -0
  231. package/dist/language-icons/YANG.svg +1 -0
  232. package/dist/language-icons/Yacc.svg +1 -0
  233. package/dist/language-icons/Zig.svg +1 -0
  234. package/dist/language-icons/kvlang.svg +1 -0
  235. package/dist/language-icons/q.svg +1 -0
  236. package/dist/language-icons/reStructuredText.svg +1 -0
  237. package/dist/language-icons/robots.txt.svg +1 -0
  238. package/dist/language-icons/url.svg +1 -0
  239. package/dist/levenshtein-distance.js +1 -1
  240. package/dist/levenshtein-distance.js.map +1 -1
  241. package/dist/load-script.js +1 -1
  242. package/dist/load-script.js.map +1 -1
  243. package/dist/ranking-sorter.js +1 -1
  244. package/dist/ranking-sorter.js.map +1 -1
  245. package/dist/sleep.js +1 -1
  246. package/dist/sleep.js.map +1 -1
  247. package/package.json +33 -25
  248. package/src/css/crowdin-rustdoc.scss +30 -0
  249. package/src/js/crowdin-rustdoc-css.js +1 -0
  250. package/src/js/crowdin.js +116 -20
  251. package/src/js/format-number.js +2 -2
  252. package/src/js/levenshtein-distance.js +2 -2
  253. package/src/js/load-script.js +2 -2
  254. package/src/js/ranking-sorter.js +8 -11
  255. package/src/js/sleep.js +2 -2
  256. package/src/language-icons/AL.svg +1 -0
  257. package/src/language-icons/ANTLR.svg +1 -0
  258. package/src/language-icons/API Blueprint.svg +1 -0
  259. package/src/language-icons/APL.svg +1 -0
  260. package/src/language-icons/ASP.NET.svg +1 -0
  261. package/src/language-icons/ATS.svg +1 -0
  262. package/src/language-icons/ActionScript.svg +1 -0
  263. package/src/language-icons/Ada.svg +1 -0
  264. package/src/language-icons/ApacheConf.svg +1 -0
  265. package/src/language-icons/Apex.svg +1 -0
  266. package/src/language-icons/AppleScript.svg +1 -0
  267. package/src/language-icons/Assembly.svg +1 -0
  268. package/src/language-icons/Astro.svg +1 -0
  269. package/src/language-icons/AutoHotkey.svg +1 -0
  270. package/src/language-icons/AutoIt.svg +1 -0
  271. package/src/language-icons/Avro IDL.svg +1 -0
  272. package/src/language-icons/Awk.svg +1 -0
  273. package/src/language-icons/Ballerina.svg +1 -0
  274. package/src/language-icons/Batchfile.svg +1 -0
  275. package/src/language-icons/Befunge.svg +1 -0
  276. package/src/language-icons/Bicep.svg +1 -0
  277. package/src/language-icons/Blade.svg +1 -0
  278. package/src/language-icons/BlitzBasic.svg +1 -0
  279. package/src/language-icons/Browserslist.svg +1 -0
  280. package/src/language-icons/C#.svg +1 -0
  281. package/src/language-icons/C++.svg +1 -0
  282. package/src/language-icons/C.svg +1 -0
  283. package/src/language-icons/CMake.svg +1 -0
  284. package/src/language-icons/COBOL.svg +1 -0
  285. package/src/language-icons/CSS.svg +1 -0
  286. package/src/language-icons/Cabal Config.svg +1 -0
  287. package/src/language-icons/Carbon.svg +63 -0
  288. package/src/language-icons/Ceylon.svg +1 -0
  289. package/src/language-icons/Clojure.svg +1 -0
  290. package/src/language-icons/Cloud Firestore Security Rules.svg +1 -0
  291. package/src/language-icons/CodeQL.svg +1 -0
  292. package/src/language-icons/CoffeeScript.svg +1 -0
  293. package/src/language-icons/ColdFusion CFC.svg +1 -0
  294. package/src/language-icons/ColdFusion.svg +1 -0
  295. package/src/language-icons/Crystal.svg +1 -0
  296. package/src/language-icons/Cuda.svg +1 -0
  297. package/src/language-icons/Cython.svg +1 -0
  298. package/src/language-icons/D.svg +1 -0
  299. package/src/language-icons/Darcs Patch.svg +1 -0
  300. package/src/language-icons/Dart.svg +1 -0
  301. package/src/language-icons/Diff.svg +1 -0
  302. package/src/language-icons/Dockerfile.svg +1 -0
  303. package/src/language-icons/Dylan.svg +1 -0
  304. package/src/language-icons/EJS.svg +1 -0
  305. package/src/language-icons/EditorConfig.svg +1 -0
  306. package/src/language-icons/Elixir.svg +1 -0
  307. package/src/language-icons/Elm.svg +1 -0
  308. package/src/language-icons/Emacs Lisp.svg +1 -0
  309. package/src/language-icons/EmberScript.svg +1 -0
  310. package/src/language-icons/Erlang.svg +1 -0
  311. package/src/language-icons/F#.svg +1 -0
  312. package/src/language-icons/Fortran.svg +1 -0
  313. package/src/language-icons/FreeMarker.svg +1 -0
  314. package/src/language-icons/G-code.svg +1 -0
  315. package/src/language-icons/GLSL.svg +1 -0
  316. package/src/language-icons/Game Maker Language.svg +1 -0
  317. package/src/language-icons/Gherkin.svg +1 -0
  318. package/src/language-icons/Git Attributes.svg +1 -0
  319. package/src/language-icons/Git Config.svg +1 -0
  320. package/src/language-icons/Glyph.svg +1 -0
  321. package/src/language-icons/Gnuplot.svg +1 -0
  322. package/src/language-icons/Go Checksums.svg +1 -0
  323. package/src/language-icons/Go Module.svg +1 -0
  324. package/src/language-icons/Go.svg +1 -0
  325. package/src/language-icons/Gradle.svg +1 -0
  326. package/src/language-icons/GraphQL.svg +1 -0
  327. package/src/language-icons/Graphviz (DOT).svg +1 -0
  328. package/src/language-icons/Groovy.svg +1 -0
  329. package/src/language-icons/HLSL.svg +1 -0
  330. package/src/language-icons/HTML+EEX.svg +1 -0
  331. package/src/language-icons/HTML+ERB.svg +1 -0
  332. package/src/language-icons/HTML+Razor.svg +1 -0
  333. package/src/language-icons/HTML.svg +1 -0
  334. package/src/language-icons/HTTP.svg +1 -0
  335. package/src/language-icons/Haml.svg +1 -0
  336. package/src/language-icons/Handlebars.svg +1 -0
  337. package/src/language-icons/Harbour.svg +1 -0
  338. package/src/language-icons/Haskell.svg +1 -0
  339. package/src/language-icons/Haxe.svg +1 -0
  340. package/src/language-icons/Hy.svg +1 -0
  341. package/src/language-icons/INI.svg +1 -0
  342. package/src/language-icons/Idris.svg +1 -0
  343. package/src/language-icons/Inno Setup.svg +1 -0
  344. package/src/language-icons/Io.svg +1 -0
  345. package/src/language-icons/JSON.svg +1 -0
  346. package/src/language-icons/JSON5.svg +1 -0
  347. package/src/language-icons/JSONLD.svg +1 -0
  348. package/src/language-icons/Janet.svg +1 -0
  349. package/src/language-icons/Jasmin.svg +1 -0
  350. package/src/language-icons/Java.svg +1 -0
  351. package/src/language-icons/JavaScript+ERB.svg +1 -0
  352. package/src/language-icons/JavaScript.svg +1 -0
  353. package/src/language-icons/Jest Snapshot.svg +1 -0
  354. package/src/language-icons/Jinja.svg +1 -0
  355. package/src/language-icons/Jsonnet.svg +1 -0
  356. package/src/language-icons/Julia.svg +1 -0
  357. package/src/language-icons/Jupyter Notebook.svg +1 -0
  358. package/src/language-icons/Kotlin.svg +1 -0
  359. package/src/language-icons/Kusto.svg +1 -0
  360. package/src/language-icons/LICENSE +395 -0
  361. package/src/language-icons/LOLCODE.svg +1 -0
  362. package/src/language-icons/LSL.svg +1 -0
  363. package/src/language-icons/Less.svg +1 -0
  364. package/src/language-icons/Lex.svg +1 -0
  365. package/src/language-icons/Liquid.svg +1 -0
  366. package/src/language-icons/LiveScript.svg +1 -0
  367. package/src/language-icons/Lua.svg +1 -0
  368. package/src/language-icons/MATLAB.svg +1 -0
  369. package/src/language-icons/MAXScript.svg +1 -0
  370. package/src/language-icons/Makefile.svg +1 -0
  371. package/src/language-icons/Markdown.svg +1 -0
  372. package/src/language-icons/Marko.svg +1 -0
  373. package/src/language-icons/Mathematica.svg +1 -0
  374. package/src/language-icons/Maven POM.svg +1 -0
  375. package/src/language-icons/Meson.svg +1 -0
  376. package/src/language-icons/Microsoft Visual Studio Solution.svg +1 -0
  377. package/src/language-icons/Mustache.svg +1 -0
  378. package/src/language-icons/NPM Config.svg +1 -0
  379. package/src/language-icons/NSIS.svg +1 -0
  380. package/src/language-icons/Nearley.svg +1 -0
  381. package/src/language-icons/NetLinx+ERB.svg +1 -0
  382. package/src/language-icons/Nginx.svg +1 -0
  383. package/src/language-icons/Nim.svg +1 -0
  384. package/src/language-icons/Ninja.svg +1 -0
  385. package/src/language-icons/Nix.svg +1 -0
  386. package/src/language-icons/NumPy.svg +1 -0
  387. package/src/language-icons/Nunjucks.svg +1 -0
  388. package/src/language-icons/OCaml.svg +1 -0
  389. package/src/language-icons/Objective-C++.svg +1 -0
  390. package/src/language-icons/Objective-C.svg +1 -0
  391. package/src/language-icons/OpenCL.svg +1 -0
  392. package/src/language-icons/OpenSCAD.svg +1 -0
  393. package/src/language-icons/Org.svg +1 -0
  394. package/src/language-icons/PHP.svg +1 -0
  395. package/src/language-icons/PLSQL.svg +1 -0
  396. package/src/language-icons/Pascal.svg +52 -0
  397. package/src/language-icons/Perl.svg +1 -0
  398. package/src/language-icons/PlantUML.svg +1 -0
  399. package/src/language-icons/Pony.svg +1 -0
  400. package/src/language-icons/PostCSS.svg +1 -0
  401. package/src/language-icons/PostScript.svg +1 -0
  402. package/src/language-icons/PowerShell.svg +1 -0
  403. package/src/language-icons/Prisma.svg +1 -0
  404. package/src/language-icons/Processing.svg +1 -0
  405. package/src/language-icons/Procfile.svg +1 -0
  406. package/src/language-icons/Prolog.svg +1 -0
  407. package/src/language-icons/Protocol Buffer.svg +1 -0
  408. package/src/language-icons/Pug.svg +1 -0
  409. package/src/language-icons/Puppet.svg +1 -0
  410. package/src/language-icons/PureScript.svg +1 -0
  411. package/src/language-icons/Python.svg +1 -0
  412. package/src/language-icons/Q#.svg +1 -0
  413. package/src/language-icons/QML.svg +1 -0
  414. package/src/language-icons/QMake.svg +1 -0
  415. package/src/language-icons/R.svg +1 -0
  416. package/src/language-icons/RAML.svg +1 -0
  417. package/src/language-icons/README.md +8 -0
  418. package/src/language-icons/REXX.svg +1 -0
  419. package/src/language-icons/RMarkdown.svg +1 -0
  420. package/src/language-icons/Racket.svg +1 -0
  421. package/src/language-icons/Raku.svg +1 -0
  422. package/src/language-icons/ReScript.svg +1 -0
  423. package/src/language-icons/Reason.svg +1 -0
  424. package/src/language-icons/Red.svg +1 -0
  425. package/src/language-icons/Riot.svg +1 -0
  426. package/src/language-icons/RobotFramework.svg +1 -0
  427. package/src/language-icons/Ruby.svg +1 -0
  428. package/src/language-icons/Rust.svg +1 -0
  429. package/src/language-icons/SAS.svg +1 -0
  430. package/src/language-icons/SCSS.svg +1 -0
  431. package/src/language-icons/SPARQL.svg +1 -0
  432. package/src/language-icons/SQF.svg +1 -0
  433. package/src/language-icons/SQL.svg +1 -0
  434. package/src/language-icons/SVG.svg +1 -0
  435. package/src/language-icons/SWIG.svg +1 -0
  436. package/src/language-icons/SaltStack.svg +1 -0
  437. package/src/language-icons/Sass.svg +1 -0
  438. package/src/language-icons/Scala.svg +1 -0
  439. package/src/language-icons/Scilab.svg +1 -0
  440. package/src/language-icons/ShaderLab.svg +1 -0
  441. package/src/language-icons/Shell.svg +1 -0
  442. package/src/language-icons/Slice.svg +1 -0
  443. package/src/language-icons/Slim.svg +1 -0
  444. package/src/language-icons/Smarty.svg +1 -0
  445. package/src/language-icons/Solidity.svg +1 -0
  446. package/src/language-icons/Squirrel.svg +1 -0
  447. package/src/language-icons/Stan.svg +1 -0
  448. package/src/language-icons/Stata.svg +1 -0
  449. package/src/language-icons/Stylus.svg +1 -0
  450. package/src/language-icons/SugarSS.svg +1 -0
  451. package/src/language-icons/Svelte.svg +1 -0
  452. package/src/language-icons/Swift.svg +1 -0
  453. package/src/language-icons/SystemVerilog.svg +1 -0
  454. package/src/language-icons/TOML.svg +1 -0
  455. package/src/language-icons/Tcl.svg +1 -0
  456. package/src/language-icons/TeX.svg +1 -0
  457. package/src/language-icons/Text.svg +1 -0
  458. package/src/language-icons/Textile.svg +1 -0
  459. package/src/language-icons/Twig.svg +1 -0
  460. package/src/language-icons/TypeScript.svg +1 -0
  461. package/src/language-icons/V.svg +1 -0
  462. package/src/language-icons/VBA.svg +1 -0
  463. package/src/language-icons/VBScript.svg +1 -0
  464. package/src/language-icons/VHDL.svg +1 -0
  465. package/src/language-icons/Vala.svg +1 -0
  466. package/src/language-icons/Velocity Template Language.svg +1 -0
  467. package/src/language-icons/Verilog.svg +1 -0
  468. package/src/language-icons/Vim script.svg +1 -0
  469. package/src/language-icons/Volt.svg +1 -0
  470. package/src/language-icons/Vue.svg +1 -0
  471. package/src/language-icons/WebAssembly.svg +1 -0
  472. package/src/language-icons/Wikitext.svg +1 -0
  473. package/src/language-icons/Windows Registry Entries.svg +1 -0
  474. package/src/language-icons/XML.svg +1 -0
  475. package/src/language-icons/XQuery.svg +1 -0
  476. package/src/language-icons/XSLT.svg +1 -0
  477. package/src/language-icons/YAML.svg +1 -0
  478. package/src/language-icons/YANG.svg +1 -0
  479. package/src/language-icons/Yacc.svg +1 -0
  480. package/src/language-icons/Zig.svg +1 -0
  481. package/src/language-icons/kvlang.svg +1 -0
  482. package/src/language-icons/q.svg +1 -0
  483. package/src/language-icons/reStructuredText.svg +1 -0
  484. package/src/language-icons/robots.txt.svg +1 -0
  485. package/src/language-icons/url.svg +1 -0
  486. package/tests/crowdin.test.js +247 -6
  487. package/tests/global-exposure.test.js +31 -0
  488. package/tests/load-script.test.js +22 -0
  489. package/tests/sleep.test.js +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"levenshtein-distance.js","mappings":"mBAMA,SAASA,EAAoBC,EAAGC,GAC5B,GAAiB,IAAbD,EAAEE,OAAc,OAAOD,EAAEC,OAC7B,GAAiB,IAAbD,EAAEC,OAAc,OAAOF,EAAEE,OAE7B,IAGIC,EAMAC,EATAC,EAAS,GAIb,IAAKF,EAAI,EAAGA,GAAKF,EAAEC,OAAQC,IACvBE,EAAOF,GAAK,CAACA,GAKjB,IAAKC,EAAI,EAAGA,GAAKJ,EAAEE,OAAQE,IACvBC,EAAO,GAAGD,GAAKA,EAInB,IAAKD,EAAI,EAAGA,GAAKF,EAAEC,OAAQC,IACvB,IAAKC,EAAI,EAAGA,GAAKJ,EAAEE,OAAQE,IACnBH,EAAEK,OAAOH,EAAI,KAAOH,EAAEM,OAAOF,EAAI,GACjCC,EAAOF,GAAGC,GAAKC,EAAOF,EAAI,GAAGC,EAAI,GAEjCC,EAAOF,GAAGC,GAAKG,KAAKC,IAAIH,EAAOF,EAAI,GAAGC,EAAI,GAAK,EAC3CG,KAAKC,IAAIH,EAAOF,GAAGC,EAAI,GAAK,EACxBC,EAAOF,EAAI,GAAGC,GAAK,IAMvC,OAA2E,KAAnE,EAAKC,EAAOJ,EAAEC,QAAQF,EAAEE,QAAUK,KAAKE,IAAIT,EAAEE,OAAQD,EAAEC,QACnE,CAGsB,oBAAXQ,SACPA,OAAOX,oBAAsBA,GAGjCY,EAAOC,QAAUb,C,GC7Cbc,EAA2B,CAAC,GAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaJ,QAGrB,IAAID,EAASE,EAAyBE,GAAY,CAGjDH,QAAS,CAAC,GAOX,OAHAM,EAAoBH,GAAUJ,EAAQA,EAAOC,QAASE,GAG/CH,EAAOC,OACf,CCnB0BE,CAAoB,G","sources":["webpack://@lizardbyte/shared-web/./src/js/levenshtein-distance.js","webpack://@lizardbyte/shared-web/webpack/bootstrap","webpack://@lizardbyte/shared-web/webpack/startup"],"sourcesContent":["/**\n * Calculate the levenshtein distance between two strings.\n * @param {string} a - The first string to compare.\n * @param {string} b - The second string to compare.\n * @returns {number|*} - The percentage of the levenshtein distance.\n */\nfunction levenshteinDistance(a, b) {\n if (a.length === 0) return b.length;\n if (b.length === 0) return a.length;\n\n let matrix = [];\n\n // increment along the first column of each row\n let i;\n for (i = 0; i <= b.length; i++) {\n matrix[i] = [i];\n }\n\n // increment each column in the first row\n let j;\n for (j = 0; j <= a.length; j++) {\n matrix[0][j] = j;\n }\n\n // Fill in the rest of the matrix\n for (i = 1; i <= b.length; i++) {\n for (j = 1; j <= a.length; j++) {\n if (b.charAt(i - 1) === a.charAt(j - 1)) {\n matrix[i][j] = matrix[i - 1][j - 1];\n } else {\n matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, // substitution\n Math.min(matrix[i][j - 1] + 1, // insertion\n matrix[i - 1][j] + 1)); // deletion\n }\n }\n }\n\n // return the percentage of the levenshtein distance\n return (1 - (matrix[b.length][a.length] / Math.max(a.length, b.length))) * 100\n}\n\n// Expose to the global scope\nif (typeof window !== 'undefined') {\n window.levenshteinDistance = levenshteinDistance;\n}\n\nmodule.exports = levenshteinDistance;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(83);\n"],"names":["levenshteinDistance","a","b","length","i","j","matrix","charAt","Math","min","max","window","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__"],"sourceRoot":""}
1
+ {"version":3,"file":"levenshtein-distance.js","mappings":"mBAMA,SAASA,EAAoBC,EAAGC,GAC5B,GAAiB,IAAbD,EAAEE,OAAc,OAAOD,EAAEC,OAC7B,GAAiB,IAAbD,EAAEC,OAAc,OAAOF,EAAEE,OAE7B,IAGIC,EAMAC,EATAC,EAAS,GAIb,IAAKF,EAAI,EAAGA,GAAKF,EAAEC,OAAQC,IACvBE,EAAOF,GAAK,CAACA,GAKjB,IAAKC,EAAI,EAAGA,GAAKJ,EAAEE,OAAQE,IACvBC,EAAO,GAAGD,GAAKA,EAInB,IAAKD,EAAI,EAAGA,GAAKF,EAAEC,OAAQC,IACvB,IAAKC,EAAI,EAAGA,GAAKJ,EAAEE,OAAQE,IACnBH,EAAEK,OAAOH,EAAI,KAAOH,EAAEM,OAAOF,EAAI,GACjCC,EAAOF,GAAGC,GAAKC,EAAOF,EAAI,GAAGC,EAAI,GAEjCC,EAAOF,GAAGC,GAAKG,KAAKC,IAAIH,EAAOF,EAAI,GAAGC,EAAI,GAAK,EAC3CG,KAAKC,IAAIH,EAAOF,GAAGC,EAAI,GAAK,EACxBC,EAAOF,EAAI,GAAGC,GAAK,IAMvC,OAA2E,KAAnE,EAAKC,EAAOJ,EAAEC,QAAQF,EAAEE,QAAUK,KAAKE,IAAIT,EAAEE,OAAQD,EAAEC,QACnE,MAG0BQ,IAAtBC,WAAWC,SACXD,WAAWZ,oBAAsBA,GAGrCc,EAAOC,QAAUf,IC7CjB,MAAAgB,EAAA,IAGA,SAAAC,EAAAC,GAEA,MAAAC,EAAAH,EAAAE,GACA,QAAAP,IAAAQ,EACA,OAAAA,EAAAJ,QAGA,MAAAD,EAAAE,EAAAE,GAAA,CAGAH,QAAA,IAOA,OAHAK,EAAAF,GAAAJ,EAAAA,EAAAC,QAAAE,GAGAH,EAAAC,OACA,CCnBAE,CAAA","sources":["webpack://@lizardbyte/shared-web/./src/js/levenshtein-distance.js","webpack://@lizardbyte/shared-web/webpack/bootstrap","webpack://@lizardbyte/shared-web/webpack/startup"],"sourcesContent":["/**\n * Calculate the levenshtein distance between two strings.\n * @param {string} a - The first string to compare.\n * @param {string} b - The second string to compare.\n * @returns {number|*} - The percentage of the levenshtein distance.\n */\nfunction levenshteinDistance(a, b) {\n if (a.length === 0) return b.length;\n if (b.length === 0) return a.length;\n\n let matrix = [];\n\n // increment along the first column of each row\n let i;\n for (i = 0; i <= b.length; i++) {\n matrix[i] = [i];\n }\n\n // increment each column in the first row\n let j;\n for (j = 0; j <= a.length; j++) {\n matrix[0][j] = j;\n }\n\n // Fill in the rest of the matrix\n for (i = 1; i <= b.length; i++) {\n for (j = 1; j <= a.length; j++) {\n if (b.charAt(i - 1) === a.charAt(j - 1)) {\n matrix[i][j] = matrix[i - 1][j - 1];\n } else {\n matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, // substitution\n Math.min(matrix[i][j - 1] + 1, // insertion\n matrix[i - 1][j] + 1)); // deletion\n }\n }\n }\n\n // return the percentage of the levenshtein distance\n return (1 - (matrix[b.length][a.length] / Math.max(a.length, b.length))) * 100\n}\n\n// Expose to the global scope\nif (globalThis.window !== undefined) {\n globalThis.levenshteinDistance = levenshteinDistance;\n}\n\nmodule.exports = levenshteinDistance;\n","// The module cache\nconst __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tconst cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tconst module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nlet __webpack_exports__ = __webpack_require__(83);\n"],"names":["levenshteinDistance","a","b","length","i","j","matrix","charAt","Math","min","max","undefined","globalThis","window","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (()=>{var n={836(n){function o(n,o){var r=document.createElement("script");r.src=n,r.async=!0,r.onload=function(){o&&o(null,r)},r.onerror=function(){o&&o(new Error("Failed to load script: ".concat(n)))},document.head.appendChild(r)}"undefined"!=typeof window&&(window.loadScript=o),n.exports=o}},o={};!function r(e){var t=o[e];if(void 0!==t)return t.exports;var c=o[e]={exports:{}};return n[e](c,c.exports,r),c.exports}(836)})();
1
+ (()=>{var o={836(o){function r(o,r){const t=document.createElement("script");t.src=o,t.async=!0,t.onload=()=>{r&&r(null,t)},t.onerror=()=>{r&&r(new Error(`Failed to load script: ${o}`))},document.head.appendChild(t)}void 0!==globalThis.window&&(globalThis.loadScript=r),o.exports=r}};const r={};!function t(n){const e=r[n];if(void 0!==e)return e.exports;const s=r[n]={exports:{}};return o[n](s,s.exports,t),s.exports}(836)})();
2
2
  //# sourceMappingURL=load-script.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-script.js","mappings":"oBAKA,SAASA,EAAWC,EAAKC,GACrB,IAAMC,EAASC,SAASC,cAAc,UACtCF,EAAOG,IAAML,EACbE,EAAOI,OAAQ,EAEfJ,EAAOK,OAAS,WACRN,GAAUA,EAAS,KAAMC,EACjC,EAEAA,EAAOM,QAAU,WACTP,GAAUA,EAAS,IAAIQ,MAAM,0BAADC,OAA2BV,IAC/D,EAEAG,SAASQ,KAAKC,YAAYV,EAC9B,CAGsB,oBAAXW,SACPA,OAAOd,WAAaA,GAGxBe,EAAOC,QAAUhB,C,GCzBbiB,EAA2B,CAAC,GAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaJ,QAGrB,IAAID,EAASE,EAAyBE,GAAY,CAGjDH,QAAS,CAAC,GAOX,OAHAM,EAAoBH,GAAUJ,EAAQA,EAAOC,QAASE,GAG/CH,EAAOC,OACf,CCnB0BE,CAAoB,I","sources":["webpack://@lizardbyte/shared-web/./src/js/load-script.js","webpack://@lizardbyte/shared-web/webpack/bootstrap","webpack://@lizardbyte/shared-web/webpack/startup"],"sourcesContent":["/**\n * Load a script asynchronously, and add it to the DOM. Optionally, call a callback when the script has loaded.\n * @param {string} url The URL of the script to load.\n * @param {Function} callback An optional callback to call when the script has loaded.\n */\nfunction loadScript(url, callback) {\n const script = document.createElement('script');\n script.src = url;\n script.async = true;\n\n script.onload = () => {\n if (callback) callback(null, script);\n };\n\n script.onerror = () => {\n if (callback) callback(new Error(`Failed to load script: ${url}`));\n };\n\n document.head.appendChild(script);\n}\n\n// Expose to the global scope\nif (typeof window !== 'undefined') {\n window.loadScript = loadScript;\n}\n\nmodule.exports = loadScript;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(836);\n"],"names":["loadScript","url","callback","script","document","createElement","src","async","onload","onerror","Error","concat","head","appendChild","window","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__"],"sourceRoot":""}
1
+ {"version":3,"file":"load-script.js","mappings":"oBAKA,SAASA,EAAWC,EAAKC,GACrB,MAAMC,EAASC,SAASC,cAAc,UACtCF,EAAOG,IAAML,EACbE,EAAOI,OAAQ,EAEfJ,EAAOK,OAAS,KACRN,GAAUA,EAAS,KAAMC,IAGjCA,EAAOM,QAAU,KACTP,GAAUA,EAAS,IAAIQ,MAAM,0BAA0BT,OAG/DG,SAASO,KAAKC,YAAYT,EAC9B,MAG0BU,IAAtBC,WAAWC,SACXD,WAAWd,WAAaA,GAG5BgB,EAAOC,QAAUjB,ICzBjB,MAAAkB,EAAA,IAGA,SAAAC,EAAAC,GAEA,MAAAC,EAAAH,EAAAE,GACA,QAAAP,IAAAQ,EACA,OAAAA,EAAAJ,QAGA,MAAAD,EAAAE,EAAAE,GAAA,CAGAH,QAAA,IAOA,OAHAK,EAAAF,GAAAJ,EAAAA,EAAAC,QAAAE,GAGAH,EAAAC,OACA,CCnBAE,CAAA","sources":["webpack://@lizardbyte/shared-web/./src/js/load-script.js","webpack://@lizardbyte/shared-web/webpack/bootstrap","webpack://@lizardbyte/shared-web/webpack/startup"],"sourcesContent":["/**\n * Load a script asynchronously, and add it to the DOM. Optionally, call a callback when the script has loaded.\n * @param {string} url The URL of the script to load.\n * @param {Function} callback An optional callback to call when the script has loaded.\n */\nfunction loadScript(url, callback) {\n const script = document.createElement('script');\n script.src = url;\n script.async = true;\n\n script.onload = () => {\n if (callback) callback(null, script);\n };\n\n script.onerror = () => {\n if (callback) callback(new Error(`Failed to load script: ${url}`));\n };\n\n document.head.appendChild(script);\n}\n\n// Expose to the global scope\nif (globalThis.window !== undefined) {\n globalThis.loadScript = loadScript;\n}\n\nmodule.exports = loadScript;\n","// The module cache\nconst __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tconst cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tconst module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nlet __webpack_exports__ = __webpack_require__(836);\n"],"names":["loadScript","url","callback","script","document","createElement","src","async","onload","onerror","Error","head","appendChild","undefined","globalThis","window","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (()=>{var r={76(r){function n(r,n){return function(t,e){return t[r]>e[r]?-1:t[r]<e[r]||t[n]>e[n]?1:t[n]<e[n]?-1:0}}"undefined"!=typeof window&&(window.rankingSorter=n),r.exports=n}},n={};!function t(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return r[e](i,i.exports,t),i.exports}(76)})();
1
+ (()=>{var o={76(o){function r(o,r){return function(n,t){return n[o]>t[o]?-1:n[o]<t[o]||n[r]>t[r]?1:n[r]<t[r]?-1:0}}void 0!==globalThis.window&&(globalThis.rankingSorter=r),o.exports=r}};const r={};!function n(t){const e=r[t];if(void 0!==e)return e.exports;const i=r[t]={exports:{}};return o[t](i,i.exports,n),i.exports}(76)})();
2
2
  //# sourceMappingURL=ranking-sorter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ranking-sorter.js","mappings":"mBAMA,SAASA,EAAcC,EAAUC,GAC7B,OAAO,SAASC,EAAGC,GACf,OAAID,EAAEF,GAAYG,EAAEH,IACR,EACDE,EAAEF,GAAYG,EAAEH,IAInBE,EAAED,GAAaE,EAAEF,GAHd,EAKIC,EAAED,GAAaE,EAAEF,IAChB,EAED,CAGnB,CACJ,CAGsB,oBAAXG,SACPA,OAAOL,cAAgBA,GAG3BM,EAAOC,QAAUP,C,GC7BbQ,EAA2B,CAAC,GAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaJ,QAGrB,IAAID,EAASE,EAAyBE,GAAY,CAGjDH,QAAS,CAAC,GAOX,OAHAM,EAAoBH,GAAUJ,EAAQA,EAAOC,QAASE,GAG/CH,EAAOC,OACf,CCnB0BE,CAAoB,G","sources":["webpack://@lizardbyte/shared-web/./src/js/ranking-sorter.js","webpack://@lizardbyte/shared-web/webpack/bootstrap","webpack://@lizardbyte/shared-web/webpack/startup"],"sourcesContent":["/**\n * Sorts an array of objects by two keys in descending order.\n * @param {string} firstKey The primary key to sort by.\n * @param {string} secondKey The secondary key to sort by, in case the first key is equal.\n * @returns {Function} The sorting function that returns a number.\n */\nfunction rankingSorter(firstKey, secondKey) {\n return function(a, b) {\n if (a[firstKey] > b[firstKey]) {\n return -1;\n } else if (a[firstKey] < b[firstKey]) {\n return 1;\n }\n else {\n if (a[secondKey] > b[secondKey]) {\n return 1;\n } else if (a[secondKey] < b[secondKey]) {\n return -1;\n } else {\n return 0;\n }\n }\n }\n}\n\n// Expose to the global scope\nif (typeof window !== 'undefined') {\n window.rankingSorter = rankingSorter;\n}\n\nmodule.exports = rankingSorter;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(76);\n"],"names":["rankingSorter","firstKey","secondKey","a","b","window","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__"],"sourceRoot":""}
1
+ {"version":3,"file":"ranking-sorter.js","mappings":"mBAMA,SAASA,EAAcC,EAAUC,GAC7B,OAAO,SAASC,EAAGC,GACf,OAAID,EAAEF,GAAYG,EAAEH,IACR,EACDE,EAAEF,GAAYG,EAAEH,IAEhBE,EAAED,GAAaE,EAAEF,GADjB,EAGAC,EAAED,GAAaE,EAAEF,IAChB,EAED,CAEf,CACJ,MAG0BG,IAAtBC,WAAWC,SACXD,WAAWN,cAAgBA,GAG/BQ,EAAOC,QAAUT,IC1BjB,MAAAU,EAAA,IAGA,SAAAC,EAAAC,GAEA,MAAAC,EAAAH,EAAAE,GACA,QAAAP,IAAAQ,EACA,OAAAA,EAAAJ,QAGA,MAAAD,EAAAE,EAAAE,GAAA,CAGAH,QAAA,IAOA,OAHAK,EAAAF,GAAAJ,EAAAA,EAAAC,QAAAE,GAGAH,EAAAC,OACA,CCnBAE,CAAA","sources":["webpack://@lizardbyte/shared-web/./src/js/ranking-sorter.js","webpack://@lizardbyte/shared-web/webpack/bootstrap","webpack://@lizardbyte/shared-web/webpack/startup"],"sourcesContent":["/**\n * Sorts an array of objects by two keys in descending order.\n * @param {string} firstKey The primary key to sort by.\n * @param {string} secondKey The secondary key to sort by, in case the first key is equal.\n * @returns {Function} The sorting function that returns a number.\n */\nfunction rankingSorter(firstKey, secondKey) {\n return function(a, b) {\n if (a[firstKey] > b[firstKey]) {\n return -1;\n } else if (a[firstKey] < b[firstKey]) {\n return 1;\n } else if (a[secondKey] > b[secondKey]) {\n return 1;\n } else if (a[secondKey] < b[secondKey]) {\n return -1;\n } else {\n return 0;\n }\n }\n}\n\n// Expose to the global scope\nif (globalThis.window !== undefined) {\n globalThis.rankingSorter = rankingSorter;\n}\n\nmodule.exports = rankingSorter;\n","// The module cache\nconst __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tconst cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tconst module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nlet __webpack_exports__ = __webpack_require__(76);\n"],"names":["rankingSorter","firstKey","secondKey","a","b","undefined","globalThis","window","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
package/dist/sleep.js CHANGED
@@ -1,2 +1,2 @@
1
- (()=>{var e={399(e){function r(e){return new Promise(function(r){return setTimeout(r,e)})}"undefined"!=typeof window&&(window.sleep=r),e.exports=r}},r={};!function n(t){var o=r[t];if(void 0!==o)return o.exports;var i=r[t]={exports:{}};return e[t](i,i.exports,n),i.exports}(399)})();
1
+ (()=>{var o={399(o){function t(o){return new Promise(t=>setTimeout(t,o))}void 0!==globalThis.window&&(globalThis.sleep=t),o.exports=t}};const t={};!function e(r){const s=t[r];if(void 0!==s)return s.exports;const n=t[r]={exports:{}};return o[r](n,n.exports,e),n.exports}(399)})();
2
2
  //# sourceMappingURL=sleep.js.map
package/dist/sleep.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sleep.js","mappings":"oBAKA,SAASA,EAAMC,GACX,OAAO,IAAIC,QAAQ,SAAAC,GAAO,OAAIC,WAAWD,EAASF,EAAG,EACzD,CAGsB,oBAAXI,SACPA,OAAOL,MAAQA,GAGnBM,EAAOC,QAAUP,C,GCbbQ,EAA2B,CAAC,GAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaJ,QAGrB,IAAID,EAASE,EAAyBE,GAAY,CAGjDH,QAAS,CAAC,GAOX,OAHAM,EAAoBH,GAAUJ,EAAQA,EAAOC,QAASE,GAG/CH,EAAOC,OACf,CCnB0BE,CAAoB,I","sources":["webpack://@lizardbyte/shared-web/./src/js/sleep.js","webpack://@lizardbyte/shared-web/webpack/bootstrap","webpack://@lizardbyte/shared-web/webpack/startup"],"sourcesContent":["/**\n * Sleep for a given amount of time.\n * @param {number} ms The time to sleep in milliseconds.\n * @returns {Promise<unknown>} A promise that resolves after the given time.\n */\nfunction sleep(ms) {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n\n// Expose to the global scope\nif (typeof window !== 'undefined') {\n window.sleep = sleep;\n}\n\nmodule.exports = sleep;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(399);\n"],"names":["sleep","ms","Promise","resolve","setTimeout","window","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__"],"sourceRoot":""}
1
+ {"version":3,"file":"sleep.js","mappings":"oBAKA,SAASA,EAAMC,GACX,OAAO,IAAIC,QAAQC,GAAWC,WAAWD,EAASF,GACtD,MAG0BI,IAAtBC,WAAWC,SACXD,WAAWN,MAAQA,GAGvBQ,EAAOC,QAAUT,ICbjB,MAAAU,EAAA,IAGA,SAAAC,EAAAC,GAEA,MAAAC,EAAAH,EAAAE,GACA,QAAAP,IAAAQ,EACA,OAAAA,EAAAJ,QAGA,MAAAD,EAAAE,EAAAE,GAAA,CAGAH,QAAA,IAOA,OAHAK,EAAAF,GAAAJ,EAAAA,EAAAC,QAAAE,GAGAH,EAAAC,OACA,CCnBAE,CAAA","sources":["webpack://@lizardbyte/shared-web/./src/js/sleep.js","webpack://@lizardbyte/shared-web/webpack/bootstrap","webpack://@lizardbyte/shared-web/webpack/startup"],"sourcesContent":["/**\n * Sleep for a given amount of time.\n * @param {number} ms The time to sleep in milliseconds.\n * @returns {Promise<unknown>} A promise that resolves after the given time.\n */\nfunction sleep(ms) {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n\n// Expose to the global scope\nif (globalThis.window !== undefined) {\n globalThis.sleep = sleep;\n}\n\nmodule.exports = sleep;\n","// The module cache\nconst __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tconst cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tconst module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nlet __webpack_exports__ = __webpack_require__(399);\n"],"names":["sleep","ms","Promise","resolve","setTimeout","undefined","globalThis","window","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "git",
5
5
  "url": "git+https://github.com/LizardByte/shared-web.git"
6
6
  },
7
- "version": "2026.219.33142",
7
+ "version": "2026.726.204939",
8
8
  "description": "Shared web assets for LizardByte projects",
9
9
  "license": "AGPL-3.0-only",
10
10
  "funding": "https://app.lizardbyte.dev",
@@ -20,47 +20,55 @@
20
20
  "README.md"
21
21
  ],
22
22
  "dependencies": {
23
- "@fortawesome/fontawesome-free": "7.2.0",
24
23
  "bootstrap": "5.3.8"
25
24
  },
26
25
  "devDependencies": {
27
- "@babel/core": "7.29.0",
28
- "@babel/preset-env": "7.29.0",
29
- "@codecov/webpack-plugin": "1.9.1",
26
+ "@babel/core": "8.0.1",
27
+ "@babel/preset-env": "8.0.2",
28
+ "@codecov/webpack-plugin": "2.0.1",
30
29
  "@eslint/js": "10.0.1",
31
- "@jest/globals": "30.2.0",
32
- "babel-loader": "10.0.0",
33
- "clean-jsdoc-theme": "4.3.0",
30
+ "@jest/globals": "30.4.1",
31
+ "babel-loader": "10.1.1",
32
+ "clean-jsdoc-theme": "5.1.0",
34
33
  "cross-env": "10.1.0",
35
34
  "css-loader": "7.1.4",
36
- "eslint": "10.0.0",
37
- "eslint-plugin-jest": "29.15.0",
38
- "globals": "17.3.0",
39
- "jest": "30.2.0",
40
- "jest-environment-jsdom": "30.2.0",
41
- "jest-junit": "16.0.0",
35
+ "eslint": "10.8.0",
36
+ "eslint-plugin-jest": "29.16.0",
37
+ "globals": "17.8.0",
38
+ "jest": "30.4.2",
39
+ "jest-environment-jsdom": "30.4.1",
40
+ "jest-junit": "17.0.0",
42
41
  "jsdoc": "4.0.5",
43
- "mini-css-extract-plugin": "2.10.0",
42
+ "mini-css-extract-plugin": "2.10.2",
44
43
  "node-fetch": "3.3.2",
45
- "npm-run-all": "4.1.5",
46
- "postcss": "8.5.6",
44
+ "npm-run-all2": "9.0.2",
45
+ "postcss": "8.5.23",
47
46
  "postcss-loader": "8.2.1",
48
- "postcss-preset-env": "11.1.3",
49
- "sass": "1.97.3",
50
- "sass-loader": "16.0.7",
51
- "webpack": "5.105.2",
52
- "webpack-cli": "6.0.1",
53
- "webpack-dev-server": "5.2.3"
47
+ "postcss-preset-env": "11.3.2",
48
+ "sass": "1.102.0",
49
+ "sass-loader": "17.0.0",
50
+ "webpack": "5.109.0",
51
+ "webpack-cli": "7.2.1",
52
+ "webpack-dev-server": "6.0.0"
54
53
  },
55
54
  "jest": {
56
55
  "collectCoverageFrom": [
57
- "src/**/*.{js,jsx}"
56
+ "src/**/*.{js,jsx}",
57
+ "!src/js/*-css.js"
58
58
  ],
59
+ "coverageThreshold": {
60
+ "global": {
61
+ "branches": 100,
62
+ "functions": 100,
63
+ "lines": 100,
64
+ "statements": 100
65
+ }
66
+ },
59
67
  "testEnvironment": "jsdom"
60
68
  },
61
69
  "scripts": {
62
70
  "build": "cross-env NODE_ENV=production webpack",
63
- "generate-docs": "jsdoc --configure jsdoc.json --verbose",
71
+ "generate-docs": "jsdoc --configure jsdoc.config.js --verbose",
64
72
  "start": "webpack serve",
65
73
  "test": "npm-run-all test:unit test:report test:lint",
66
74
  "test:unit": "jest --coverage",
@@ -0,0 +1,30 @@
1
+ #crowdin-language-picker.rustdoc-crowdin-picker {
2
+ margin: 1rem;
3
+ width: calc(100% - 2rem);
4
+ }
5
+
6
+ #crowdin-language-picker.rustdoc-crowdin-picker .cr-picker-button {
7
+ box-sizing: border-box;
8
+ width: 100%;
9
+ }
10
+
11
+ #crowdin-language-picker .cr-picker-button,
12
+ #crowdin-language-picker .cr-picker-submenu {
13
+ background-color: var(--sidebar-background-color, var(--main-background-color, #ffffff)) !important;
14
+ border: 1px solid var(--border-color, #dddddd) !important;
15
+ color: var(--main-color, #111111) !important;
16
+ }
17
+
18
+ #crowdin-language-picker .cr-picker-button:hover,
19
+ #crowdin-language-picker .cr-picker-submenu > a:hover {
20
+ background-color: var(--main-color, #111111) !important;
21
+ color: var(--main-background-color, #ffffff) !important;
22
+ }
23
+
24
+ #crowdin-language-picker .cr-picker-submenu > a {
25
+ color: var(--main-color, #111111) !important;
26
+ }
27
+
28
+ #crowdin-language-picker .cr-picker-submenu > a.cr-selected {
29
+ color: var(--link-color, #3873ad) !important;
30
+ }
@@ -0,0 +1 @@
1
+ import "../css/crowdin-rustdoc.scss";
package/src/js/crowdin.js CHANGED
@@ -1,9 +1,116 @@
1
1
  const loadScript = require('./load-script');
2
2
 
3
+ /**
4
+ * jsDelivr CDN URL serving Crowdin distribution files from the crowdin-dist
5
+ * git branch. jsDelivr unconditionally sets Access-Control-Allow-Origin: *,
6
+ * so cross-origin fetch() calls succeed without any browser plugin.
7
+ * The branch is refreshed daily by the "Sync Crowdin Distribution" workflow.
8
+ * Structure mirrors https://distributions.crowdin.net/<hash>/… exactly.
9
+ * @type {string}
10
+ */
11
+ const CROWDIN_DIST_MIRROR = 'https://cdn.jsdelivr.net/gh/LizardByte/i18n@dist';
12
+ const CROWDIN_PLATFORM_STYLING_MAX_ATTEMPTS = 100;
13
+ const CROWDIN_PLATFORM_STYLING_RETRY_DELAY_MS = 50;
14
+
15
+ /**
16
+ * Monkey-patches globalThis.fetch to redirect Crowdin distribution requests to
17
+ * the self-hosted GitHub Pages mirror.
18
+ *
19
+ * Must be called BEFORE proxy-translator.js is loaded so that every fetch()
20
+ * the script makes is already intercepted.
21
+ *
22
+ * Idempotent – installs the interceptor at most once per page.
23
+ */
24
+ function _installCrowdinFetchInterceptor() {
25
+ if (typeof globalThis.fetch !== 'function') return;
26
+ if (globalThis._crowdinMirrorInstalled) return;
27
+ globalThis._crowdinMirrorInstalled = true;
28
+
29
+ const _origFetch = globalThis.fetch.bind(globalThis);
30
+
31
+ globalThis.fetch = function crowdinMirrorFetch(url, options) {
32
+ if (typeof url === 'string') {
33
+ let parsed;
34
+ try {
35
+ parsed = new URL(url);
36
+ } catch {
37
+ // Not a valid absolute URL – pass through unchanged.
38
+ }
39
+ // Use exact hostname comparison to avoid prefix-match bypasses
40
+ // (e.g. distributions.crowdin.net.evil.com) that would be flagged
41
+ // by incomplete URL sanitisation checks.
42
+ if (parsed?.protocol === 'https:' && parsed.hostname === 'distributions.crowdin.net') {
43
+ const mirroredUrl = CROWDIN_DIST_MIRROR + parsed.pathname + parsed.search + parsed.hash;
44
+ return _origFetch(mirroredUrl, options);
45
+ }
46
+ }
47
+ return _origFetch(url, options);
48
+ };
49
+ }
50
+
51
+ /**
52
+ * Re-attempts platform styling while Crowdin inserts the language picker.
53
+ * @param {string} platform - UI platform ('sphinx' or 'rustdoc').
54
+ * @param {number} attempt - Current retry count.
55
+ */
56
+ function _retryCrowdinPlatformStyling(platform, attempt) {
57
+ if (attempt >= CROWDIN_PLATFORM_STYLING_MAX_ATTEMPTS) {
58
+ return;
59
+ }
60
+
61
+ globalThis.setTimeout(function() {
62
+ _applyCrowdinPlatformStyling(platform, attempt + 1);
63
+ }, CROWDIN_PLATFORM_STYLING_RETRY_DELAY_MS);
64
+ }
65
+
66
+ /**
67
+ * Applies platform-specific placement after the Crowdin picker exists.
68
+ * @param {string} platform - UI platform ('sphinx' or 'rustdoc').
69
+ * @param {number} attempt - Current retry count.
70
+ */
71
+ function _applyCrowdinPlatformStyling(platform, attempt = 0) {
72
+ const container = document.getElementById('crowdin-language-picker');
73
+
74
+ if (platform === 'sphinx') {
75
+ const button = document.getElementsByClassName('cr-picker-button')[0];
76
+ const sidebar = document.getElementsByClassName('sidebar-sticky')[0];
77
+
78
+ if (container === null || button === undefined || sidebar === undefined) {
79
+ _retryCrowdinPlatformStyling(platform, attempt);
80
+ return;
81
+ }
82
+
83
+ container.classList.remove('cr-position-bottom-left');
84
+ container.style.width = button.offsetWidth + 10 + 'px';
85
+ container.style.position = 'relative';
86
+ container.style.left = '10px';
87
+ container.style.bottom = '10px';
88
+
89
+ // move button to related pages
90
+ sidebar.appendChild(container);
91
+ return;
92
+ }
93
+
94
+ const sidebar = document.querySelector('.sidebar .sidebar-elems') || document.querySelector('.sidebar');
95
+
96
+ if (container === null || sidebar === null) {
97
+ _retryCrowdinPlatformStyling(platform, attempt);
98
+ return;
99
+ }
100
+
101
+ container.classList.remove('cr-position-bottom-left');
102
+ container.classList.add('rustdoc-crowdin-picker');
103
+ container.style.position = 'static';
104
+ container.style.left = 'auto';
105
+ container.style.bottom = 'auto';
106
+
107
+ sidebar.appendChild(container);
108
+ }
109
+
3
110
  /**
4
111
  * Initializes Crowdin translation widget based on project and UI platform.
5
112
  * @param {string} project - Project name ('LizardByte' or 'LizardByte-docs').
6
- * @param {string|null} platform - UI platform ('sphinx', or null).
113
+ * @param {string|null} platform - UI platform ('sphinx', 'rustdoc', or null).
7
114
  */
8
115
  function initCrowdIn(project = 'LizardByte', platform = null) {
9
116
  // Input validation
@@ -11,11 +118,15 @@ function initCrowdIn(project = 'LizardByte', platform = null) {
11
118
  console.error('Invalid project. Must be "LizardByte" or "LizardByte-docs"');
12
119
  return;
13
120
  }
14
- if (!['sphinx', null].includes(platform)) {
15
- console.error('Invalid UI. Must be "sphinx", or null');
121
+ if (!['sphinx', 'rustdoc', null].includes(platform)) {
122
+ console.error('Invalid UI. Must be "sphinx", "rustdoc", or null');
16
123
  return;
17
124
  }
18
125
 
126
+ // Redirect distribution CDN requests to our self-hosted GitHub Pages mirror
127
+ // before the script is even loaded so every fetch() it makes is intercepted.
128
+ _installCrowdinFetchInterceptor();
129
+
19
130
  loadScript('https://website-translator.app.crowdin.net/assets/proxy-translator.js', function() {
20
131
  // Configure base settings based on project
21
132
  const projectSettings = {
@@ -77,27 +188,12 @@ function initCrowdIn(project = 'LizardByte', platform = null) {
77
188
  return;
78
189
  }
79
190
 
80
- const container = document.getElementById('crowdin-language-picker');
81
- const button = document.getElementsByClassName('cr-picker-button')[0];
82
-
83
- if (platform === 'sphinx') {
84
- container.classList.remove('cr-position-bottom-left')
85
- container.style.width = button.offsetWidth + 10 + 'px';
86
- container.style.position = 'relative';
87
- container.style.left = '10px';
88
- container.style.bottom = '10px';
89
-
90
- // get rst versions
91
- const sidebar = document.getElementsByClassName('sidebar-sticky')[0];
92
-
93
- // move button to related pages
94
- sidebar.appendChild(container);
95
- }
191
+ _applyCrowdinPlatformStyling(platform);
96
192
  });
97
193
  }
98
194
 
99
195
  // Expose to the global scope
100
- if (typeof globalThis !== 'undefined' && globalThis.window !== undefined) {
196
+ if (globalThis.window !== undefined) {
101
197
  globalThis.initCrowdIn = initCrowdIn;
102
198
  }
103
199
 
@@ -15,8 +15,8 @@ function formatNumber(num, decimalPlaces = 1) {
15
15
  }
16
16
 
17
17
  // Expose to the global scope
18
- if (typeof window !== 'undefined') {
19
- window.formatNumber = formatNumber;
18
+ if (globalThis.window !== undefined) {
19
+ globalThis.formatNumber = formatNumber;
20
20
  }
21
21
 
22
22
  module.exports = formatNumber;
@@ -40,8 +40,8 @@ function levenshteinDistance(a, b) {
40
40
  }
41
41
 
42
42
  // Expose to the global scope
43
- if (typeof window !== 'undefined') {
44
- window.levenshteinDistance = levenshteinDistance;
43
+ if (globalThis.window !== undefined) {
44
+ globalThis.levenshteinDistance = levenshteinDistance;
45
45
  }
46
46
 
47
47
  module.exports = levenshteinDistance;
@@ -20,8 +20,8 @@ function loadScript(url, callback) {
20
20
  }
21
21
 
22
22
  // Expose to the global scope
23
- if (typeof window !== 'undefined') {
24
- window.loadScript = loadScript;
23
+ if (globalThis.window !== undefined) {
24
+ globalThis.loadScript = loadScript;
25
25
  }
26
26
 
27
27
  module.exports = loadScript;
@@ -10,22 +10,19 @@ function rankingSorter(firstKey, secondKey) {
10
10
  return -1;
11
11
  } else if (a[firstKey] < b[firstKey]) {
12
12
  return 1;
13
- }
14
- else {
15
- if (a[secondKey] > b[secondKey]) {
16
- return 1;
17
- } else if (a[secondKey] < b[secondKey]) {
18
- return -1;
19
- } else {
20
- return 0;
21
- }
13
+ } else if (a[secondKey] > b[secondKey]) {
14
+ return 1;
15
+ } else if (a[secondKey] < b[secondKey]) {
16
+ return -1;
17
+ } else {
18
+ return 0;
22
19
  }
23
20
  }
24
21
  }
25
22
 
26
23
  // Expose to the global scope
27
- if (typeof window !== 'undefined') {
28
- window.rankingSorter = rankingSorter;
24
+ if (globalThis.window !== undefined) {
25
+ globalThis.rankingSorter = rankingSorter;
29
26
  }
30
27
 
31
28
  module.exports = rankingSorter;
package/src/js/sleep.js CHANGED
@@ -8,8 +8,8 @@ function sleep(ms) {
8
8
  }
9
9
 
10
10
  // Expose to the global scope
11
- if (typeof window !== 'undefined') {
12
- window.sleep = sleep;
11
+ if (globalThis.window !== undefined) {
12
+ globalThis.sleep = sleep;
13
13
  }
14
14
 
15
15
  module.exports = sleep;
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_al</title><path d="M11.616,7.986A1.559,1.559,0,0,0,10.16,7H10.1a1.558,1.558,0,0,0-1.456.986L2,25H5.806l1.015-2.834h6.621L14.457,25h3.8ZM7.944,18.956l2.188-6.111,2.188,6.116Z" style="fill:#2ea98e"/><path d="M23.829,21.671V7.129H20.3V22.747A2.346,2.346,0,0,0,22.57,25H30V21.672Z" style="fill:#2ea98e"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_antlr</title><path d="M14.177,7.278a2.08,2.08,0,0,1,3.041-.8A3.571,3.571,0,0,1,18.2,8.022c1.356,3.122,2.9,6.165,4.119,9.345.645,1.5,1.429,2.938,1.994,4.468a1.455,1.455,0,0,1-2.258,1.376c-2.8-1.572-5.628-3.094-8.385-4.731,2.009.008,4.018-.008,6.025.013a19.707,19.707,0,0,0-1.288-2.918c-.781-1.858-1.6-3.7-2.358-5.565a9.783,9.783,0,0,0-1.032,2.125c-1.3,3.182-2.87,6.241-4.136,9.435-.281.59-.424,1.344-1.035,1.69a1.447,1.447,0,0,1-2.094-.738c-.241-.61.151-1.2.382-1.743.779-1.725,1.645-3.413,2.283-5.2C11.65,12.8,12.916,10.041,14.177,7.278Z" style="fill:#fefefe"/><path d="M13.817,2.2A13.923,13.923,0,0,1,29.526,12.549a13.733,13.733,0,0,1-2.082,11.519A14.074,14.074,0,0,1,7.738,27.293a13.852,13.852,0,0,1-5.615-9.483A14.152,14.152,0,0,1,3.451,9.85,13.961,13.961,0,0,1,13.817,2.2m.359,5.08c-1.261,2.762-2.526,5.525-3.762,8.3-.638,1.786-1.5,3.473-2.283,5.2-.231.542-.623,1.133-.382,1.743a1.447,1.447,0,0,0,2.094.738c.61-.347.753-1.1,1.035-1.69,1.266-3.194,2.833-6.253,4.136-9.435a9.783,9.783,0,0,1,1.032-2.125c.756,1.868,1.577,3.707,2.358,5.565a19.707,19.707,0,0,1,1.288,2.918c-2.007-.02-4.016-.005-6.025-.013,2.757,1.637,5.588,3.159,8.385,4.731a1.455,1.455,0,0,0,2.258-1.376c-.565-1.529-1.349-2.971-1.994-4.468-1.22-3.179-2.762-6.223-4.119-9.345a3.571,3.571,0,0,0-.982-1.544A2.08,2.08,0,0,0,14.177,7.278Z" style="fill:#e44a32"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_apib</title><path d="M18.053,12.267l4.76,7.467.373.56,1.12-.653-.373-.56-4.76-7.467L18.8,10.96l-1.12.653.373.653Zm-5.227-.747-4.76,7.467-.373.56,1.12.653.373-.467,4.76-7.467.373-.56L13.2,10.96l-.373.56Z" style="fill:#a0b3c1"/><path d="M16,13.107A4.979,4.979,0,0,0,20.947,8.16,5.061,5.061,0,0,0,16,3.12a4.979,4.979,0,0,0-4.947,4.947A5.061,5.061,0,0,0,16,13.107ZM16,11.8a3.644,3.644,0,0,1-3.64-3.64,3.64,3.64,0,1,1,7.28,0A3.644,3.644,0,0,1,16,11.8Z" style="fill:#a0b3c1"/><path d="M25.053,28.88a4.947,4.947,0,1,0-4.947-4.947A4.979,4.979,0,0,0,25.053,28.88Zm0-1.307a3.644,3.644,0,0,1-3.64-3.64,3.64,3.64,0,1,1,7.28,0A3.644,3.644,0,0,1,25.053,27.573Z" style="fill:#a0b3c1"/><path d="M6.947,28.88a4.947,4.947,0,1,0,0-9.893,4.947,4.947,0,1,0,0,9.893Zm0-1.307a3.644,3.644,0,0,1-3.64-3.64,3.706,3.706,0,0,1,3.64-3.64,3.706,3.706,0,0,1,3.64,3.64A3.644,3.644,0,0,1,6.947,27.573Z" style="fill:#a0b3c1"/><circle cx="6.947" cy="23.933" r="1.68" style="fill:#5e9cff"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_apl</title><path d="M30,28.275,16,2,2,28.275H14.162V30h3.676V28.275ZM17.838,24.826V13.161l6.215,11.665Zm-9.891,0,6.215-11.665V24.826Z" style="fill:#d2d2d2"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_aspx</title><polygon points="22.75 2 6.35 2 6.35 30 29.65 30 29.65 9 22.75 2" style="fill:#c5c5c5"/><polygon points="27.35 27.7 8.75 27.7 8.75 4.3 20.45 4.3 20.45 11.3 27.45 11.3 27.45 27.7 27.35 27.7" style="fill:#f5f5f5"/><path d="M12.1,30.994A11.094,11.094,0,1,1,23.194,19.9,11.106,11.106,0,0,1,12.1,30.994Zm0-20.3A9.2,9.2,0,1,0,21.3,19.9,9.216,9.216,0,0,0,12.1,10.7Z" style="fill:#33a9dc"/><rect x="2.099" y="19.455" width="20.003" height="0.89" style="fill:#33a9dc;stroke:#33a9dc;stroke-miterlimit:10"/><path d="M12.325,15.763a31.93,31.93,0,0,1-8.484-1.11l.242-.807a31.374,31.374,0,0,0,15.992,0l.239.807A28.076,28.076,0,0,1,12.325,15.763Z" style="fill:#33a9dc;stroke:#33a9dc;stroke-miterlimit:10"/><path d="M4.1,25.724l-.239-.807a31.652,31.652,0,0,1,16.472,0l-.242.807A31.38,31.38,0,0,0,4.1,25.724Z" style="fill:#33a9dc;stroke:#33a9dc;stroke-miterlimit:10"/><path d="M8.536,29.055A25.438,25.438,0,0,1,8,10.608l.776.331a24.558,24.558,0,0,0,.533,17.783Z" style="fill:#33a9dc;stroke:#33a9dc;stroke-miterlimit:10"/><path d="M15.6,29.055l-.776-.333a24.559,24.559,0,0,0,.531-17.783l.776-.331A25.443,25.443,0,0,1,15.6,29.055Z" style="fill:#33a9dc;stroke:#33a9dc;stroke-miterlimit:10"/><rect x="11.655" y="9.898" width="0.889" height="20.371" style="fill:#33a9dc;stroke:#33a9dc;stroke-miterlimit:10"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_ats</title><path d="M30,14.74v.49a.736.736,0,0,0,0,.49v.56a.736.736,0,0,0,0,.49v.56a15.66,15.66,0,0,1-.373,2.332,14.127,14.127,0,0,1-8.8,9.59,10.293,10.293,0,0,1-3.471.713A.141.141,0,0,0,17.26,30H16.7a.386.386,0,0,0-.35,0h-.7a.546.546,0,0,0-.42,0h-.56a14.528,14.528,0,0,1-2.366-.383,14.269,14.269,0,0,1-6.051-3.426A14.048,14.048,0,0,1,2.593,20.4a9.879,9.879,0,0,1-.558-2.9c0-.057.011-.117-.035-.165v-.56a.923.923,0,0,0,0-.56v-.42a.923.923,0,0,0,0-.56v-.56a12.974,12.974,0,0,1,.454-2.637A14.035,14.035,0,0,1,9.572,3.444a13.708,13.708,0,0,1,3.719-1.292c.456-.09.923-.065,1.379-.152h.56a1.521,1.521,0,0,0,.512.035h.645c.15-.016.307.036.453-.035h.42c.434.071.879.047,1.311.129a14.125,14.125,0,0,1,10.7,9.076,10.4,10.4,0,0,1,.7,3.37C29.966,14.632,29.955,14.692,30,14.74Z" style="fill:#fefe5f"/><path d="M10.2,17.448c-.133.05-.165.185-.23.286-1.316,2.049-2.634,4.1-3.937,6.155-.154.244-.263.245-.479.094-.42-.293-.848-.579-1.294-.83-.259-.145-.272-.251-.114-.5,1.939-3.007,3.863-6.023,5.8-9.029a.785.785,0,0,0,.1-.748,5.583,5.583,0,0,0-.482-1.12,1.121,1.121,0,0,0-1.4-.542,5.4,5.4,0,0,0-1.889,1.169c-.275.233-.54.481-.794.737-.133.135-.215.158-.358.007-.408-.433-.832-.85-1.253-1.27-.09-.09-.156-.154-.027-.278a10.267,10.267,0,0,1,3.391-2.42,3.388,3.388,0,0,1,4.336,1.582,8.088,8.088,0,0,1,.954,4.418,19.625,19.625,0,0,0,.179,4.67,4.31,4.31,0,0,0,.12.473,1.9,1.9,0,0,0,2.124,1.573q5.965,0,11.932-.007c.332,0,.406.1.391.405-.025.5-.023,1,0,1.5.013.273-.065.347-.342.346-2.3-.012-4.6-.007-6.894-.007H14.9A4.159,4.159,0,0,1,11.861,23a5.207,5.207,0,0,1-1.389-2.917,14.4,14.4,0,0,1-.225-2.435C10.247,17.583,10.278,17.507,10.2,17.448Z" style="fill:#fe0000"/><path d="M26.708,13.593c0-.276-.086-.322-.336-.32-1.482.012-2.963.006-4.445.006-.832,0-.822,0-.832-.825,0-.238.049-.313.3-.31,1.365.013,2.73,0,4.095.011.229,0,.323-.032.316-.294-.02-.746-.014-1.493,0-2.239,0-.2-.03-.278-.26-.278q-5.337.014-10.675,0c-.251,0-.276.094-.273.3.01.734.015,1.47,0,2.2-.006.242.052.311.3.308,1.2-.014,2.4-.006,3.605-.006.8,0,.789,0,.8.816.006.272-.078.321-.33.319-1.645-.012-3.29,0-4.935-.012-.269,0-.351.059-.349.342q.018,3.481,0,6.965c0,.259.06.328.324.327,2.065-.012,4.13-.007,6.195-.007s4.107,0,6.16.005c.241,0,.34-.028.338-.313Q26.688,17.093,26.708,13.593ZM19.043,18.1c-.548-.011-1.1,0-1.643,0s-1.1-.007-1.644,0c-.185,0-.266-.032-.26-.243.016-.512.015-1.026,0-1.538-.006-.207.068-.25.26-.248q1.643.012,3.287,0c.192,0,.265.043.259.249-.014.512-.015,1.026,0,1.538C19.31,18.074,19.228,18.107,19.043,18.1ZM24.9,16.339c-.017.5-.013,1,0,1.5,0,.185-.026.265-.24.263-1.107-.011-2.215-.008-3.322,0-.165,0-.251-.02-.245-.222.015-.524.013-1.049,0-1.573,0-.188.06-.237.24-.233.56.01,1.119,0,1.679,0,.536,0,1.072.009,1.608,0C24.831,16.069,24.912,16.112,24.9,16.339Z" style="fill:#0000fe"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_actionscript</title><path d="M2,15.281c1.918,0,2.11-1.055,2.11-1.918a17.119,17.119,0,0,0-.192-2.205,18.723,18.723,0,0,1-.192-2.205c0-2.4,1.63-3.452,3.836-3.452h.575V6.938H7.658c-1.534,0-2.11.767-2.11,2.205a14.412,14.412,0,0,0,.192,1.918,14.306,14.306,0,0,1,.192,2.014c0,1.726-.671,2.493-1.918,2.877v.1c1.151.288,1.918,1.151,1.918,2.877a14.306,14.306,0,0,1-.192,2.014,13,13,0,0,0-.192,1.918c0,1.438.575,2.3,2.11,2.3h.479V26.6H7.562c-2.205,0-3.836-.959-3.836-3.644a18.723,18.723,0,0,1,.192-2.205,15.68,15.68,0,0,0,.192-2.11c0-.863-.288-1.918-2.11-1.918Z" style="fill:#c41718"/><path d="M9.479,18.062,8.233,21.8H6.6L10.63,9.911h1.822L16.479,21.8H14.945L13.7,18.062Zm3.932-1.151L12.26,13.459a9.364,9.364,0,0,1-.575-2.205h0c-.192.671-.384,1.438-.575,2.11L9.959,16.815h3.452Z" style="fill:#c41718"/><path d="M17.918,19.979a5.941,5.941,0,0,0,2.781.767c1.534,0,2.493-.863,2.493-2.014s-.671-1.726-2.205-2.4c-1.918-.671-3.164-1.726-3.164-3.356,0-1.822,1.534-3.26,3.836-3.26a5.135,5.135,0,0,1,2.589.575l-.384,1.247a5.519,5.519,0,0,0-2.3-.479c-1.63,0-2.205.959-2.205,1.822,0,1.151.767,1.63,2.4,2.3,2.014.767,3.068,1.726,3.068,3.452,0,1.822-1.342,3.452-4.123,3.452a5.807,5.807,0,0,1-3.068-.767Z" style="fill:#c41718"/><path d="M30,16.623c-1.918,0-2.11,1.151-2.11,1.918a15.68,15.68,0,0,0,.192,2.11,15.738,15.738,0,0,1,.192,2.205c0,2.685-1.63,3.644-3.836,3.644h-.575V25.062h.479c1.438,0,2.11-.863,2.11-2.3a13,13,0,0,0-.192-1.918,14.306,14.306,0,0,1-.192-2.014c0-1.726.767-2.589,1.918-2.877v-.1c-1.151-.288-1.918-1.151-1.918-2.877a14.306,14.306,0,0,1,.192-2.014,13,13,0,0,0,.192-1.918c0-1.438-.575-2.205-2.11-2.3h-.479V5.4h.575c2.205,0,3.836,1.055,3.836,3.452a17.119,17.119,0,0,1-.192,2.205,17.119,17.119,0,0,0-.192,2.205c0,.959.288,1.918,2.11,1.918Z" style="fill:#c41718"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_ada</title><path d="M24.554,20.075c.209.27,1.356.961,1.37,1.246a6.921,6.921,0,0,0-1.4-.324c-.468-.142-.951-.293-1.412-.48a9.2,9.2,0,0,1-2.375-1.3A3.146,3.146,0,0,1,19.3,16.75a1.722,1.722,0,0,1,1.767-1.822,3.584,3.584,0,0,1,1.593.321c.146.066,1.31.606,1.256.809a5.5,5.5,0,0,0-1.41-.112c-.649.244-.4.828-.168,1.311a7.877,7.877,0,0,0,1.078,1.554C23.58,19.005,24.3,20.082,24.554,20.075Z" style="fill:#0f23c3"/><path d="M24.141,16.276c.128-.59.819-1.384,1.344-.773a4.2,4.2,0,0,1,.578,1.918c.12.656.2,1.327.261,1.982.038.379.34,1.794.123,2.075a23.24,23.24,0,0,1-2.922-2.838,3.763,3.763,0,0,1-.925-1.7C22.5,15.867,23.479,16.21,24.141,16.276Z" style="fill:#1a1978"/><path d="M26.3,17.781c.141-.732-.406-2.592-1.067-2.949a.06.06,0,0,0,.044-.007c-.156-.444-1.359,1.116-1.228,1.174-.316-.138.774-1.984.988-2.16.7-.578,1.372-.086,1.845.543a6.036,6.036,0,0,1,.733,4.434,4.5,4.5,0,0,1-.421,1.312c-.1.22-.45,1.1-.682,1.174A14.754,14.754,0,0,0,26.3,17.781Z" style="fill:#0f23c3"/><path d="M3.687,8.4c.179-.188-.041-1.527.324-1.548.262-.015.553,1.741.627,1.968a9.2,9.2,0,0,0,1.127,2.329,7.529,7.529,0,0,0,4.016,2.978,4.55,4.55,0,0,0,2.366.2c.931-.208,1.82-.577,2.757-.765,1.35-.27,3.342-.352,4.438.647.7.641.376.76.043,1.421a2.445,2.445,0,0,0,.178,2.562c.235.342,1.033.827.675,1.094-.567.424-1.277-.452-1.636-.776-1.4-1.264-2.711-1.313-4.492-1.074a8.987,8.987,0,0,1-4.883-.708A9.469,9.469,0,0,1,3.687,8.4Z" style="fill:#d2d2d2"/><path d="M19.941,30a3.615,3.615,0,0,1-2.325-.817c.469-.092,1.021.025,1.508-.044a9.7,9.7,0,0,0,1.754-.43A10.537,10.537,0,0,0,23.9,27.155a6.55,6.55,0,0,0,2.757-5.214c.149-.088.316,1.034.319,1.091a5.789,5.789,0,0,1-.19,1.727,6.867,6.867,0,0,1-1.423,2.774A7.286,7.286,0,0,1,19.941,30Z" style="fill:#d2d2d2"/><path d="M18.962,19.109a5.76,5.76,0,0,1-2.05.859,13.38,13.38,0,0,1-2.224.549,8.861,8.861,0,0,1-4.435-.51,9.939,9.939,0,0,1-3.849-2.4C6.052,17.24,4.3,15.19,4.856,14.557c.248-.282.875.846,1,.992a5,5,0,0,0,1.357,1.11,10.917,10.917,0,0,0,4.035,1.456,6.693,6.693,0,0,0,2.34-.094,12.743,12.743,0,0,1,1.694-.485,4,4,0,0,1,2.113.457C17.739,18.163,18.918,18.736,18.962,19.109Z" style="fill:#d2d2d2"/><path d="M28.313,15.078a19.277,19.277,0,0,1-.453,3.774c-.176-.242.016-1.47,0-1.792a6.032,6.032,0,0,0-.384-2.087A4.925,4.925,0,0,0,26.1,13.312a14.728,14.728,0,0,1-1.27-1.536c-1.837-2.382-3.245-5.211-2.9-8.3.034-.308.069-1.448.411-1.445.152,0,.266,1.561.29,1.718a12.527,12.527,0,0,0,1.224,4.116c.67,1.222,1.947,2.023,2.825,3.1A6.579,6.579,0,0,1,28.313,15.078Z" style="fill:#d2d2d2"/><path d="M15.7,26.935a10.845,10.845,0,0,0,6.436-.687,6.941,6.941,0,0,0,4.278-4.418c.319.2-.048,1.529-.128,1.781a5.726,5.726,0,0,1-1.01,1.813,8.933,8.933,0,0,1-3.257,2.514C20.316,28.71,16.357,29.59,15.7,26.935Z" style="fill:#d2d2d2"/><path d="M19.151,19.376c.367,2.107-2.957,3.124-4.478,3.213-1.859.11-4.929-.292-6.06-2.031-.673-1.035.781-.09,1.188.058a8.663,8.663,0,0,0,3.06.5,11.6,11.6,0,0,0,3.305-.5,13.725,13.725,0,0,0,1.533-.576C18,19.908,18.823,19.349,19.151,19.376Z" style="fill:#d2d2d2"/><path d="M24.142,23.46c.4-.945-1.883-1.578-2.445-1.858a4.857,4.857,0,0,1-1.315-.867c-.181-.181-.872-.92-.807-1.219a4.912,4.912,0,0,1,1.087-.175,5.93,5.93,0,0,1,.855.588,10.323,10.323,0,0,0,.964.5A15.615,15.615,0,0,0,24.6,21.2c.308.09,1.549.208,1.727.428C26.287,21.924,24.357,23.649,24.142,23.46Z" style="fill:#d2d2d2"/><path d="M26.1,22.172c.265.43-1.08,1.831-1.363,2.105a9.34,9.34,0,0,1-2.566,1.728,7.748,7.748,0,0,1-2.56.753c-.679.058-1.966-.124-2.141-.979a6.951,6.951,0,0,1,1.177-.086c.462-.059.921-.149,1.376-.246a13.065,13.065,0,0,0,2.184-.645,11.506,11.506,0,0,0,2.084-1.11,10.872,10.872,0,0,0,1.078-.822C25.474,22.781,25.986,22.168,26.1,22.172Z" style="fill:#d2d2d2"/><path d="M18.758,11.965c-.1-1.308,2.612-1.3,3.271-1.092a5.976,5.976,0,0,1,2.982,2.475c-1.082.8-2.449.094-3.3-.654a4.324,4.324,0,0,0-1.481-1.029C19.421,11.4,19.412,11.759,18.758,11.965Z" style="fill:#d2d2d2"/><path d="M25.783,13.341c-.444-.029-.316.071-.647-.212-.358-.307-.614-.795-.945-1.141-.534-.558-1.242-.895-1.723-1.485a7.269,7.269,0,0,1-1.624-4.848c.018-1.489.407.187.551.675a12.276,12.276,0,0,0,1.126,2.708,46.055,46.055,0,0,0,3.4,4.321C25.882,13.361,25.824,13.338,25.783,13.341Z" style="fill:#d2d2d2"/><path d="M20.068,14.756c.033-.625-.911-.792-1.211-1.42-.164-.343-.211-.569.029-.7.082-.045.383.012.5-.02.271-.076.335-.273.581-.4A1.193,1.193,0,0,1,21.6,13.237,1.821,1.821,0,0,1,20.068,14.756Z" style="fill:#d2d2d2"/><path d="M20.5,14.745a1.931,1.931,0,0,0,1.323-1.7c.524.139.928.658,1.521.771a2.584,2.584,0,0,0,1.029-.017c.207-.045.54-.274.721-.259-.033.163-.464.546-.565.717a4.242,4.242,0,0,0-.388.9c-.229.741-.061.739-.709.311a4.284,4.284,0,0,0-1.957-.72C21.209,14.722,20.594,14.767,20.5,14.745Z" style="fill:#d2d2d2"/><path d="M19.905,20.734a2.008,2.008,0,0,1-1.4,1.712c-.205.091-2.018.733-2.032.348-.007-.2,1.624-.954,1.809-1.11a3.355,3.355,0,0,0,.867-1.071c.055-.112.232-.925.271-.943C19.644,19.564,19.908,20.6,19.905,20.734Z" style="fill:#d2d2d2"/><path d="M11.373,12.532a10.625,10.625,0,0,1,3.71-.914,10.282,10.282,0,0,1,1.865.024c.366.039,1.469.054,1.74.343a.255.255,0,0,1-.273.173c-.037.077.251.371.3.425-.034.034-1.445-.4-1.572-.424a10.632,10.632,0,0,0-2.282-.134,16,16,0,0,0-1.841.194A6.224,6.224,0,0,1,11.373,12.532Z" style="fill:#d2d2d2"/><path d="M22.512,10.731a1.888,1.888,0,0,1-1.517-.6c-.247-.349-.737-1.692-.385-2.021.209-.2.384.662.484.846A10.822,10.822,0,0,0,22.512,10.731Z" style="fill:#d2d2d2"/><path d="M27.788,19.2a19.212,19.212,0,0,1-.749,3.313c-.173-.077-.275-.778-.562-.95a4.07,4.07,0,0,0,.76-1.154C27.389,20.107,27.54,19.363,27.788,19.2Z" style="fill:#d2d2d2"/><path d="M19.981,11.843c-.132.268-.932,1.1-1.118.481C18.756,11.968,19.739,11.483,19.981,11.843Zm-.747.45c.228.006.012-.248.012-.266C19.245,11.984,18.878,12.293,19.234,12.293Z" style="fill:#d2d2d2"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="a" x1="-5602.682" y1="768.541" x2="-5598.727" y2="763.917" gradientTransform="matrix(0.423, -0.906, -0.906, -0.423, 3082.853, -4748.551)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f69923"/><stop offset="0.312" stop-color="#f79a23"/><stop offset="0.838" stop-color="#e97826"/></linearGradient><linearGradient id="b" x1="-5631.952" y1="769.052" x2="-5603.737" y2="769.052" gradientTransform="matrix(0.423, -0.906, -0.906, -0.423, 3082.853, -4748.551)" gradientUnits="userSpaceOnUse"><stop offset="0.323" stop-color="#9e2064"/><stop offset="0.63" stop-color="#c92037"/><stop offset="0.751" stop-color="#cd2335"/><stop offset="1" stop-color="#e97826"/></linearGradient><linearGradient id="c" x1="-5628.546" y1="766.221" x2="-5611.733" y2="766.221" gradientTransform="matrix(0.423, -0.906, -0.906, -0.423, 3082.853, -4748.551)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#282662"/><stop offset="0.095" stop-color="#662e8d"/><stop offset="0.788" stop-color="#9f2064"/><stop offset="0.949" stop-color="#cd2032"/></linearGradient><linearGradient id="d" x1="-5630.367" y1="769.316" x2="-5602.152" y2="769.316" xlink:href="#b"/><linearGradient id="e" x1="-5628.31" y1="768.933" x2="-5613.482" y2="768.933" xlink:href="#c"/><linearGradient id="f" x1="-5630.367" y1="766.394" x2="-5602.152" y2="766.394" xlink:href="#b"/><linearGradient id="g" x1="-5632.118" y1="766.539" x2="-5603.902" y2="766.539" xlink:href="#b"/><linearGradient id="h" x1="-5630.367" y1="765.526" x2="-5602.152" y2="765.526" xlink:href="#b"/><linearGradient id="i" x1="-5630.367" y1="765.625" x2="-5602.152" y2="765.625" xlink:href="#b"/><linearGradient id="j" x1="-5614.516" y1="765.645" x2="-5608.28" y2="765.645" xlink:href="#b"/></defs><title>file_type_apache</title><path d="M19.993,2.133a10.267,10.267,0,0,0-2.04,2.056l.8,1.51a19.733,19.733,0,0,1,1.708-2.144c.044-.049.068-.072.068-.072l-.068.072a17.865,17.865,0,0,0-1.6,2.174,30.1,30.1,0,0,0,3.111-.385,3.288,3.288,0,0,0-.3-2.5S20.9,1.6,19.993,2.133Z" style="fill:url(#a)"/><path d="M18.638,10.749l.018,0-.115.013-.021.009Z" style="fill:none"/><path d="M17.821,13.455c-.066.015-.132.026-.2.036C17.689,13.481,17.756,13.469,17.821,13.455Z" style="fill:none"/><path d="M12.27,19.524c.009-.023.017-.045.025-.068q.264-.7.523-1.357.291-.741.575-1.436.3-.733.59-1.418.305-.718.6-1.384.24-.542.474-1.049.078-.169.155-.335.153-.329.3-.645.138-.291.274-.57c.03-.062.06-.123.09-.185l.015-.03-.1.011-.078-.154c-.007.015-.015.03-.023.045q-.211.418-.417.845-.119.246-.238.495-.328.689-.645,1.389T13.766,15.1q-.3.7-.594,1.4t-.567,1.387q-.289.72-.562,1.426-.062.159-.123.318-.219.569-.426,1.124l.123.243.11-.012.012-.033Q12.008,20.216,12.27,19.524Z" style="fill:none"/><path d="M17.57,13.5Z" style="fill:none"/><path d="M17.305,14.818l-.315.055h0l.161-.025C17.2,14.839,17.253,14.829,17.305,14.818Z" style="fill:#be202e"/><path d="M17.305,14.818l-.315.055h0l.161-.025C17.2,14.839,17.253,14.829,17.305,14.818Z" style="fill:#be202e;opacity:0.3499999940395355;isolation:isolate"/><path d="M17.573,13.5h0l.05-.007c.068-.01.135-.022.2-.036l-.248.042Z" style="fill:#be202e"/><path d="M17.573,13.5h0l.05-.007c.068-.01.135-.022.2-.036l-.248.042Z" style="fill:#be202e;opacity:0.3499999940395355;isolation:isolate"/><path d="M16.394,9.6q.365-.682.739-1.332.388-.674.784-1.305l.046-.075q.392-.62.79-1.191l-.8-1.51-.182.225c-.231.288-.47.6-.716.925-.277.37-.562.764-.851,1.179-.267.383-.538.784-.809,1.2-.231.353-.462.717-.692,1.09l-.026.042L15.718,10.9Q16.052,10.244,16.394,9.6Z" style="fill:url(#b)"/><path d="M11.651,21.192q-.207.568-.415,1.159l-.006.017-.059.167c-.093.266-.175.5-.361,1.049a2.107,2.107,0,0,1,.786.926,1.68,1.68,0,0,0-.544-1.154,3.621,3.621,0,0,0,3.489-1.42,2.791,2.791,0,0,0,.165-.313,1.451,1.451,0,0,1-1.4.513l0,0,0,0a4.059,4.059,0,0,0,2.046-1.672c.111-.178.218-.372.328-.587a3.3,3.3,0,0,1-3.109,1.01l-.842.092C11.7,21.05,11.677,21.121,11.651,21.192Z" style="fill:url(#c)"/><path d="M12.044,19.306q.273-.706.562-1.426.276-.69.567-1.387t.594-1.4q.308-.711.629-1.419t.645-1.389q.118-.248.238-.495.207-.426.417-.845c.007-.015.015-.03.023-.045L14.677,8.847l-.051.083c-.242.4-.484.8-.721,1.216s-.475.844-.7,1.276q-.291.547-.568,1.1l-.11.225c-.227.467-.432.918-.617,1.352q-.315.737-.556,1.406c-.107.293-.2.576-.292.847-.073.232-.142.464-.208.7q-.234.818-.4,1.631L11.5,20.748q.208-.554.426-1.124Z" style="fill:url(#d)"/><path d="M10.435,18.755a16.07,16.07,0,0,0-.272,1.974c0,.023,0,.046-.005.069a4.15,4.15,0,0,0-1.2-1.029,5.825,5.825,0,0,1,1.172,2.693,2.642,2.642,0,0,1-1.325-.226,2.662,2.662,0,0,0,1.13.686,3.247,3.247,0,0,0-1.571.783,3.359,3.359,0,0,1,1.861-.342C9.51,25.389,8.793,27.626,8.076,30a.625.625,0,0,0,.425-.413c.128-.43.976-3.251,2.306-6.959l.115-.318.032-.089q.211-.583.437-1.19l.1-.277,0-.005L10.45,18.684C10.445,18.707,10.439,18.731,10.435,18.755Z" style="fill:url(#e)"/><path d="M15.88,11.078l-.09.185q-.135.279-.274.57-.15.315-.3.645c-.052.111-.1.222-.155.335q-.234.508-.474,1.049-.3.666-.6,1.384-.291.685-.59,1.418-.284.7-.575,1.436-.259.661-.523,1.357c-.009.023-.017.045-.025.068q-.262.693-.529,1.422l-.012.033.842-.092-.05-.009a6,6,0,0,0,3.21-1.807,7.984,7.984,0,0,0,1.1-1.524,13.139,13.139,0,0,0,.706-1.467c.195-.472.382-.982.562-1.536a3.053,3.053,0,0,1-.788.274c-.051.011-.1.021-.156.03s-.107.018-.161.025h0a3.668,3.668,0,0,0,1.962-1.913,3.344,3.344,0,0,1-1.13.495c-.066.015-.132.026-.2.036l-.05.007h0a3.821,3.821,0,0,0,.839-.469c.051-.038.1-.078.148-.12.073-.063.142-.129.208-.2.042-.044.083-.09.123-.138a3.27,3.27,0,0,0,.263-.362c.025-.04.05-.08.074-.122.031-.06.061-.119.09-.178.131-.264.236-.5.319-.706.042-.1.078-.2.109-.288.013-.035.025-.07.036-.1.033-.1.06-.187.081-.265a2.605,2.605,0,0,0,.062-.275h0a1.01,1.01,0,0,1-.109.075,3.965,3.965,0,0,1-1.162.4l.773-.085-.773.085-.018,0-.119.019.021-.009-2.645.29Z" style="fill:url(#f)"/><path d="M18.858,5.73c-.235.361-.492.771-.768,1.236l-.044.074q-.358.6-.759,1.327-.346.626-.719,1.347-.326.629-.672,1.336l2.645-.29A3.216,3.216,0,0,0,19.99,9.62c.089-.128.178-.262.267-.4.272-.424.538-.891.776-1.355a14.074,14.074,0,0,0,.588-1.294,6.8,6.8,0,0,0,.233-.7c.048-.184.086-.358.115-.524A30.152,30.152,0,0,1,18.858,5.73Z" style="fill:url(#g)"/><path d="M17.149,14.848c-.053.009-.107.018-.161.025h0C17.042,14.866,17.1,14.857,17.149,14.848Z" style="fill:#be202e"/><path d="M17.149,14.848c-.053.009-.107.018-.161.025h0C17.042,14.866,17.1,14.857,17.149,14.848Z" style="fill:#be202e;opacity:0.3499999940395355;isolation:isolate"/><path d="M17.149,14.848c-.053.009-.107.018-.161.025h0C17.042,14.866,17.1,14.857,17.149,14.848Z" style="fill:url(#h)"/><path d="M17.57,13.5l.05-.007-.05.007Z" style="fill:#be202e"/><path d="M17.57,13.5l.05-.007-.05.007Z" style="fill:#be202e;opacity:0.3499999940395355;isolation:isolate"/><path d="M17.57,13.5l.05-.007-.05.007Z" style="fill:url(#i)"/><path d="M17.572,13.5h0Z" style="fill:#be202e"/><path d="M17.572,13.5h0Z" style="fill:#be202e;opacity:0.3499999940395355;isolation:isolate"/><path d="M17.572,13.5h0Z" style="fill:url(#j)"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_apex</title><path d="M13.652,8.338A4.906,4.906,0,0,1,17.2,6.814a4.957,4.957,0,0,1,4.32,2.56,5.972,5.972,0,0,1,2.442-.519,6.089,6.089,0,1,1-1.189,12.06,4.412,4.412,0,0,1-5.782,1.816A5.034,5.034,0,0,1,7.634,22.5a4.646,4.646,0,0,1-.96.1,4.732,4.732,0,0,1-2.337-8.812,5.438,5.438,0,0,1,9.315-5.453" style="fill:#0f9bd7"/><path d="M25.376,30.966h-.561a4.658,4.658,0,0,1-1.284-.137,1.9,1.9,0,0,1-.818-.482,1.726,1.726,0,0,1-.455-.843,6.77,6.77,0,0,1-.106-1.413,5.889,5.889,0,0,0-.084-1.33,1,1,0,0,0-.3-.544,1.223,1.223,0,0,0-.66-.179l-.236-.014V24.145l.236-.014a1.482,1.482,0,0,0,.549-.1.706.706,0,0,0,.273-.264,1.394,1.394,0,0,0,.181-.529,6.683,6.683,0,0,0,.044-.939,8.132,8.132,0,0,1,.112-1.643,1.7,1.7,0,0,1,.448-.841,2.144,2.144,0,0,1,.906-.492,4.514,4.514,0,0,1,1.2-.116h.561v1.9h-.25a2.589,2.589,0,0,0-.743.056.284.284,0,0,0-.148.117.839.839,0,0,0-.054.386q0,.372-.053,1.413a3.74,3.74,0,0,1-.166,1.009,1.945,1.945,0,0,1-.693,1,2.01,2.01,0,0,1,.7,1.044,4.627,4.627,0,0,1,.163,1.079c.027.657.041,1.074.041,1.256a.871.871,0,0,0,.057.408A.343.343,0,0,0,24.4,29a2.382,2.382,0,0,0,.728.06h.25Z" style="fill:#fff"/><path d="M21.118,25.788V24.382a1.752,1.752,0,0,0,.645-.129.936.936,0,0,0,.375-.354,1.621,1.621,0,0,0,.217-.624A6.88,6.88,0,0,0,22.4,22.3a8,8,0,0,1,.105-1.585,1.456,1.456,0,0,1,.381-.721,1.9,1.9,0,0,1,.8-.431,4.336,4.336,0,0,1,1.125-.105h.311v1.4a2.876,2.876,0,0,0-.835.073.53.53,0,0,0-.272.223,1.079,1.079,0,0,0-.088.513q0,.369-.053,1.4a3.531,3.531,0,0,1-.152.94,1.918,1.918,0,0,1-.313.595,2.47,2.47,0,0,1-.583.486,2.045,2.045,0,0,1,.565.466,1.869,1.869,0,0,1,.337.647,4.41,4.41,0,0,1,.152,1.02q.041.973.041,1.242a1.1,1.1,0,0,0,.094.539.584.584,0,0,0,.284.231,2.649,2.649,0,0,0,.823.079v1.406h-.311A4.474,4.474,0,0,1,23.6,30.59a1.644,1.644,0,0,1-.712-.419,1.478,1.478,0,0,1-.39-.724,6.621,6.621,0,0,1-.1-1.356,6.374,6.374,0,0,0-.094-1.4,1.232,1.232,0,0,0-.39-.671A1.431,1.431,0,0,0,21.118,25.788Z" style="fill:#0072a0"/><path d="M27.011,30.966H26.45V29.059h.25A2.329,2.329,0,0,0,27.426,29a.323.323,0,0,0,.165-.127.812.812,0,0,0,.058-.379q0-.36.05-1.375a3.725,3.725,0,0,1,.173-1.047,2.223,2.223,0,0,1,.387-.7,2.145,2.145,0,0,1,.3-.292,2.141,2.141,0,0,1-.4-.4,2.612,2.612,0,0,1-.421-1.092,17.525,17.525,0,0,1-.1-1.841,1.357,1.357,0,0,0-.053-.479c-.008-.016-.031-.062-.136-.106a2.524,2.524,0,0,0-.757-.06h-.25V19.2h.561a4.793,4.793,0,0,1,1.283.133,1.841,1.841,0,0,1,.818.485,1.781,1.781,0,0,1,.453.843,6.6,6.6,0,0,1,.109,1.414,6.359,6.359,0,0,0,.079,1.336.992.992,0,0,0,.3.537,1.226,1.226,0,0,0,.664.18l.236.014v1.879l-.236.014a1.482,1.482,0,0,0-.549.1.686.686,0,0,0-.27.262,1.484,1.484,0,0,0-.186.534,6.743,6.743,0,0,0-.043.931,8.383,8.383,0,0,1-.108,1.644,1.694,1.694,0,0,1-.446.846,2.143,2.143,0,0,1-.913.492A4.5,4.5,0,0,1,27.011,30.966Z" style="fill:#fff"/><path d="M30.708,25.788a1.752,1.752,0,0,0-.645.129.918.918,0,0,0-.372.354,1.725,1.725,0,0,0-.22.624,6.82,6.82,0,0,0-.047.973,8.27,8.27,0,0,1-.1,1.588,1.439,1.439,0,0,1-.378.724,1.9,1.9,0,0,1-.809.431,4.336,4.336,0,0,1-1.125.105H26.7V29.31a2.652,2.652,0,0,0,.82-.079A.572.572,0,0,0,27.8,29,1.05,1.05,0,0,0,27.9,28.5q0-.357.05-1.365a3.53,3.53,0,0,1,.158-.976,1.976,1.976,0,0,1,.343-.621A2.038,2.038,0,0,1,29,25.085a2.416,2.416,0,0,1-.633-.551,2.339,2.339,0,0,1-.375-.984,17.564,17.564,0,0,1-.094-1.8,1.571,1.571,0,0,0-.079-.586.487.487,0,0,0-.264-.226,2.8,2.8,0,0,0-.853-.079v-1.4h.311a4.576,4.576,0,0,1,1.213.123,1.587,1.587,0,0,1,.709.419,1.529,1.529,0,0,1,.39.727,6.436,6.436,0,0,1,.1,1.356,6.842,6.842,0,0,0,.088,1.4,1.223,1.223,0,0,0,.393.671,1.447,1.447,0,0,0,.8.231Z" style="fill:#0072a0"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_applescript</title><path d="M17.181,4.437A5.993,5.993,0,0,1,21.579,2a5.979,5.979,0,0,1-1.447,4.476,4.729,4.729,0,0,1-4.17,1.961A5.2,5.2,0,0,1,17.181,4.437Z" style="fill:#a8c2ab"/><path d="M16.2,10.034c.946,0,2.7-1.3,4.989-1.3a6.249,6.249,0,0,1,5.484,2.8,6.08,6.08,0,0,0-3.028,5.3,6.235,6.235,0,0,0,3.772,5.7s-2.637,7.422-6.2,7.422c-1.636,0-2.908-1.1-4.631-1.1-1.757,0-3.5,1.144-4.635,1.144C8.7,30,4.587,22.959,4.587,17.3c0-5.568,3.478-8.489,6.74-8.489C13.448,8.811,15.093,10.034,16.2,10.034Z" style="fill:#a8c2ab"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="a" x1="836.63" y1="36.205" x2="843.802" y2="14.48" gradientTransform="translate(525.922 30.249) rotate(180) scale(0.607 0.607)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff" stop-opacity="0"/><stop offset="1" stop-color="#fff" stop-opacity="0.275"/></linearGradient></defs><title>file_type_assembly</title><path d="M16,2c-1.246,3.056-2,5.057-3.391,8.022A21.884,21.884,0,0,0,16.2,13.156a14.858,14.858,0,0,1-4-2.283C10.43,14.579,7.646,19.855,2,30c5.186-2.994,9.012-4.648,12.691-4.966V24.2h-.834v-.837h.834V24.2h1.675V22.521H14.691v-.834h-.834V20.013h.834v-.834h1.675v.834H17.2v.837h-.837v-.837H14.691v1.675h1.675v.834H17.2V24.2h-.837v.783c3.98.1,8.006,1.772,13.634,5.021-.863-1.589-1.636-3.021-2.372-4.385a25.526,25.526,0,0,0-4.833-3.333A14.436,14.436,0,0,1,26.65,23.8C19.17,9.872,18.565,8.02,16,2ZM10.511,19.179h1.671v.834h.837v5.021h-.837V22.521H10.511v2.512H9.673V20.013h.837Zm0,.834v1.675h1.671V20.013Zm7.526-.834h.837v.834h.837v.837h.834v-.837h.837v-.834h.837v5.855h-.837V20.85h-.837v.837h-.834V20.85h-.837v4.184h-.837Z" style="fill:#0000bf"/><path d="M23.881,18.642c-6.069-8.237-7.476-14.876-7.832-16.461A175.217,175.217,0,0,0,23.881,18.642Z" style="fill:#fff;fill-opacity:0.165680468082428"/><path d="M16.051,2.12,15.6,3.227c-.159.391-.311.765-.461,1.131s-.3.724-.448,1.077-.3.7-.448,1.053-.3.706-.465,1.066-.329.729-.506,1.111-.362.778-.561,1.193c-.028.057-.061.123-.089.181A21.872,21.872,0,0,0,16.2,13.156a14.879,14.879,0,0,1-3.989-2.276l-.14.287c-.065.133-.144.283-.212.42l-.106.219c-.878,1.793-2.006,3.984-3.524,6.822,3.551-2,7.381-4.887,14.338-2.4-.349-.661-.67-1.28-.971-1.863s-.581-1.128-.841-1.644-.5-1-.725-1.463-.433-.9-.629-1.313-.38-.818-.554-1.2-.339-.754-.5-1.118S18.047,6.9,17.9,6.546s-.291-.709-.434-1.066c-.036-.091-.073-.186-.109-.277C16.949,4.247,16.536,3.258,16.051,2.12Z" style="fill:url(#a)"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_astro</title><path d="M5.9,18.847a7.507,7.507,0,0,0-.572,2.624,3.265,3.265,0,0,0,.551,1.553,7.427,7.427,0,0,0,2.093,1.681L13.1,28.119A7.332,7.332,0,0,0,15.2,29.287a3.239,3.239,0,0,0,1.5,0,7.381,7.381,0,0,0,2.117-1.16L24,24.711a7.512,7.512,0,0,0,2.117-1.688,3.241,3.241,0,0,0,.55-1.563,7.515,7.515,0,0,0-.587-2.643L21.547,4.551a3.973,3.973,0,0,0-.54-1.3,1.733,1.733,0,0,0-.7-.51,3.972,3.972,0,0,0-1.4-.122H13.005a3.932,3.932,0,0,0-1.4.125,1.713,1.713,0,0,0-.7.512,3.94,3.94,0,0,0-.535,1.3L5.9,18.848Zm13.24-13.2a3.329,3.329,0,0,1,.441,1.093l3.892,12.784a16.168,16.168,0,0,0-4.653-1.573L16.291,9.391a.331.331,0,0,0-.513-.169.323.323,0,0,0-.119.169l-2.5,8.557a16.14,16.14,0,0,0-4.674,1.579L12.393,6.743a3.281,3.281,0,0,1,.442-1.094,1.458,1.458,0,0,1,.582-.43,3.31,3.31,0,0,1,1.175-.1h2.793a3.314,3.314,0,0,1,1.176.1,1.454,1.454,0,0,1,.583.432ZM16.127,21.06a5.551,5.551,0,0,0,3.4-.923,2.8,2.8,0,0,1-.207,2.182A3.938,3.938,0,0,1,17.773,23.8c-.674.428-1.254.8-1.254,1.787a2.079,2.079,0,0,0,.209.914,2.49,2.49,0,0,1-1.535-2.3v-.061c0-.683,0-1.524-.962-1.524a1.028,1.028,0,0,0-.391.077,1.021,1.021,0,0,0-.552.551,1.03,1.03,0,0,0-.079.391,3.769,3.769,0,0,1-.988-2.644,4.206,4.206,0,0,1,.175-1.248c.4.757,1.92,1.32,3.731,1.32Z" style="fill:#ff5d01;fill-rule:evenodd"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="a" x1="54.604" y1="168.388" x2="54.604" y2="194.885" gradientTransform="translate(-38.604 -165.636)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#d8d8d8"/><stop offset="1" stop-color="#a3a3a3"/></linearGradient><linearGradient id="b" x1="68.756" y1="209.152" x2="91.638" y2="209.152" gradientTransform="translate(-50.601 -159.449) scale(0.832 0.837)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#d7d7d7"/><stop offset="0.5" stop-color="#e7e7e7"/><stop offset="1" stop-color="#d7d7d7"/></linearGradient></defs><title>file_type_autohotkey</title><rect x="2" y="2.824" width="28" height="26.353" rx="3.088" ry="3.088" style="fill:url(#a)"/><path d="M26.856,29.181H5.144A3.148,3.148,0,0,1,2,26.037V5.963A3.148,3.148,0,0,1,5.144,2.819H26.856A3.148,3.148,0,0,1,30,5.963V26.037A3.148,3.148,0,0,1,26.856,29.181ZM5.144,2.963a3,3,0,0,0-3,3h0V26.037a3,3,0,0,0,3,3H26.856a3,3,0,0,0,3-3V5.963a3,3,0,0,0-3-3Z" style="fill:#8d8d8d"/><rect x="4.313" y="4.641" width="23.169" height="21.94" rx="2.571" ry="2.571" style="fill:url(#b)"/><path d="M24.911,26.641H6.884A2.634,2.634,0,0,1,4.253,24.01V7.212A2.634,2.634,0,0,1,6.884,4.581H24.911a2.634,2.634,0,0,1,2.631,2.631v16.8A2.634,2.634,0,0,1,24.911,26.641ZM6.884,4.7A2.514,2.514,0,0,0,4.373,7.212v16.8a2.514,2.514,0,0,0,2.511,2.511H24.911a2.514,2.514,0,0,0,2.511-2.511V7.212A2.514,2.514,0,0,0,24.911,4.7Z" style="fill:#f8f8f8"/><path d="M6.145,23.9l2.343-6.1h.87l2.5,6.1h-.92l-.712-1.848H7.673L7,23.9ZM7.9,21.4H9.974l-.637-1.7q-.291-.77-.433-1.265A7.776,7.776,0,0,1,8.576,19.6Z"/><path d="M13.607,23.9V17.8h.807v2.5h3.171V17.8h.807v6.1h-.807V21.021h-3.17V23.9Z"/><path d="M20.478,23.9V17.8h.807v3.025l3.03-3.025h1.094L22.85,20.267,25.522,23.9H24.456l-2.172-3.088-1,.974V23.9Z"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_autoit</title><circle cx="16" cy="16" r="12.551" style="fill:#5d83ac"/><path d="M2,16A14,14,0,1,1,16,30,14,14,0,0,1,2,16ZM16,4.789A11.211,11.211,0,1,0,27.211,16,11.211,11.211,0,0,0,16,4.789Z" style="fill:#f0f0f0"/><path d="M24.576,20.156l-6.4-9.264a3.131,3.131,0,0,0-.819-.819,2.36,2.36,0,0,0-2.442.023,3.543,3.543,0,0,0-.812.8L7.533,20.156h3.752l4.808-6.8,1.838,2.71q.26.368.544.789t.5.7q-.368-.031-.865-.031h-3.53l-1.914,2.634Z" style="fill:#f0f0f0"/></svg>