maidraw 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/assets/themes/maimai/chart/common/prism/jp/background.png +0 -0
  2. package/assets/themes/maimai/chart/common/versionless/logo/cn/200.png +0 -0
  3. package/assets/themes/maimai/chart/common/versionless/logo/cn/210.png +0 -0
  4. package/assets/themes/maimai/chart/common/versionless/logo/cn/220.png +0 -0
  5. package/assets/themes/maimai/chart/common/versionless/logo/cn/230.png +0 -0
  6. package/assets/themes/maimai/chart/common/versionless/logo/cn/240.png +0 -0
  7. package/assets/themes/maimai/chart/common/versionless/logo/intl/210.png +0 -0
  8. package/assets/themes/maimai/chart/common/versionless/logo/intl/215.png +0 -0
  9. package/assets/themes/maimai/chart/common/versionless/logo/jp/100.png +0 -0
  10. package/assets/themes/maimai/chart/common/versionless/logo/jp/110.png +0 -0
  11. package/assets/themes/maimai/chart/common/versionless/logo/jp/120.png +0 -0
  12. package/assets/themes/maimai/chart/common/versionless/logo/jp/130.png +0 -0
  13. package/assets/themes/maimai/chart/common/versionless/logo/jp/140.png +0 -0
  14. package/assets/themes/maimai/chart/common/versionless/logo/jp/150.png +0 -0
  15. package/assets/themes/maimai/chart/common/versionless/logo/jp/160.png +0 -0
  16. package/assets/themes/maimai/chart/common/versionless/logo/jp/170.png +0 -0
  17. package/assets/themes/maimai/chart/common/versionless/logo/jp/180.png +0 -0
  18. package/assets/themes/maimai/chart/common/versionless/logo/jp/185.png +0 -0
  19. package/assets/themes/maimai/chart/common/versionless/logo/jp/190.png +0 -0
  20. package/assets/themes/maimai/chart/common/versionless/logo/jp/195.png +0 -0
  21. package/assets/themes/maimai/chart/common/versionless/logo/jp/199.png +0 -0
  22. package/assets/themes/maimai/chart/common/versionless/logo/jp/200.png +0 -0
  23. package/assets/themes/maimai/chart/common/versionless/logo/jp/205.png +0 -0
  24. package/assets/themes/maimai/chart/common/versionless/logo/jp/210.png +0 -0
  25. package/assets/themes/maimai/chart/common/versionless/logo/jp/215.png +0 -0
  26. package/assets/themes/maimai/chart/common/versionless/logo/jp/220.png +0 -0
  27. package/assets/themes/maimai/chart/common/versionless/logo/jp/225.png +0 -0
  28. package/assets/themes/maimai/chart/common/versionless/logo/jp/230.png +0 -0
  29. package/assets/themes/maimai/chart/common/versionless/logo/jp/235.png +0 -0
  30. package/assets/themes/maimai/chart/common/versionless/logo/jp/240.png +0 -0
  31. package/assets/themes/maimai/chart/common/versionless/logo/jp/245.png +0 -0
  32. package/assets/themes/maimai/chart/common/versionless/logo/jp/250.png +0 -0
  33. package/assets/themes/maimai/chart/common/versionless/logo/jp/255.png +0 -0
  34. package/assets/themes/maimai/chart/jp/prism/manifest.json +167 -0
  35. package/dist/chu/bests/best50.d.ts +0 -2
  36. package/dist/chu/bests/best50.js +14 -61
  37. package/dist/chu/bests/best50.js.map +1 -1
  38. package/dist/chu/bests/type.d.ts +1 -1
  39. package/dist/geki/bests/best50.d.ts +0 -2
  40. package/dist/geki/bests/best50.js +14 -61
  41. package/dist/geki/bests/best50.js.map +1 -1
  42. package/dist/geki/bests/type.d.ts +1 -1
  43. package/dist/geki/chart/database.js +0 -1
  44. package/dist/geki/chart/database.js.map +1 -1
  45. package/dist/lib/util.d.ts +32 -0
  46. package/dist/lib/util.js +119 -0
  47. package/dist/lib/util.js.map +1 -0
  48. package/dist/mai/best50/index.d.ts +231 -38
  49. package/dist/mai/best50/index.js +115 -161
  50. package/dist/mai/best50/index.js.map +1 -1
  51. package/dist/mai/chart/index.d.ts +224 -0
  52. package/dist/mai/chart/index.js +1152 -1
  53. package/dist/mai/chart/index.js.map +1 -1
  54. package/dist/mai/{best50/lib → lib}/divingFish/index.d.ts +14 -6
  55. package/dist/mai/{best50/lib → lib}/divingFish/index.js +38 -27
  56. package/dist/mai/lib/divingFish/index.js.map +1 -0
  57. package/dist/mai/{best50/lib → lib}/index.d.ts +12 -4
  58. package/dist/mai/{best50/lib → lib}/index.js +2 -2
  59. package/dist/mai/lib/index.js.map +1 -0
  60. package/dist/mai/{best50/lib → lib}/kamaiTachi/index.d.ts +37 -29
  61. package/dist/mai/{best50/lib → lib}/kamaiTachi/index.js +74 -21
  62. package/dist/mai/lib/kamaiTachi/index.js.map +1 -0
  63. package/dist/mai/{best50/lib → lib}/lxns/index.d.ts +14 -6
  64. package/dist/mai/{best50/lib → lib}/lxns/index.js +37 -27
  65. package/dist/mai/lib/lxns/index.js.map +1 -0
  66. package/dist/mai/type.d.ts +0 -51
  67. package/dist/mai/type.js +1 -35
  68. package/dist/mai/type.js.map +1 -1
  69. package/package.json +5 -2
  70. package/dist/mai/best50/lib/divingFish/index.js.map +0 -1
  71. package/dist/mai/best50/lib/index.js.map +0 -1
  72. package/dist/mai/best50/lib/kamaiTachi/index.js.map +0 -1
  73. package/dist/mai/best50/lib/lxns/index.js.map +0 -1
  74. package/dist/mai/best50/type.d.ts +0 -145
  75. package/dist/mai/best50/type.js +0 -3
  76. package/dist/mai/best50/type.js.map +0 -1
  77. /package/assets/themes/maimai/{cn → best50/cn}/2024Landscape/manifest.json +0 -0
  78. /package/assets/themes/maimai/{cn → best50/cn}/2024Portrait/manifest.json +0 -0
  79. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/a.png +0 -0
  80. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/aa.png +0 -0
  81. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/aaa.png +0 -0
  82. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/b.png +0 -0
  83. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/bb.png +0 -0
  84. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/bbb.png +0 -0
  85. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/c.png +0 -0
  86. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/d.png +0 -0
  87. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/s.png +0 -0
  88. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/sp.png +0 -0
  89. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/ss.png +0 -0
  90. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/ssp.png +0 -0
  91. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/sss.png +0 -0
  92. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/sssp.png +0 -0
  93. /package/assets/themes/maimai/{common → best50/common}/buddies/cn/logo.png +0 -0
  94. /package/assets/themes/maimai/{common → best50/common}/buddies/jp/background.png +0 -0
  95. /package/assets/themes/maimai/{common → best50/common}/buddies/jp/chara.png +0 -0
  96. /package/assets/themes/maimai/{common → best50/common}/buddies/jp/laundry.png +0 -0
  97. /package/assets/themes/maimai/{common → best50/common}/buddies/jp/logo.png +0 -0
  98. /package/assets/themes/maimai/{common → best50/common}/buddies/plus/chara.png +0 -0
  99. /package/assets/themes/maimai/{common → best50/common}/buddies/plus/laundry.png +0 -0
  100. /package/assets/themes/maimai/{common → best50/common}/buddies/plus/logo.png +0 -0
  101. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/a.png +0 -0
  102. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/aa.png +0 -0
  103. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/aaa.png +0 -0
  104. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/b.png +0 -0
  105. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/c.png +0 -0
  106. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/d.png +0 -0
  107. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/e.png +0 -0
  108. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/f.png +0 -0
  109. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/s.png +0 -0
  110. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/sp.png +0 -0
  111. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/ss.png +0 -0
  112. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/ssp.png +0 -0
  113. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/sss.png +0 -0
  114. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/sssp.png +0 -0
  115. /package/assets/themes/maimai/{common → best50/common}/finale/background.png +0 -0
  116. /package/assets/themes/maimai/{common → best50/common}/finale/background2.png +0 -0
  117. /package/assets/themes/maimai/{common → best50/common}/finale/logo.png +0 -0
  118. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/ap.png +0 -0
  119. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/app.png +0 -0
  120. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/fc.png +0 -0
  121. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/fcp.png +0 -0
  122. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/fdx.png +0 -0
  123. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/fdxp.png +0 -0
  124. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/fsp.png +0 -0
  125. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/sync.png +0 -0
  126. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/a.png +0 -0
  127. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/aa.png +0 -0
  128. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/aaa.png +0 -0
  129. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/b.png +0 -0
  130. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/bb.png +0 -0
  131. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/bbb.png +0 -0
  132. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/c.png +0 -0
  133. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/d.png +0 -0
  134. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/s.png +0 -0
  135. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/sp.png +0 -0
  136. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/ss.png +0 -0
  137. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/ssp.png +0 -0
  138. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/sss.png +0 -0
  139. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/sssp.png +0 -0
  140. /package/assets/themes/maimai/{common → best50/common}/prism/jp/background.png +0 -0
  141. /package/assets/themes/maimai/{common → best50/common}/prism/jp/chara.png +0 -0
  142. /package/assets/themes/maimai/{common → best50/common}/prism/jp/laundry.png +0 -0
  143. /package/assets/themes/maimai/{common → best50/common}/prism/jp/logo.png +0 -0
  144. /package/assets/themes/maimai/{common → best50/common}/prism/plus/chara.png +0 -0
  145. /package/assets/themes/maimai/{common → best50/common}/prism/plus/laundry.png +0 -0
  146. /package/assets/themes/maimai/{common → best50/common}/prism/plus/logo.png +0 -0
  147. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/blue.png +0 -0
  148. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/bronze.png +0 -0
  149. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/gold.png +0 -0
  150. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/green.png +0 -0
  151. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/platinum.png +0 -0
  152. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/purple.png +0 -0
  153. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/rainbow.png +0 -0
  154. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/red.png +0 -0
  155. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/silver.png +0 -0
  156. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/white.png +0 -0
  157. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/yellow.png +0 -0
  158. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/blue.png +0 -0
  159. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/bronze.png +0 -0
  160. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/gold.png +0 -0
  161. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/green.png +0 -0
  162. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/platinum.png +0 -0
  163. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/purple.png +0 -0
  164. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/rainbow.png +0 -0
  165. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/red.png +0 -0
  166. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/silver.png +0 -0
  167. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/white.png +0 -0
  168. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/yellow.png +0 -0
  169. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/numberMap.png +0 -0
  170. /package/assets/themes/maimai/{common → best50/common}/versionless/icon.png +0 -0
  171. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/ap.png +0 -0
  172. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/app.png +0 -0
  173. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/fc.png +0 -0
  174. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/fcp.png +0 -0
  175. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/fdx.png +0 -0
  176. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/fdxp.png +0 -0
  177. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/fs.png +0 -0
  178. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/fsp.png +0 -0
  179. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/none.png +0 -0
  180. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/sync.png +0 -0
  181. /package/assets/themes/maimai/{common → best50/common}/versionless/mode/cn/dx.png +0 -0
  182. /package/assets/themes/maimai/{common → best50/common}/versionless/mode/cn/standard.png +0 -0
  183. /package/assets/themes/maimai/{common → best50/common}/versionless/mode/jp/dx.png +0 -0
  184. /package/assets/themes/maimai/{common → best50/common}/versionless/mode/jp/standard.png +0 -0
  185. /package/assets/themes/maimai/{common → best50/common}/versionless/nameplate.png +0 -0
  186. /package/assets/themes/maimai/{common → best50/common}/versionless/void.png +0 -0
  187. /package/assets/themes/maimai/{jp → best50/jp}/buddiesLandscape/manifest.json +0 -0
  188. /package/assets/themes/maimai/{jp → best50/jp}/buddiesPlusLandscape/manifest.json +0 -0
  189. /package/assets/themes/maimai/{jp → best50/jp}/buddiesPlusPortrait/manifest.json +0 -0
  190. /package/assets/themes/maimai/{jp → best50/jp}/buddiesPortrait/manifest.json +0 -0
  191. /package/assets/themes/maimai/{jp → best50/jp}/finaleLandscape/manifest.json +0 -0
  192. /package/assets/themes/maimai/{jp → best50/jp}/finalePortrait/manifest.json +0 -0
  193. /package/assets/themes/maimai/{jp → best50/jp}/prismLandscape/manifest.json +0 -0
  194. /package/assets/themes/maimai/{jp → best50/jp}/prismPlusLandscape/manifest.json +0 -0
  195. /package/assets/themes/maimai/{jp → best50/jp}/prismPlusPortrait/manifest.json +0 -0
  196. /package/assets/themes/maimai/{jp → best50/jp}/prismPortrait/manifest.json +0 -0
  197. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/a.png +0 -0
  198. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/aa.png +0 -0
  199. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/aaa.png +0 -0
  200. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/b.png +0 -0
  201. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/bb.png +0 -0
  202. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/bbb.png +0 -0
  203. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/c.png +0 -0
  204. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/d.png +0 -0
  205. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/s.png +0 -0
  206. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/sp.png +0 -0
  207. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/ss.png +0 -0
  208. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/ssp.png +0 -0
  209. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/sss.png +0 -0
  210. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/sssp.png +0 -0
  211. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/background.png +0 -0
  212. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/chara.png +0 -0
  213. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/logo.png +0 -0
  214. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/manifest.json +0 -0
@@ -29,88 +29,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.Best50 = void 0;
30
30
  const fs_1 = __importDefault(require("fs"));
31
31
  const upath_1 = __importDefault(require("upath"));
32
- const type_1 = require("../type");
33
32
  const canvas_1 = require("canvas");
34
33
  const color_1 = __importDefault(require("color"));
35
34
  const sharp_1 = __importDefault(require("sharp"));
36
35
  const glob_1 = require("glob");
37
36
  const chart_1 = require("../chart");
38
37
  const string_template_1 = __importDefault(require("string-template"));
39
- const lxns = __importStar(require("./lib/lxns"));
40
- const kamaiTachi = __importStar(require("./lib/kamaiTachi"));
41
- const divingFish = __importStar(require("./lib/divingFish"));
42
- class HalfFullWidthConvert {
43
- static charsets = {
44
- latin: { halfRE: /[!-~]/g, fullRE: /[!-~]/g, delta: 0xfee0 },
45
- hangul1: { halfRE: /[ᄀ-ᄒ]/g, fullRE: /[ᆨ-ᇂ]/g, delta: -0xedf9 },
46
- hangul2: { halfRE: /[ᅡ-ᅵ]/g, fullRE: /[ᅡ-ᅵ]/g, delta: -0xee61 },
47
- kana: {
48
- delta: 0,
49
- half: "。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚",
50
- full: "。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシ" +
51
- "スセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゛゜",
52
- },
53
- extras: {
54
- delta: 0,
55
- half: "¢£¬¯¦¥₩\u0020|←↑→↓■°",
56
- full: "¢£¬ ̄¦¥₩\u3000│←↑→↓■○",
57
- },
58
- };
59
- // @ts-ignore
60
- static toFull = (set) => (c) => set.delta
61
- ? String.fromCharCode(c.charCodeAt(0) + set.delta)
62
- : [...set.full][[...set.half].indexOf(c)];
63
- // @ts-ignore
64
- static toHalf = (set) => (c) => set.delta
65
- ? String.fromCharCode(c.charCodeAt(0) - set.delta)
66
- : [...set.half][[...set.full].indexOf(c)];
67
- // @ts-ignore
68
- static re = (set, way) => set[way + "RE"] || new RegExp("[" + set[way] + "]", "g");
69
- static sets = Object.values(this.charsets);
70
- // @ts-ignore
71
- static toFullWidth = (str0) => this.sets.reduce((str, set) => str.replace(this.re(set, "half"), this.toFull(set)), str0);
72
- // @ts-ignore
73
- static toHalfWidth = (str0) => this.sets.reduce((str, set) => str.replace(this.re(set, "full"), this.toHalf(set)), str0);
74
- }
38
+ const lxns = __importStar(require("../lib/lxns"));
39
+ const kamaiTachi = __importStar(require("../lib/kamaiTachi"));
40
+ const divingFish = __importStar(require("../lib/divingFish"));
41
+ const util_1 = require("../../lib/util");
42
+ const type_1 = require("../type");
75
43
  class Best50 {
76
- static RATING_CONSTANTS = {
77
- [type_1.EAchievementTypes.D]: {
78
- [0.4]: 6.4,
79
- [0.3]: 4.8,
80
- [0.2]: 3.2,
81
- [0.1]: 1.6,
82
- [0]: 0,
83
- },
84
- [type_1.EAchievementTypes.C]: 13.6,
85
- [type_1.EAchievementTypes.B]: 13.6,
86
- [type_1.EAchievementTypes.BB]: 13.6,
87
- [type_1.EAchievementTypes.BBB]: 13.6,
88
- [type_1.EAchievementTypes.A]: 13.6,
89
- [type_1.EAchievementTypes.AA]: 15.2,
90
- [type_1.EAchievementTypes.AAA]: 16.8,
91
- [type_1.EAchievementTypes.S]: 20.0,
92
- [type_1.EAchievementTypes.SP]: 20.3,
93
- [type_1.EAchievementTypes.SS]: 20.8,
94
- [type_1.EAchievementTypes.SSP]: 21.1,
95
- [type_1.EAchievementTypes.SSS]: 21.6,
96
- [type_1.EAchievementTypes.SSSP]: 22.4,
97
- };
98
- static RANK_BORDERS = {
99
- [type_1.EAchievementTypes.D]: [0.0, 0.1, 0.2, 0.3, 0.4],
100
- [type_1.EAchievementTypes.C]: 0.5,
101
- [type_1.EAchievementTypes.B]: 0.6,
102
- [type_1.EAchievementTypes.BB]: 0.7,
103
- [type_1.EAchievementTypes.BBB]: 0.75,
104
- [type_1.EAchievementTypes.A]: 0.8,
105
- [type_1.EAchievementTypes.AA]: 0.9,
106
- [type_1.EAchievementTypes.AAA]: 0.94,
107
- [type_1.EAchievementTypes.S]: 0.97,
108
- [type_1.EAchievementTypes.SP]: 0.98,
109
- [type_1.EAchievementTypes.SS]: 0.99,
110
- [type_1.EAchievementTypes.SSP]: 0.995,
111
- [type_1.EAchievementTypes.SSS]: 1.0,
112
- [type_1.EAchievementTypes.SSSP]: 1.005,
113
- };
114
44
  static DEFAULT_THEME = "jp-prism-landscape";
115
45
  static get assetsPath() {
116
46
  return upath_1.default.join(__dirname, "..", "..", "..", "assets");
@@ -333,54 +263,6 @@ class Best50 {
333
263
  return Buffer.from([]);
334
264
  }
335
265
  /* Begin Draw Tools*/
336
- static findMaxFitString(ctx, original, maxWidth, lineBreakSuffix = "...") {
337
- const metrics = ctx.measureText(original);
338
- if (metrics.width <= maxWidth)
339
- return original;
340
- for (let i = 1; i < original.length; ++i) {
341
- let cur = original.slice(0, original.length - i);
342
- if (ctx.measureText(cur + lineBreakSuffix).width <= maxWidth) {
343
- while (cur[cur.length - 1] == " ") {
344
- cur = cur.substring(0, cur.length - 1);
345
- }
346
- return cur.trim() + lineBreakSuffix;
347
- }
348
- }
349
- return original;
350
- }
351
- static drawText(ctx, str, x, y, fontSize,
352
- /**
353
- * Line width of the text stroke.
354
- */
355
- linewidth,
356
- /**
357
- * Max width of the text block.
358
- */
359
- maxWidth, textAlign = "left", mainColor = "white", borderColor = "black", font = `"standard-font-title-latin", "standard-font-title-jp"`, lineBreakSuffix = "...") {
360
- ctx.font = `${fontSize}px ${font}`;
361
- str = this.findMaxFitString(ctx, str, maxWidth, lineBreakSuffix);
362
- if (linewidth > 0) {
363
- ctx.strokeStyle = borderColor;
364
- ctx.lineWidth = linewidth;
365
- ctx.lineCap = "round";
366
- ctx.lineJoin = "round";
367
- ctx.textAlign = textAlign;
368
- ctx.strokeText(str, x, y);
369
- }
370
- ctx.fillStyle = mainColor;
371
- ctx.font = `${fontSize}px ${font}`;
372
- ctx.textAlign = textAlign;
373
- ctx.fillText(str, x, y);
374
- if (linewidth > 0) {
375
- ctx.strokeStyle = mainColor;
376
- ctx.lineWidth = linewidth / 8;
377
- ctx.lineCap = "round";
378
- ctx.lineJoin = "round";
379
- ctx.font = `${fontSize}px ${font}`;
380
- ctx.textAlign = textAlign;
381
- ctx.strokeText(str, x, y);
382
- }
383
- }
384
266
  static async drawImageModule(ctx, theme, element) {
385
267
  const img = new canvas_1.Image();
386
268
  img.src = this.getThemeFile(element.path, theme.path);
@@ -461,7 +343,7 @@ class Best50 {
461
343
  element.scoreBubble.margin * 2) /
462
344
  7);
463
345
  /** Begin Title Draw */ {
464
- this.drawText(ctx, score.chart.name, x + (jacketSize * 7) / 8, y +
346
+ util_1.Util.drawText(ctx, score.chart.name, x + (jacketSize * 7) / 8, y +
465
347
  element.scoreBubble.margin +
466
348
  element.scoreBubble.height * 0.806 * 0.144, element.scoreBubble.height * 0.806 * 0.144, element.scoreBubble.height * 0.806 * 0.04, element.scoreBubble.width -
467
349
  (jacketSize * 7) / 8 -
@@ -478,7 +360,7 @@ class Best50 {
478
360
  ctx.fill();
479
361
  } /** End Separation Line Draw */
480
362
  /** Begin Achievement Rate Draw */
481
- this.drawText(ctx, `${score.achievement.toFixed(4)}%`, x -
363
+ util_1.Util.drawText(ctx, `${score.achievement.toFixed(4)}%`, x -
482
364
  element.scoreBubble.margin -
483
365
  element.scoreBubble.height * 0.806 * 0.02 +
484
366
  element.scoreBubble.width, y +
@@ -491,43 +373,43 @@ class Best50 {
491
373
  {
492
374
  let rankImg;
493
375
  switch (score.achievementRank) {
494
- case type_1.EAchievementTypes.D:
376
+ case Best50.EAchievementTypes.D:
495
377
  rankImg = this.getThemeFile(theme.manifest.sprites.achievement.d, theme.path);
496
378
  break;
497
- case type_1.EAchievementTypes.C:
379
+ case Best50.EAchievementTypes.C:
498
380
  rankImg = this.getThemeFile(theme.manifest.sprites.achievement.c, theme.path);
499
381
  break;
500
- case type_1.EAchievementTypes.B:
382
+ case Best50.EAchievementTypes.B:
501
383
  rankImg = this.getThemeFile(theme.manifest.sprites.achievement.b, theme.path);
502
384
  break;
503
- case type_1.EAchievementTypes.BB:
385
+ case Best50.EAchievementTypes.BB:
504
386
  rankImg = this.getThemeFile(theme.manifest.sprites.achievement.bb, theme.path);
505
387
  break;
506
- case type_1.EAchievementTypes.BBB:
388
+ case Best50.EAchievementTypes.BBB:
507
389
  rankImg = this.getThemeFile(theme.manifest.sprites.achievement.bbb, theme.path);
508
390
  break;
509
- case type_1.EAchievementTypes.A:
391
+ case Best50.EAchievementTypes.A:
510
392
  rankImg = this.getThemeFile(theme.manifest.sprites.achievement.a, theme.path);
511
393
  break;
512
- case type_1.EAchievementTypes.AA:
394
+ case Best50.EAchievementTypes.AA:
513
395
  rankImg = this.getThemeFile(theme.manifest.sprites.achievement.aa, theme.path);
514
396
  break;
515
- case type_1.EAchievementTypes.AAA:
397
+ case Best50.EAchievementTypes.AAA:
516
398
  rankImg = this.getThemeFile(theme.manifest.sprites.achievement.aaa, theme.path);
517
399
  break;
518
- case type_1.EAchievementTypes.S:
400
+ case Best50.EAchievementTypes.S:
519
401
  rankImg = this.getThemeFile(theme.manifest.sprites.achievement.s, theme.path);
520
402
  break;
521
- case type_1.EAchievementTypes.SP:
403
+ case Best50.EAchievementTypes.SP:
522
404
  rankImg = this.getThemeFile(theme.manifest.sprites.achievement.sp, theme.path);
523
405
  break;
524
- case type_1.EAchievementTypes.SS:
406
+ case Best50.EAchievementTypes.SS:
525
407
  rankImg = this.getThemeFile(theme.manifest.sprites.achievement.ss, theme.path);
526
408
  break;
527
- case type_1.EAchievementTypes.SSP:
409
+ case Best50.EAchievementTypes.SSP:
528
410
  rankImg = this.getThemeFile(theme.manifest.sprites.achievement.ssp, theme.path);
529
411
  break;
530
- case type_1.EAchievementTypes.SSS:
412
+ case Best50.EAchievementTypes.SSS:
531
413
  rankImg = this.getThemeFile(theme.manifest.sprites.achievement.sss, theme.path);
532
414
  break;
533
415
  default:
@@ -546,39 +428,39 @@ class Best50 {
546
428
  {
547
429
  let comboImg, syncImg;
548
430
  switch (score.combo) {
549
- case type_1.EComboTypes.NONE:
431
+ case Best50.EComboTypes.NONE:
550
432
  comboImg = this.getThemeFile(theme.manifest.sprites.milestone.none, theme.path);
551
433
  break;
552
- case type_1.EComboTypes.FULL_COMBO:
434
+ case Best50.EComboTypes.FULL_COMBO:
553
435
  comboImg = this.getThemeFile(theme.manifest.sprites.milestone.fc, theme.path);
554
436
  break;
555
- case type_1.EComboTypes.FULL_COMBO_PLUS:
437
+ case Best50.EComboTypes.FULL_COMBO_PLUS:
556
438
  comboImg = this.getThemeFile(theme.manifest.sprites.milestone.fcp, theme.path);
557
439
  break;
558
- case type_1.EComboTypes.ALL_PERFECT:
440
+ case Best50.EComboTypes.ALL_PERFECT:
559
441
  comboImg = this.getThemeFile(theme.manifest.sprites.milestone.ap, theme.path);
560
442
  break;
561
- case type_1.EComboTypes.ALL_PERFECT_PLUS:
443
+ case Best50.EComboTypes.ALL_PERFECT_PLUS:
562
444
  comboImg = this.getThemeFile(theme.manifest.sprites.milestone.app, theme.path);
563
445
  break;
564
446
  }
565
447
  switch (score.sync) {
566
- case type_1.ESyncTypes.NONE:
448
+ case Best50.ESyncTypes.NONE:
567
449
  syncImg = this.getThemeFile(theme.manifest.sprites.milestone.none, theme.path);
568
450
  break;
569
- case type_1.ESyncTypes.SYNC_PLAY:
451
+ case Best50.ESyncTypes.SYNC_PLAY:
570
452
  syncImg = this.getThemeFile(theme.manifest.sprites.milestone.sync, theme.path);
571
453
  break;
572
- case type_1.ESyncTypes.FULL_SYNC:
454
+ case Best50.ESyncTypes.FULL_SYNC:
573
455
  syncImg = this.getThemeFile(theme.manifest.sprites.milestone.fs, theme.path);
574
456
  break;
575
- case type_1.ESyncTypes.FULL_SYNC_PLUS:
457
+ case Best50.ESyncTypes.FULL_SYNC_PLUS:
576
458
  syncImg = this.getThemeFile(theme.manifest.sprites.milestone.fsp, theme.path);
577
459
  break;
578
- case type_1.ESyncTypes.FULL_SYNC_DX:
460
+ case Best50.ESyncTypes.FULL_SYNC_DX:
579
461
  syncImg = this.getThemeFile(theme.manifest.sprites.milestone.fdx, theme.path);
580
462
  break;
581
- case type_1.ESyncTypes.FULL_SYNC_DX_PLUS:
463
+ case Best50.ESyncTypes.FULL_SYNC_DX_PLUS:
582
464
  syncImg = this.getThemeFile(theme.manifest.sprites.milestone.fdxp, theme.path);
583
465
  break;
584
466
  }
@@ -623,7 +505,7 @@ class Best50 {
623
505
  /** End Chart Mode Draw */
624
506
  /** Begin Bests Index Draw */
625
507
  {
626
- this.drawText(ctx, `#${index + 1}`, x + element.scoreBubble.margin * 2, y + jacketSize - element.scoreBubble.margin * 2, element.scoreBubble.height * 0.806 * 0.128, element.scoreBubble.height * 0.806 * 0.04, Infinity, "left", "white", new color_1.default(curColor).darken(0.3).hexa());
508
+ util_1.Util.drawText(ctx, `#${index + 1}`, x + element.scoreBubble.margin * 2, y + jacketSize - element.scoreBubble.margin * 2, element.scoreBubble.height * 0.806 * 0.128, element.scoreBubble.height * 0.806 * 0.04, Infinity, "left", "white", new color_1.default(curColor).darken(0.3).hexa());
627
509
  }
628
510
  /** End Bests Index Draw */
629
511
  ctx.restore();
@@ -631,9 +513,9 @@ class Best50 {
631
513
  /** End Main Content Draw */
632
514
  /** Begin Difficulty & DX Rating Draw */
633
515
  {
634
- this.drawText(ctx, `${score.chart.level.toFixed(1)} ↑${score.dxRating.toFixed(0)}`, x + element.scoreBubble.margin * 2, y + element.scoreBubble.height * (0.806 + (1 - 0.806) / 2), element.scoreBubble.height * 0.806 * 0.128, element.scoreBubble.height * 0.806 * 0.04, Infinity, "left", "white", new color_1.default(curColor).darken(0.3).hexa());
516
+ util_1.Util.drawText(ctx, `${score.chart.level.toFixed(1)} ↑${score.dxRating.toFixed(0)}`, x + element.scoreBubble.margin * 2, y + element.scoreBubble.height * (0.806 + (1 - 0.806) / 2), element.scoreBubble.height * 0.806 * 0.128, element.scoreBubble.height * 0.806 * 0.04, Infinity, "left", "white", new color_1.default(curColor).darken(0.3).hexa());
635
517
  if (score.chart.maxDxScore) {
636
- this.drawText(ctx, `${score.dxScore}/${score.chart.maxDxScore}`, x +
518
+ util_1.Util.drawText(ctx, `${score.dxScore}/${score.chart.maxDxScore}`, x +
637
519
  element.scoreBubble.width -
638
520
  element.scoreBubble.margin * 2, y + element.scoreBubble.height * (0.806 + (1 - 0.806) / 2), element.scoreBubble.height * 0.806 * 0.128, element.scoreBubble.height * 0.806 * 0.04, Infinity, "right", "white", new color_1.default(curColor).darken(0.3).hexa());
639
521
  }
@@ -752,7 +634,7 @@ class Best50 {
752
634
  ctx.drawImage(image, element.x + element.height * 1.785, element.y + element.height * 0.12, drawHeight * aspectRatio * 0.8, drawHeight);
753
635
  }
754
636
  }
755
- this.drawText(ctx, HalfFullWidthConvert.toFullWidth(username), element.x + element.height * (1 + 1 / 16), element.y + element.height * (0.064 + 0.333 + 1 / 4), (element.height * 1) / 6, 0, ((element.height / 3) * 5.108 * 6) / 5, "left", "black", "black", "standard-font-username");
637
+ util_1.Util.drawText(ctx, util_1.Util.HalfFullWidthConvert.toFullWidth(username), element.x + element.height * (1 + 1 / 16), element.y + element.height * (0.064 + 0.333 + 1 / 4), (element.height * 1) / 6, 0, ((element.height / 3) * 5.108 * 6) / 5, "left", "black", "black", "standard-font-username");
756
638
  }
757
639
  /* End Username Draw*/
758
640
  }
@@ -762,7 +644,7 @@ class Best50 {
762
644
  if (element.linebreak) {
763
645
  for (let originalContent of naiveLines) {
764
646
  while (originalContent.length) {
765
- const line = this.findMaxFitString(ctx, originalContent, element.width || Infinity, "");
647
+ const line = util_1.Util.findMaxFitString(ctx, originalContent, element.width || Infinity, "");
766
648
  originalContent = originalContent.replace(line, "").trim();
767
649
  lines.push(line.trim());
768
650
  }
@@ -770,12 +652,12 @@ class Best50 {
770
652
  }
771
653
  else {
772
654
  for (const originalContent of naiveLines) {
773
- lines.push(this.findMaxFitString(ctx, originalContent, element.width || Infinity));
655
+ lines.push(util_1.Util.findMaxFitString(ctx, originalContent, element.width || Infinity));
774
656
  }
775
657
  }
776
658
  for (let i = 0; i < lines.length; ++i) {
777
659
  const line = lines[i];
778
- this.drawText(ctx, line, element.x, element.y + i * element.size * 1.3, element.size, element.size / 3.5, element.width || Infinity, element.align, element.color || "#FFFFFF", element.borderColor
660
+ util_1.Util.drawText(ctx, line, element.x, element.y + i * element.size * 1.3, element.size, element.size / 3.5, element.width || Infinity, element.align, element.color || "#FFFFFF", element.borderColor
779
661
  ? element.borderColor
780
662
  : color_1.default.rgb(element.color || "#FFFFFF")
781
663
  .darken(0.3)
@@ -842,7 +724,7 @@ class Best50 {
842
724
  .map((v) => {
843
725
  let ratingConstant = 0;
844
726
  if (v.achievementRank ==
845
- type_1.EAchievementTypes.D) {
727
+ Best50.EAchievementTypes.D) {
846
728
  if (v.achievement > 40)
847
729
  ratingConstant =
848
730
  this.RATING_CONSTANTS[v.achievementRank]["0.4"];
@@ -874,7 +756,7 @@ class Best50 {
874
756
  .reduce((sum, v) => (sum += v)) / length);
875
757
  }
876
758
  const getRatingTargetLevel = (rating, target) => {
877
- if (target == type_1.EAchievementTypes.D) {
759
+ if (target == Best50.EAchievementTypes.D) {
878
760
  return 0;
879
761
  }
880
762
  const naiveNevel = rating /
@@ -885,8 +767,8 @@ class Best50 {
885
767
  function getMilestone(scores, length) {
886
768
  const base = getRatingBase(scores, length);
887
769
  let sssTarget, ssspTarget;
888
- const sssLevel = getRatingTargetLevel(base, type_1.EAchievementTypes.SSS);
889
- const ssspLevel = getRatingTargetLevel(base, type_1.EAchievementTypes.SSSP);
770
+ const sssLevel = getRatingTargetLevel(base, Best50.EAchievementTypes.SSS);
771
+ const ssspLevel = getRatingTargetLevel(base, Best50.EAchievementTypes.SSSP);
890
772
  if (sssLevel > 0 && sssLevel < 15) {
891
773
  sssTarget = sssLevel;
892
774
  }
@@ -903,7 +785,7 @@ class Best50 {
903
785
  return "Good job!";
904
786
  }
905
787
  await this.drawTextModule(ctx, currentTheme, element, {
906
- username: HalfFullWidthConvert.toFullWidth(name),
788
+ username: util_1.Util.HalfFullWidthConvert.toFullWidth(name),
907
789
  rating: rating.toFixed(0),
908
790
  newScoreRatingAvg: getRatingAvg(newScores, 15).toFixed(0),
909
791
  oldScoreRatingAvg: getRatingAvg(oldScores, 35).toFixed(0),
@@ -981,5 +863,77 @@ exports.Best50 = Best50;
981
863
  Best50.LXNS = lxns.LXNS;
982
864
  Best50.KamaiTachi = kamaiTachi.KamaiTachi;
983
865
  Best50.DivingFish = divingFish.DivingFish;
866
+ let EComboTypes;
867
+ (function (EComboTypes) {
868
+ EComboTypes[EComboTypes["NONE"] = 0] = "NONE";
869
+ EComboTypes[EComboTypes["FULL_COMBO"] = 1] = "FULL_COMBO";
870
+ EComboTypes[EComboTypes["FULL_COMBO_PLUS"] = 2] = "FULL_COMBO_PLUS";
871
+ EComboTypes[EComboTypes["ALL_PERFECT"] = 3] = "ALL_PERFECT";
872
+ EComboTypes[EComboTypes["ALL_PERFECT_PLUS"] = 4] = "ALL_PERFECT_PLUS";
873
+ })(EComboTypes = Best50.EComboTypes || (Best50.EComboTypes = {}));
874
+ let ESyncTypes;
875
+ (function (ESyncTypes) {
876
+ ESyncTypes[ESyncTypes["NONE"] = 0] = "NONE";
877
+ ESyncTypes[ESyncTypes["SYNC_PLAY"] = 1] = "SYNC_PLAY";
878
+ ESyncTypes[ESyncTypes["FULL_SYNC"] = 2] = "FULL_SYNC";
879
+ ESyncTypes[ESyncTypes["FULL_SYNC_PLUS"] = 3] = "FULL_SYNC_PLUS";
880
+ ESyncTypes[ESyncTypes["FULL_SYNC_DX"] = 4] = "FULL_SYNC_DX";
881
+ ESyncTypes[ESyncTypes["FULL_SYNC_DX_PLUS"] = 5] = "FULL_SYNC_DX_PLUS";
882
+ })(ESyncTypes = Best50.ESyncTypes || (Best50.ESyncTypes = {}));
883
+ let EAchievementTypes;
884
+ (function (EAchievementTypes) {
885
+ EAchievementTypes[EAchievementTypes["D"] = 0] = "D";
886
+ EAchievementTypes[EAchievementTypes["C"] = 1] = "C";
887
+ EAchievementTypes[EAchievementTypes["B"] = 2] = "B";
888
+ EAchievementTypes[EAchievementTypes["BB"] = 3] = "BB";
889
+ EAchievementTypes[EAchievementTypes["BBB"] = 4] = "BBB";
890
+ EAchievementTypes[EAchievementTypes["A"] = 5] = "A";
891
+ EAchievementTypes[EAchievementTypes["AA"] = 6] = "AA";
892
+ EAchievementTypes[EAchievementTypes["AAA"] = 7] = "AAA";
893
+ EAchievementTypes[EAchievementTypes["S"] = 8] = "S";
894
+ EAchievementTypes[EAchievementTypes["SP"] = 9] = "SP";
895
+ EAchievementTypes[EAchievementTypes["SS"] = 10] = "SS";
896
+ EAchievementTypes[EAchievementTypes["SSP"] = 11] = "SSP";
897
+ EAchievementTypes[EAchievementTypes["SSS"] = 12] = "SSS";
898
+ EAchievementTypes[EAchievementTypes["SSSP"] = 13] = "SSSP";
899
+ })(EAchievementTypes = Best50.EAchievementTypes || (Best50.EAchievementTypes = {}));
900
+ Best50.RATING_CONSTANTS = {
901
+ [Best50.EAchievementTypes.D]: {
902
+ [0.4]: 6.4,
903
+ [0.3]: 4.8,
904
+ [0.2]: 3.2,
905
+ [0.1]: 1.6,
906
+ [0]: 0,
907
+ },
908
+ [EAchievementTypes.C]: 13.6,
909
+ [EAchievementTypes.B]: 13.6,
910
+ [EAchievementTypes.BB]: 13.6,
911
+ [EAchievementTypes.BBB]: 13.6,
912
+ [EAchievementTypes.A]: 13.6,
913
+ [EAchievementTypes.AA]: 15.2,
914
+ [EAchievementTypes.AAA]: 16.8,
915
+ [EAchievementTypes.S]: 20.0,
916
+ [EAchievementTypes.SP]: 20.3,
917
+ [EAchievementTypes.SS]: 20.8,
918
+ [EAchievementTypes.SSP]: 21.1,
919
+ [EAchievementTypes.SSS]: 21.6,
920
+ [EAchievementTypes.SSSP]: 22.4,
921
+ };
922
+ Best50.RANK_BORDERS = {
923
+ [EAchievementTypes.D]: [0.0, 0.1, 0.2, 0.3, 0.4],
924
+ [EAchievementTypes.C]: 0.5,
925
+ [EAchievementTypes.B]: 0.6,
926
+ [EAchievementTypes.BB]: 0.7,
927
+ [EAchievementTypes.BBB]: 0.75,
928
+ [EAchievementTypes.A]: 0.8,
929
+ [EAchievementTypes.AA]: 0.9,
930
+ [EAchievementTypes.AAA]: 0.94,
931
+ [EAchievementTypes.S]: 0.97,
932
+ [EAchievementTypes.SP]: 0.98,
933
+ [EAchievementTypes.SS]: 0.99,
934
+ [EAchievementTypes.SSP]: 0.995,
935
+ [EAchievementTypes.SSS]: 1.0,
936
+ [EAchievementTypes.SSSP]: 1.005,
937
+ };
984
938
  })(Best50 || (exports.Best50 = Best50 = {}));
985
939
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mai/best50/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mai/best50/index.ts"],"names":[],"mappings":"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"}