playlist-data-engine 1.1.0

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 (345) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +352 -0
  3. package/dist/__vite-browser-external-DYxpcVy9.js +4 -0
  4. package/dist/constants/DefaultClasses.d.ts +46 -0
  5. package/dist/constants/DefaultClasses.d.ts.map +1 -0
  6. package/dist/constants/DefaultEnchantments.d.ts +337 -0
  7. package/dist/constants/DefaultEnchantments.d.ts.map +1 -0
  8. package/dist/constants/DefaultEnemies.d.ts +83 -0
  9. package/dist/constants/DefaultEnemies.d.ts.map +1 -0
  10. package/dist/constants/DefaultEquipment.d.ts +23 -0
  11. package/dist/constants/DefaultEquipment.d.ts.map +1 -0
  12. package/dist/constants/DefaultFeatures.d.ts +22 -0
  13. package/dist/constants/DefaultFeatures.d.ts.map +1 -0
  14. package/dist/constants/DefaultRaces.d.ts +102 -0
  15. package/dist/constants/DefaultRaces.d.ts.map +1 -0
  16. package/dist/constants/DefaultSkills.d.ts +26 -0
  17. package/dist/constants/DefaultSkills.d.ts.map +1 -0
  18. package/dist/constants/DefaultSpells.d.ts +41 -0
  19. package/dist/constants/DefaultSpells.d.ts.map +1 -0
  20. package/dist/constants/EncounterBalance.d.ts +208 -0
  21. package/dist/constants/EncounterBalance.d.ts.map +1 -0
  22. package/dist/constants/EnemyEquipment.d.ts +71 -0
  23. package/dist/constants/EnemyEquipment.d.ts.map +1 -0
  24. package/dist/constants/EnemyRarity.d.ts +79 -0
  25. package/dist/constants/EnemyRarity.d.ts.map +1 -0
  26. package/dist/constants/EnemyTemplates/Construct.d.ts +63 -0
  27. package/dist/constants/EnemyTemplates/Construct.d.ts.map +1 -0
  28. package/dist/constants/EnemyTemplates/Dragon.d.ts +68 -0
  29. package/dist/constants/EnemyTemplates/Dragon.d.ts.map +1 -0
  30. package/dist/constants/EnemyTemplates/Elemental.d.ts +64 -0
  31. package/dist/constants/EnemyTemplates/Elemental.d.ts.map +1 -0
  32. package/dist/constants/EnemyTemplates/Fiend.d.ts +62 -0
  33. package/dist/constants/EnemyTemplates/Fiend.d.ts.map +1 -0
  34. package/dist/constants/EnemyTemplates/Monstrosity.d.ts +63 -0
  35. package/dist/constants/EnemyTemplates/Monstrosity.d.ts.map +1 -0
  36. package/dist/constants/EnemyTemplates/Undead.d.ts +61 -0
  37. package/dist/constants/EnemyTemplates/Undead.d.ts.map +1 -0
  38. package/dist/constants/ItemTemplates.d.ts +40 -0
  39. package/dist/constants/ItemTemplates.d.ts.map +1 -0
  40. package/dist/constants/MagicItems.d.ts +30 -0
  41. package/dist/constants/MagicItems.d.ts.map +1 -0
  42. package/dist/constants/SpellSlots.d.ts +30 -0
  43. package/dist/constants/SpellSlots.d.ts.map +1 -0
  44. package/dist/constants/StatScaling.d.ts +113 -0
  45. package/dist/constants/StatScaling.d.ts.map +1 -0
  46. package/dist/core/analysis/AudioAnalyzer.d.ts +599 -0
  47. package/dist/core/analysis/AudioAnalyzer.d.ts.map +1 -0
  48. package/dist/core/analysis/ColorExtractor.d.ts +64 -0
  49. package/dist/core/analysis/ColorExtractor.d.ts.map +1 -0
  50. package/dist/core/analysis/EssentiaPitchDetector.d.ts +282 -0
  51. package/dist/core/analysis/EssentiaPitchDetector.d.ts.map +1 -0
  52. package/dist/core/analysis/LevelSerializer.d.ts +265 -0
  53. package/dist/core/analysis/LevelSerializer.d.ts.map +1 -0
  54. package/dist/core/analysis/MelodyContourAnalyzer.d.ts +283 -0
  55. package/dist/core/analysis/MelodyContourAnalyzer.d.ts.map +1 -0
  56. package/dist/core/analysis/MultiBandAnalyzer.d.ts +214 -0
  57. package/dist/core/analysis/MultiBandAnalyzer.d.ts.map +1 -0
  58. package/dist/core/analysis/MusicClassifier.d.ts +524 -0
  59. package/dist/core/analysis/MusicClassifier.d.ts.map +1 -0
  60. package/dist/core/analysis/PitchAnalyzer.d.ts +266 -0
  61. package/dist/core/analysis/PitchAnalyzer.d.ts.map +1 -0
  62. package/dist/core/analysis/PitchDetector.d.ts +251 -0
  63. package/dist/core/analysis/PitchDetector.d.ts.map +1 -0
  64. package/dist/core/analysis/SpectrumScanner.d.ts +52 -0
  65. package/dist/core/analysis/SpectrumScanner.d.ts.map +1 -0
  66. package/dist/core/analysis/beat/BeatInterpolator.d.ts +477 -0
  67. package/dist/core/analysis/beat/BeatInterpolator.d.ts.map +1 -0
  68. package/dist/core/analysis/beat/BeatMapGenerator.d.ts +170 -0
  69. package/dist/core/analysis/beat/BeatMapGenerator.d.ts.map +1 -0
  70. package/dist/core/analysis/beat/BeatStream.d.ts +316 -0
  71. package/dist/core/analysis/beat/BeatStream.d.ts.map +1 -0
  72. package/dist/core/analysis/beat/BeatSubdivider.d.ts +205 -0
  73. package/dist/core/analysis/beat/BeatSubdivider.d.ts.map +1 -0
  74. package/dist/core/analysis/beat/BeatTracker.d.ts +137 -0
  75. package/dist/core/analysis/beat/BeatTracker.d.ts.map +1 -0
  76. package/dist/core/analysis/beat/CompositeStreamGenerator.d.ts +180 -0
  77. package/dist/core/analysis/beat/CompositeStreamGenerator.d.ts.map +1 -0
  78. package/dist/core/analysis/beat/DensityAnalyzer.d.ts +246 -0
  79. package/dist/core/analysis/beat/DensityAnalyzer.d.ts.map +1 -0
  80. package/dist/core/analysis/beat/DifficultyVariantGenerator.d.ts +1082 -0
  81. package/dist/core/analysis/beat/DifficultyVariantGenerator.d.ts.map +1 -0
  82. package/dist/core/analysis/beat/GrooveAnalyzer.d.ts +192 -0
  83. package/dist/core/analysis/beat/GrooveAnalyzer.d.ts.map +1 -0
  84. package/dist/core/analysis/beat/OnsetStrengthEnvelope.d.ts +133 -0
  85. package/dist/core/analysis/beat/OnsetStrengthEnvelope.d.ts.map +1 -0
  86. package/dist/core/analysis/beat/PhraseAnalyzer.d.ts +230 -0
  87. package/dist/core/analysis/beat/PhraseAnalyzer.d.ts.map +1 -0
  88. package/dist/core/analysis/beat/RhythmQuantizer.d.ts +399 -0
  89. package/dist/core/analysis/beat/RhythmQuantizer.d.ts.map +1 -0
  90. package/dist/core/analysis/beat/RhythmicBalancer.d.ts +262 -0
  91. package/dist/core/analysis/beat/RhythmicBalancer.d.ts.map +1 -0
  92. package/dist/core/analysis/beat/StreamScorer.d.ts +275 -0
  93. package/dist/core/analysis/beat/StreamScorer.d.ts.map +1 -0
  94. package/dist/core/analysis/beat/TempoAwareQuantizer.d.ts +256 -0
  95. package/dist/core/analysis/beat/TempoAwareQuantizer.d.ts.map +1 -0
  96. package/dist/core/analysis/beat/TempoDetector.d.ts +220 -0
  97. package/dist/core/analysis/beat/TempoDetector.d.ts.map +1 -0
  98. package/dist/core/analysis/beat/TransientDetector.d.ts +303 -0
  99. package/dist/core/analysis/beat/TransientDetector.d.ts.map +1 -0
  100. package/dist/core/analysis/beat/beatKeyHelpers.d.ts +180 -0
  101. package/dist/core/analysis/beat/beatKeyHelpers.d.ts.map +1 -0
  102. package/dist/core/analysis/beat/index.d.ts +41 -0
  103. package/dist/core/analysis/beat/index.d.ts.map +1 -0
  104. package/dist/core/analysis/beat/utils/audioUtils.d.ts +204 -0
  105. package/dist/core/analysis/beat/utils/audioUtils.d.ts.map +1 -0
  106. package/dist/core/analysis/beat/utils/beatInterpolationDebug.d.ts +404 -0
  107. package/dist/core/analysis/beat/utils/beatInterpolationDebug.d.ts.map +1 -0
  108. package/dist/core/analysis/beat/utils/subdivideBeatMap.d.ts +61 -0
  109. package/dist/core/analysis/beat/utils/subdivideBeatMap.d.ts.map +1 -0
  110. package/dist/core/analysis/beat/utils/unifyBeatMap.d.ts +33 -0
  111. package/dist/core/analysis/beat/utils/unifyBeatMap.d.ts.map +1 -0
  112. package/dist/core/analysis/index.d.ts +18 -0
  113. package/dist/core/analysis/index.d.ts.map +1 -0
  114. package/dist/core/combat/AI/AICombatRunner.d.ts +108 -0
  115. package/dist/core/combat/AI/AICombatRunner.d.ts.map +1 -0
  116. package/dist/core/combat/AI/CombatAI.d.ts +179 -0
  117. package/dist/core/combat/AI/CombatAI.d.ts.map +1 -0
  118. package/dist/core/combat/AI/CombatMetricsTracker.d.ts +30 -0
  119. package/dist/core/combat/AI/CombatMetricsTracker.d.ts.map +1 -0
  120. package/dist/core/combat/Analysis/BalanceValidator.d.ts +170 -0
  121. package/dist/core/combat/Analysis/BalanceValidator.d.ts.map +1 -0
  122. package/dist/core/combat/Analysis/ComparativeAnalyzer.d.ts +231 -0
  123. package/dist/core/combat/Analysis/ComparativeAnalyzer.d.ts.map +1 -0
  124. package/dist/core/combat/Analysis/DifficultyCalculator.d.ts +203 -0
  125. package/dist/core/combat/Analysis/DifficultyCalculator.d.ts.map +1 -0
  126. package/dist/core/combat/Analysis/ParameterSweep.d.ts +201 -0
  127. package/dist/core/combat/Analysis/ParameterSweep.d.ts.map +1 -0
  128. package/dist/core/combat/AttackResolver.d.ts +220 -0
  129. package/dist/core/combat/AttackResolver.d.ts.map +1 -0
  130. package/dist/core/combat/CombatEngine.d.ts +388 -0
  131. package/dist/core/combat/CombatEngine.d.ts.map +1 -0
  132. package/dist/core/combat/DiceRoller.d.ts +115 -0
  133. package/dist/core/combat/DiceRoller.d.ts.map +1 -0
  134. package/dist/core/combat/InitiativeRoller.d.ts +62 -0
  135. package/dist/core/combat/InitiativeRoller.d.ts.map +1 -0
  136. package/dist/core/combat/PartyAnalyzer.d.ts +215 -0
  137. package/dist/core/combat/PartyAnalyzer.d.ts.map +1 -0
  138. package/dist/core/combat/SeededDiceRoller.d.ts +120 -0
  139. package/dist/core/combat/SeededDiceRoller.d.ts.map +1 -0
  140. package/dist/core/combat/Simulation/CombatSimulator.d.ts +366 -0
  141. package/dist/core/combat/Simulation/CombatSimulator.d.ts.map +1 -0
  142. package/dist/core/combat/SpellCaster.d.ts +113 -0
  143. package/dist/core/combat/SpellCaster.d.ts.map +1 -0
  144. package/dist/core/config/index.d.ts +24 -0
  145. package/dist/core/config/index.d.ts.map +1 -0
  146. package/dist/core/config/progressionConfig.d.ts +73 -0
  147. package/dist/core/config/progressionConfig.d.ts.map +1 -0
  148. package/dist/core/config/sensorConfig.d.ts +134 -0
  149. package/dist/core/config/sensorConfig.d.ts.map +1 -0
  150. package/dist/core/equipment/BoxOpener.d.ts +175 -0
  151. package/dist/core/equipment/BoxOpener.d.ts.map +1 -0
  152. package/dist/core/equipment/EquipmentEffectApplier.d.ts +189 -0
  153. package/dist/core/equipment/EquipmentEffectApplier.d.ts.map +1 -0
  154. package/dist/core/equipment/EquipmentModifier.d.ts +327 -0
  155. package/dist/core/equipment/EquipmentModifier.d.ts.map +1 -0
  156. package/dist/core/equipment/EquipmentSpawnHelper.d.ts +246 -0
  157. package/dist/core/equipment/EquipmentSpawnHelper.d.ts.map +1 -0
  158. package/dist/core/equipment/EquipmentValidator.d.ts +173 -0
  159. package/dist/core/equipment/EquipmentValidator.d.ts.map +1 -0
  160. package/dist/core/extensions/ExtensionManager.d.ts +517 -0
  161. package/dist/core/extensions/ExtensionManager.d.ts.map +1 -0
  162. package/dist/core/extensions/WeightedSelector.d.ts +156 -0
  163. package/dist/core/extensions/WeightedSelector.d.ts.map +1 -0
  164. package/dist/core/extensions/index.d.ts +11 -0
  165. package/dist/core/extensions/index.d.ts.map +1 -0
  166. package/dist/core/extensions/initializeDefaults.d.ts +170 -0
  167. package/dist/core/extensions/initializeDefaults.d.ts.map +1 -0
  168. package/dist/core/features/FeatureEffectApplier.d.ts +102 -0
  169. package/dist/core/features/FeatureEffectApplier.d.ts.map +1 -0
  170. package/dist/core/features/FeatureQuery.d.ts +368 -0
  171. package/dist/core/features/FeatureQuery.d.ts.map +1 -0
  172. package/dist/core/features/FeatureTypes.d.ts +199 -0
  173. package/dist/core/features/FeatureTypes.d.ts.map +1 -0
  174. package/dist/core/features/FeatureValidator.d.ts +149 -0
  175. package/dist/core/features/FeatureValidator.d.ts.map +1 -0
  176. package/dist/core/features/index.d.ts +12 -0
  177. package/dist/core/features/index.d.ts.map +1 -0
  178. package/dist/core/generation/AbilityScoreCalculator.d.ts +83 -0
  179. package/dist/core/generation/AbilityScoreCalculator.d.ts.map +1 -0
  180. package/dist/core/generation/AppearanceGenerator.d.ts +32 -0
  181. package/dist/core/generation/AppearanceGenerator.d.ts.map +1 -0
  182. package/dist/core/generation/BeatConverter.d.ts +127 -0
  183. package/dist/core/generation/BeatConverter.d.ts.map +1 -0
  184. package/dist/core/generation/ButtonMapper.d.ts +346 -0
  185. package/dist/core/generation/ButtonMapper.d.ts.map +1 -0
  186. package/dist/core/generation/ButtonPatternLibrary.d.ts +92 -0
  187. package/dist/core/generation/ButtonPatternLibrary.d.ts.map +1 -0
  188. package/dist/core/generation/CRLevelConverter.d.ts +242 -0
  189. package/dist/core/generation/CRLevelConverter.d.ts.map +1 -0
  190. package/dist/core/generation/CharacterGenerator.d.ts +194 -0
  191. package/dist/core/generation/CharacterGenerator.d.ts.map +1 -0
  192. package/dist/core/generation/ClassSuggester.d.ts +184 -0
  193. package/dist/core/generation/ClassSuggester.d.ts.map +1 -0
  194. package/dist/core/generation/EnemyEquipmentGenerator.d.ts +151 -0
  195. package/dist/core/generation/EnemyEquipmentGenerator.d.ts.map +1 -0
  196. package/dist/core/generation/EnemyGenerator.d.ts +595 -0
  197. package/dist/core/generation/EnemyGenerator.d.ts.map +1 -0
  198. package/dist/core/generation/EquipmentGenerator.d.ts +204 -0
  199. package/dist/core/generation/EquipmentGenerator.d.ts.map +1 -0
  200. package/dist/core/generation/LegendaryGenerator.d.ts +213 -0
  201. package/dist/core/generation/LegendaryGenerator.d.ts.map +1 -0
  202. package/dist/core/generation/LevelGenerator.d.ts +390 -0
  203. package/dist/core/generation/LevelGenerator.d.ts.map +1 -0
  204. package/dist/core/generation/NamingEngine.d.ts +136 -0
  205. package/dist/core/generation/NamingEngine.d.ts.map +1 -0
  206. package/dist/core/generation/PitchBeatLinker.d.ts +150 -0
  207. package/dist/core/generation/PitchBeatLinker.d.ts.map +1 -0
  208. package/dist/core/generation/RaceSelector.d.ts +58 -0
  209. package/dist/core/generation/RaceSelector.d.ts.map +1 -0
  210. package/dist/core/generation/RhythmGenerator.d.ts +597 -0
  211. package/dist/core/generation/RhythmGenerator.d.ts.map +1 -0
  212. package/dist/core/generation/SkillAssigner.d.ts +78 -0
  213. package/dist/core/generation/SkillAssigner.d.ts.map +1 -0
  214. package/dist/core/generation/SpellManager.d.ts +132 -0
  215. package/dist/core/generation/SpellManager.d.ts.map +1 -0
  216. package/dist/core/generation/SpellcastingGenerator.d.ts +255 -0
  217. package/dist/core/generation/SpellcastingGenerator.d.ts.map +1 -0
  218. package/dist/core/generation/index.d.ts +41 -0
  219. package/dist/core/generation/index.d.ts.map +1 -0
  220. package/dist/core/parser/MetadataExtractor.d.ts +66 -0
  221. package/dist/core/parser/MetadataExtractor.d.ts.map +1 -0
  222. package/dist/core/parser/PlaylistParser.d.ts +45 -0
  223. package/dist/core/parser/PlaylistParser.d.ts.map +1 -0
  224. package/dist/core/playback/SubdivisionPlaybackController.d.ts +333 -0
  225. package/dist/core/playback/SubdivisionPlaybackController.d.ts.map +1 -0
  226. package/dist/core/playback/index.d.ts +5 -0
  227. package/dist/core/playback/index.d.ts.map +1 -0
  228. package/dist/core/progression/CharacterUpdater.d.ts +203 -0
  229. package/dist/core/progression/CharacterUpdater.d.ts.map +1 -0
  230. package/dist/core/progression/LevelUpProcessor.d.ts +234 -0
  231. package/dist/core/progression/LevelUpProcessor.d.ts.map +1 -0
  232. package/dist/core/progression/PrestigeSystem.d.ts +217 -0
  233. package/dist/core/progression/PrestigeSystem.d.ts.map +1 -0
  234. package/dist/core/progression/RhythmXPCalculator.d.ts +182 -0
  235. package/dist/core/progression/RhythmXPCalculator.d.ts.map +1 -0
  236. package/dist/core/progression/SessionTracker.d.ts +169 -0
  237. package/dist/core/progression/SessionTracker.d.ts.map +1 -0
  238. package/dist/core/progression/XPCalculator.d.ts +128 -0
  239. package/dist/core/progression/XPCalculator.d.ts.map +1 -0
  240. package/dist/core/progression/stat/StatIncreaseStrategy.d.ts +97 -0
  241. package/dist/core/progression/stat/StatIncreaseStrategy.d.ts.map +1 -0
  242. package/dist/core/progression/stat/StatManager.d.ts +179 -0
  243. package/dist/core/progression/stat/StatManager.d.ts.map +1 -0
  244. package/dist/core/sensors/EnvironmentalSensors.d.ts +301 -0
  245. package/dist/core/sensors/EnvironmentalSensors.d.ts.map +1 -0
  246. package/dist/core/sensors/GamingPlatformSensors.d.ts +162 -0
  247. package/dist/core/sensors/GamingPlatformSensors.d.ts.map +1 -0
  248. package/dist/core/sensors/GeolocationProvider.d.ts +156 -0
  249. package/dist/core/sensors/GeolocationProvider.d.ts.map +1 -0
  250. package/dist/core/sensors/MotionDetector.d.ts +58 -0
  251. package/dist/core/sensors/MotionDetector.d.ts.map +1 -0
  252. package/dist/core/sensors/SteamAPIClient.d.ts +108 -0
  253. package/dist/core/sensors/SteamAPIClient.d.ts.map +1 -0
  254. package/dist/core/sensors/WeatherAPIClient.d.ts +360 -0
  255. package/dist/core/sensors/WeatherAPIClient.d.ts.map +1 -0
  256. package/dist/core/sensors/schemas/weather.schema.d.ts +144 -0
  257. package/dist/core/sensors/schemas/weather.schema.d.ts.map +1 -0
  258. package/dist/core/skills/SkillQuery.d.ts +159 -0
  259. package/dist/core/skills/SkillQuery.d.ts.map +1 -0
  260. package/dist/core/skills/SkillTypes.d.ts +233 -0
  261. package/dist/core/skills/SkillTypes.d.ts.map +1 -0
  262. package/dist/core/skills/SkillValidator.d.ts +146 -0
  263. package/dist/core/skills/SkillValidator.d.ts.map +1 -0
  264. package/dist/core/skills/index.d.ts +11 -0
  265. package/dist/core/skills/index.d.ts.map +1 -0
  266. package/dist/core/spells/SpellQuery.d.ts +194 -0
  267. package/dist/core/spells/SpellQuery.d.ts.map +1 -0
  268. package/dist/core/spells/SpellTypes.d.ts +71 -0
  269. package/dist/core/spells/SpellTypes.d.ts.map +1 -0
  270. package/dist/core/spells/SpellValidator.d.ts +129 -0
  271. package/dist/core/spells/SpellValidator.d.ts.map +1 -0
  272. package/dist/core/spells/index.d.ts +11 -0
  273. package/dist/core/spells/index.d.ts.map +1 -0
  274. package/dist/core/types/AudioProfile.d.ts +143 -0
  275. package/dist/core/types/AudioProfile.d.ts.map +1 -0
  276. package/dist/core/types/BeatMap.d.ts +1825 -0
  277. package/dist/core/types/BeatMap.d.ts.map +1 -0
  278. package/dist/core/types/ButtonMapping.d.ts +345 -0
  279. package/dist/core/types/ButtonMapping.d.ts.map +1 -0
  280. package/dist/core/types/Character.d.ts +397 -0
  281. package/dist/core/types/Character.d.ts.map +1 -0
  282. package/dist/core/types/ChartedBeatMap.d.ts +169 -0
  283. package/dist/core/types/ChartedBeatMap.d.ts.map +1 -0
  284. package/dist/core/types/Combat.d.ts +268 -0
  285. package/dist/core/types/Combat.d.ts.map +1 -0
  286. package/dist/core/types/CombatAI.d.ts +143 -0
  287. package/dist/core/types/CombatAI.d.ts.map +1 -0
  288. package/dist/core/types/Enemy.d.ts +447 -0
  289. package/dist/core/types/Enemy.d.ts.map +1 -0
  290. package/dist/core/types/Environmental.d.ts +213 -0
  291. package/dist/core/types/Environmental.d.ts.map +1 -0
  292. package/dist/core/types/Equipment.d.ts +309 -0
  293. package/dist/core/types/Equipment.d.ts.map +1 -0
  294. package/dist/core/types/ISessionTracker.d.ts +48 -0
  295. package/dist/core/types/ISessionTracker.d.ts.map +1 -0
  296. package/dist/core/types/LevelExport.d.ts +366 -0
  297. package/dist/core/types/LevelExport.d.ts.map +1 -0
  298. package/dist/core/types/Playlist.d.ts +70 -0
  299. package/dist/core/types/Playlist.d.ts.map +1 -0
  300. package/dist/core/types/Prestige.d.ts +94 -0
  301. package/dist/core/types/Prestige.d.ts.map +1 -0
  302. package/dist/core/types/Progression.d.ts +214 -0
  303. package/dist/core/types/Progression.d.ts.map +1 -0
  304. package/dist/core/types/RhythmXP.d.ts +398 -0
  305. package/dist/core/types/RhythmXP.d.ts.map +1 -0
  306. package/dist/core/utils/AbilityConstants.d.ts +31 -0
  307. package/dist/core/utils/AbilityConstants.d.ts.map +1 -0
  308. package/dist/core/utils/EffectApplierUtils.d.ts +56 -0
  309. package/dist/core/utils/EffectApplierUtils.d.ts.map +1 -0
  310. package/dist/core/utils/ImageValidator.d.ts +66 -0
  311. package/dist/core/utils/ImageValidator.d.ts.map +1 -0
  312. package/dist/core/utils/PrerequisiteValidator.d.ts +88 -0
  313. package/dist/core/utils/PrerequisiteValidator.d.ts.map +1 -0
  314. package/dist/essentia-wasm.es-BUEnKUts.js +2990 -0
  315. package/dist/essentia.js-model.es-CGA0xotH.js +306 -0
  316. package/dist/index.d.ts +176 -0
  317. package/dist/index.d.ts.map +1 -0
  318. package/dist/playlist-data-engine.js +124 -0
  319. package/dist/playlist-data-engine.mjs +49251 -0
  320. package/dist/utils/EnchantmentLibrary.d.ts +378 -0
  321. package/dist/utils/EnchantmentLibrary.d.ts.map +1 -0
  322. package/dist/utils/arweaveGatewayManager.d.ts +485 -0
  323. package/dist/utils/arweaveGatewayManager.d.ts.map +1 -0
  324. package/dist/utils/arweaveUtils.d.ts +118 -0
  325. package/dist/utils/arweaveUtils.d.ts.map +1 -0
  326. package/dist/utils/constants.d.ts +439 -0
  327. package/dist/utils/constants.d.ts.map +1 -0
  328. package/dist/utils/equipmentConstants.d.ts +60 -0
  329. package/dist/utils/equipmentConstants.d.ts.map +1 -0
  330. package/dist/utils/hash.d.ts +33 -0
  331. package/dist/utils/hash.d.ts.map +1 -0
  332. package/dist/utils/logger.d.ts +192 -0
  333. package/dist/utils/logger.d.ts.map +1 -0
  334. package/dist/utils/magicItemExamples.d.ts +46 -0
  335. package/dist/utils/magicItemExamples.d.ts.map +1 -0
  336. package/dist/utils/playlistUtils.d.ts +149 -0
  337. package/dist/utils/playlistUtils.d.ts.map +1 -0
  338. package/dist/utils/random.d.ts +34 -0
  339. package/dist/utils/random.d.ts.map +1 -0
  340. package/dist/utils/sensorDashboard.d.ts +60 -0
  341. package/dist/utils/sensorDashboard.d.ts.map +1 -0
  342. package/dist/utils/validators.d.ts +189 -0
  343. package/dist/utils/validators.d.ts.map +1 -0
  344. package/dist/vite.svg +1 -0
  345. package/package.json +82 -0
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Composite Stream Generator for Procedural Rhythm Generation
3
+ *
4
+ * Creates a single composite stream by slicing together the highest-scoring sections
5
+ * from each band stream.
6
+ *
7
+ * Part of the Procedural Rhythm Generation pipeline - Phase 3.2
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // Basic usage - generate composite from scored streams
12
+ * const generator = new CompositeStreamGenerator();
13
+ * const composite = generator.generate(quantizedBandStreams, scoringResult, densityAnalysis);
14
+ *
15
+ * // Access the composite beats
16
+ * console.log(`Total beats: ${composite.beats.length}`);
17
+ * console.log(`Natural difficulty: ${composite.naturalDifficulty}`);
18
+ *
19
+ * // Check which band contributed to each section
20
+ * for (const section of composite.sections) {
21
+ * console.log(`Beats ${section.beatRange.start}-${section.beatRange.end}: ${section.sourceBand}`);
22
+ * console.log(` Score: ${section.score.toFixed(2)}, margin: ${section.margin.toFixed(2)}`);
23
+ * }
24
+ *
25
+ * // Check band contribution statistics
26
+ * console.log('Beats per band:', composite.metadata.beatsPerBand);
27
+ * console.log('Sections per band:', composite.metadata.sectionsPerBand);
28
+ * ```
29
+ */
30
+ import type { GeneratedBeat, QuantizedBandStreams } from './RhythmQuantizer.js';
31
+ import type { StreamScoringResult, Band } from './StreamScorer.js';
32
+ import type { DensityAnalysisResult, NaturalDifficulty } from './DensityAnalyzer.js';
33
+ /**
34
+ * A section of the composite stream contributed by a single band
35
+ */
36
+ export interface CompositeSection {
37
+ /** Beat range for this section */
38
+ beatRange: {
39
+ start: number;
40
+ end: number;
41
+ };
42
+ /** Which band contributed this section */
43
+ sourceBand: Band;
44
+ /** The winning score for this section */
45
+ score: number;
46
+ /** Margin of victory over the runner-up band */
47
+ margin: number;
48
+ }
49
+ /**
50
+ * A beat in the composite stream with additional metadata about its source
51
+ */
52
+ export interface CompositeBeat extends GeneratedBeat {
53
+ /** Which band this beat originated from */
54
+ sourceBand: Band;
55
+ /**
56
+ * What action the RhythmicBalancer took on this beat, if any.
57
+ * undefined = balancer did not modify this beat.
58
+ * Set during the balance() step.
59
+ */
60
+ balancerAction?: 'shifted_to_downbeat' | 'empty_measure_fill' | 'proximity_shift';
61
+ }
62
+ /**
63
+ * Complete composite stream result
64
+ */
65
+ export interface CompositeStream {
66
+ /** The composite beat stream (all beats combined from winning sections) */
67
+ beats: CompositeBeat[];
68
+ /** Sections showing which band contributed to each part */
69
+ sections: CompositeSection[];
70
+ /** Natural difficulty determined by density analysis of the composite */
71
+ naturalDifficulty: NaturalDifficulty;
72
+ /** Duration of a quarter note in seconds (derived from beat map) */
73
+ quarterNoteInterval: number;
74
+ /** Metadata about the composite generation */
75
+ metadata: {
76
+ /** Total number of beats in the composite */
77
+ totalBeats: number;
78
+ /** Number of sections */
79
+ sectionCount: number;
80
+ /** Count of beats contributed by each band */
81
+ beatsPerBand: {
82
+ low: number;
83
+ mid: number;
84
+ high: number;
85
+ };
86
+ /** Percentage of sections won by each band */
87
+ sectionsPerBand: {
88
+ low: number;
89
+ mid: number;
90
+ high: number;
91
+ };
92
+ };
93
+ }
94
+ /**
95
+ * Configuration for composite stream generation
96
+ */
97
+ export interface CompositeStreamConfig {
98
+ /** Number of beats to overlap at section boundaries for smooth transitions.
99
+ * Default: 0 (no overlap, immediate transition) */
100
+ transitionOverlapBeats: number;
101
+ /** Whether to preserve the original grid decisions at section boundaries.
102
+ * If true, maintains the grid type from the winning band's stream.
103
+ * Default: true */
104
+ preserveGridDecisions: boolean;
105
+ }
106
+ /**
107
+ * Creates a composite rhythm stream by combining the highest-scoring sections
108
+ * from each frequency band.
109
+ *
110
+ * ## Algorithm Overview
111
+ *
112
+ * 1. **Section Selection**: For each section, select the band with the highest
113
+ * interest score (determined by StreamScorer).
114
+ *
115
+ * 2. **Beat Extraction**: Extract all beats from the winning band's stream
116
+ * for each section's beat range.
117
+ *
118
+ * 3. **Stream Assembly**: Combine all extracted beats into a single composite
119
+ * stream, maintaining temporal order.
120
+ *
121
+ * 4. **Natural Difficulty**: Determine the composite's natural difficulty based
122
+ * on the density of the combined stream.
123
+ *
124
+ * ## Usage
125
+ *
126
+ * ```typescript
127
+ * const generator = new CompositeStreamGenerator();
128
+ * const composite = generator.generate(quantizedStreams, scoringResult, densityAnalysis);
129
+ *
130
+ * // Access the composite beat stream
131
+ * const beats = composite.beats;
132
+ *
133
+ * // See which band contributed each section
134
+ * for (const section of composite.sections) {
135
+ * console.log(`Beats ${section.beatRange.start}-${section.beatRange.end}: ${section.sourceBand}`);
136
+ * }
137
+ *
138
+ * // Get the natural difficulty
139
+ * console.log('Natural difficulty:', composite.naturalDifficulty);
140
+ * ```
141
+ */
142
+ export declare class CompositeStreamGenerator {
143
+ private config;
144
+ constructor(config?: Partial<CompositeStreamConfig>);
145
+ /**
146
+ * Generate a composite stream from quantized band streams and scoring results
147
+ *
148
+ * @param streams - Quantized band streams from RhythmQuantizer
149
+ * @param scoringResult - Scoring result from StreamScorer
150
+ * @param densityAnalysis - Density analysis from DensityAnalyzer
151
+ * @returns Composite stream with sections and metadata
152
+ */
153
+ generate(streams: QuantizedBandStreams, scoringResult: StreamScoringResult, densityAnalysis: DensityAnalysisResult, trackDurationSeconds?: number): CompositeStream;
154
+ /**
155
+ * Extract beats from a band stream for a specific beat range
156
+ */
157
+ private extractSectionBeats;
158
+ /**
159
+ * Remove duplicate beats (same timestamp) keeping the one with highest intensity
160
+ */
161
+ private deduplicateBeats;
162
+ /**
163
+ * Determine the natural difficulty of the composite stream
164
+ *
165
+ * Calculates density based on the merged composite beats (what the player actually hits)
166
+ * rather than the multi-band density (which counts overlapping beats multiple times).
167
+ *
168
+ * Density is measured in notes per second, which accounts for tempo.
169
+ * A 120 BPM track with 2 notes/beat = 4 notes/sec feels much easier than
170
+ * a 180 BPM track with 2 notes/beat = 6 notes/sec.
171
+ *
172
+ * This gives a more accurate representation of gameplay difficulty.
173
+ */
174
+ private determineNaturalDifficulty;
175
+ /**
176
+ * Get the current configuration
177
+ */
178
+ getConfig(): CompositeStreamConfig;
179
+ }
180
+ //# sourceMappingURL=CompositeStreamGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompositeStreamGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/analysis/beat/CompositeStreamGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAsB,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,KAAK,EAAE,mBAAmB,EAAiB,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAMrF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,kCAAkC;IAClC,SAAS,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,0CAA0C;IAC1C,UAAU,EAAE,IAAI,CAAC;IAEjB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IAEd,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,aAAa;IAChD,2CAA2C;IAC3C,UAAU,EAAE,IAAI,CAAC;IAEjB;;;;OAIG;IACH,cAAc,CAAC,EAAE,qBAAqB,GAAG,oBAAoB,GAAG,iBAAiB,CAAC;CACrF;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,2EAA2E;IAC3E,KAAK,EAAE,aAAa,EAAE,CAAC;IAEvB,2DAA2D;IAC3D,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAE7B,yEAAyE;IACzE,iBAAiB,EAAE,iBAAiB,CAAC;IAErC,oEAAoE;IACpE,mBAAmB,EAAE,MAAM,CAAC;IAE5B,8CAA8C;IAC9C,QAAQ,EAAE;QACN,6CAA6C;QAC7C,UAAU,EAAE,MAAM,CAAC;QAEnB,yBAAyB;QACzB,YAAY,EAAE,MAAM,CAAC;QAErB,8CAA8C;QAC9C,YAAY,EAAE;YACV,GAAG,EAAE,MAAM,CAAC;YACZ,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;SAChB,CAAC;QAEF,8CAA8C;QAC9C,eAAe,EAAE;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;SAChB,CAAC;KACL,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC;wDACoD;IACpD,sBAAsB,EAAE,MAAM,CAAC;IAE/B;;wBAEoB;IACpB,qBAAqB,EAAE,OAAO,CAAC;CAClC;AA0BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,wBAAwB;IACjC,OAAO,CAAC,MAAM,CAAwB;gBAE1B,MAAM,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAIvD;;;;;;;OAOG;IACH,QAAQ,CACJ,OAAO,EAAE,oBAAoB,EAC7B,aAAa,EAAE,mBAAmB,EAClC,eAAe,EAAE,qBAAqB,EACtC,oBAAoB,CAAC,EAAE,MAAM,GAC9B,eAAe;IAyFlB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,0BAA0B;IAiClC;;OAEG;IACH,SAAS,IAAI,qBAAqB;CAGrC"}
@@ -0,0 +1,246 @@
1
+ /**
2
+ * Density Analyzer for Procedural Rhythm Generation
3
+ *
4
+ * Analyzes quantized rhythm streams to measure density (in notes per second)
5
+ * and determine natural difficulty.
6
+ *
7
+ * Part of the Procedural Rhythm Generation pipeline - Phase 2.2
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // Basic usage - analyze density of quantized streams
12
+ * const analyzer = new DensityAnalyzer();
13
+ * const result = analyzer.analyze(quantizedBandStreams, 120);
14
+ *
15
+ * // Check combined metrics for overall density
16
+ * console.log(`Combined density: ${result.combinedMetrics.notesPerSecond.toFixed(2)} notes/sec`);
17
+ * console.log(`Natural difficulty: ${result.combinedMetrics.naturalDifficulty}`);
18
+ *
19
+ * // Access per-band metrics
20
+ * for (const [band, metrics] of Object.entries(result.bandMetrics)) {
21
+ * console.log(`${band}: ${metrics.densityCategory} (${metrics.notesPerSecond.toFixed(2)} n/s)`);
22
+ * }
23
+ *
24
+ * // Check section-level density for dynamic difficulty
25
+ * for (const section of result.sections) {
26
+ * console.log(`Beats ${section.startBeat}-${section.endBeat}: ${section.densityCategory}`);
27
+ * }
28
+ * ```
29
+ */
30
+ import type { QuantizedBandStreams } from './RhythmQuantizer.js';
31
+ /**
32
+ * Density category for a stream
33
+ */
34
+ export type DensityCategory = 'sparse' | 'moderate' | 'dense';
35
+ /**
36
+ * Natural difficulty based on density
37
+ */
38
+ export type NaturalDifficulty = 'easy' | 'medium' | 'hard';
39
+ /**
40
+ * Density metrics for a single beat
41
+ */
42
+ export interface BeatDensityMetrics {
43
+ /** Beat index in the UnifiedBeatMap */
44
+ beatIndex: number;
45
+ /** Number of transients in this beat */
46
+ transientCount: number;
47
+ /** Which band(s) contributed to this beat */
48
+ bands: ('low' | 'mid' | 'high')[];
49
+ /** Average intensity of transients in this beat */
50
+ averageIntensity: number;
51
+ }
52
+ /**
53
+ * Density metrics for a section (multiple beats)
54
+ */
55
+ export interface SectionDensityMetrics {
56
+ /** Starting beat index (inclusive) */
57
+ startBeat: number;
58
+ /** Ending beat index (inclusive) */
59
+ endBeat: number;
60
+ /** Number of beats in this section */
61
+ beatCount: number;
62
+ /** Total transients in this section */
63
+ totalTransients: number;
64
+ /** Average notes per second in this section */
65
+ notesPerSecond: number;
66
+ /** Minimum notes per second in any single beat of this section */
67
+ minNotesPerSecond: number;
68
+ /** Maximum notes per second in any single beat of this section */
69
+ maxNotesPerSecond: number;
70
+ /** Density category for this section */
71
+ densityCategory: DensityCategory;
72
+ /** Natural difficulty for this section */
73
+ naturalDifficulty: NaturalDifficulty;
74
+ }
75
+ /**
76
+ * Density metrics for a single band stream
77
+ */
78
+ export interface BandDensityMetrics {
79
+ /** Band name */
80
+ band: 'low' | 'mid' | 'high';
81
+ /** Total number of beats in the stream */
82
+ totalBeats: number;
83
+ /** Total transients across all beats */
84
+ totalTransients: number;
85
+ /** Average notes per second */
86
+ notesPerSecond: number;
87
+ /** Minimum notes per second in any single beat */
88
+ minNotesPerSecond: number;
89
+ /** Maximum notes per second in any single beat */
90
+ maxNotesPerSecond: number;
91
+ /** Variance in notes per second */
92
+ variance: number;
93
+ /** Density category */
94
+ densityCategory: DensityCategory;
95
+ /** Natural difficulty */
96
+ naturalDifficulty: NaturalDifficulty;
97
+ /** Per-beat density breakdown */
98
+ perBeatDensity: BeatDensityMetrics[];
99
+ }
100
+ /**
101
+ * Complete density analysis result for all bands
102
+ */
103
+ export interface DensityAnalysisResult {
104
+ /** Per-band density metrics */
105
+ bandMetrics: {
106
+ low: BandDensityMetrics;
107
+ mid: BandDensityMetrics;
108
+ high: BandDensityMetrics;
109
+ };
110
+ /** Combined density across all bands */
111
+ combinedMetrics: {
112
+ /** Total transients across all bands */
113
+ totalTransients: number;
114
+ /** Average notes per second (across all bands) */
115
+ notesPerSecond: number;
116
+ /** Overall density category */
117
+ densityCategory: DensityCategory;
118
+ /** Overall natural difficulty */
119
+ naturalDifficulty: NaturalDifficulty;
120
+ };
121
+ /** Section-based density analysis (2-measure sections = 8 beats) */
122
+ sections: SectionDensityMetrics[];
123
+ /** Per-beat density for all bands combined */
124
+ perBeatDensity: BeatDensityMetrics[];
125
+ }
126
+ /**
127
+ * Configuration for density analysis
128
+ */
129
+ export interface DensityAnalyzerConfig {
130
+ /** Number of beats per section for section analysis. Default: 8 (2 measures in 4/4 time) */
131
+ beatsPerSection: number;
132
+ /** Threshold for sparse density (notes per second below this = sparse). Default: 1.0 */
133
+ sparseThreshold: number;
134
+ /** Threshold for dense density (notes per second above this = dense). Default: 1.5 */
135
+ denseThreshold: number;
136
+ }
137
+ /**
138
+ * Notes per second thresholds for density categorization
139
+ *
140
+ * Sparse: < 1.0 notes/sec (mostly quarter notes at moderate tempo)
141
+ * Moderate: 1.0 - 1.5 notes/sec (eighth notes, some sixteenths)
142
+ * Dense: > 1.5 notes/sec (heavy sixteenth notes, triplets)
143
+ */
144
+ /**
145
+ * Analyzes quantized rhythm streams for density and natural difficulty.
146
+ *
147
+ * Density is measured in notes per second (n/s), which accounts for BPM.
148
+ * A 120 BPM track with 2 notes/beat = 4 notes/sec feels much easier than
149
+ * a 180 BPM track with 2 notes/beat = 6 notes/sec.
150
+ *
151
+ * ## Algorithm Overview
152
+ *
153
+ * 1. **Per-Beat Density Calculation**:
154
+ * - Count transients in each beat across all bands
155
+ * - Track which bands contribute to each beat
156
+ *
157
+ * 2. **Notes/Second Conversion**:
158
+ * - Convert per-beat transient counts to notes/sec: `transientsPerBeat * (bpm / 60)`
159
+ *
160
+ * 3. **Density Categorization**:
161
+ * - Sparse: < 1.0 notes/sec (mostly quarter notes at moderate tempo)
162
+ * - Moderate: 1.0 - 1.5 notes/sec (eighth notes, some sixteenths)
163
+ * - Dense: > 1.5 notes/sec (heavy sixteenth notes, triplets)
164
+ *
165
+ * 4. **Natural Difficulty Determination**:
166
+ * - High density (dense) → Hard
167
+ * - Medium density (moderate) → Medium
168
+ * - Low density (sparse) → Easy
169
+ *
170
+ * 5. **Section Analysis**:
171
+ * - Divide track into sections (default: 8 beats = 2 measures)
172
+ * - Calculate density per section for granular analysis
173
+ *
174
+ * ## Usage
175
+ *
176
+ * ```typescript
177
+ * const analyzer = new DensityAnalyzer();
178
+ * const result = analyzer.analyze(quantizedStreams, 150);
179
+ *
180
+ * // Access per-band metrics
181
+ * const lowDensity = result.bandMetrics.low;
182
+ *
183
+ * // Get overall natural difficulty
184
+ * const difficulty = result.combinedMetrics.naturalDifficulty;
185
+ *
186
+ * // Access section-based analysis
187
+ * const sections = result.sections;
188
+ * ```
189
+ */
190
+ export declare class DensityAnalyzer {
191
+ private config;
192
+ constructor(config?: Partial<DensityAnalyzerConfig>);
193
+ /**
194
+ * Analyze quantized band streams for density
195
+ *
196
+ * @param streams - Quantized band streams from RhythmQuantizer
197
+ * @param bpm - Tempo in beats per minute, used to convert to notes/second
198
+ * @returns Complete density analysis result
199
+ */
200
+ analyze(streams: QuantizedBandStreams, bpm: number, trackDurationSeconds?: number): DensityAnalysisResult;
201
+ /**
202
+ * Analyze a single band for density metrics
203
+ */
204
+ private analyzeBand;
205
+ /**
206
+ * Calculate combined per-beat density across all bands
207
+ */
208
+ private calculateCombinedPerBeatDensity;
209
+ /**
210
+ * Helper to add beat data to the aggregation map
211
+ */
212
+ private addToBeatData;
213
+ /**
214
+ * Calculate combined metrics from per-beat density
215
+ */
216
+ private calculateCombinedMetrics;
217
+ /**
218
+ * Calculate section-based metrics
219
+ */
220
+ private calculateSectionMetrics;
221
+ /**
222
+ * Categorize density based on notes per second
223
+ *
224
+ * Sparse: < sparseThreshold (mostly quarter notes at moderate tempo)
225
+ * Moderate: sparseThreshold - denseThreshold (eighth notes, some sixteenths)
226
+ * Dense: > denseThreshold (heavy sixteenth notes, triplets)
227
+ */
228
+ categorizeDensity(notesPerSecond: number): DensityCategory;
229
+ /**
230
+ * Determine natural difficulty from density category
231
+ *
232
+ * High density (dense) → Hard
233
+ * Medium density (moderate) → Medium
234
+ * Low density (sparse) → Easy
235
+ */
236
+ determineNaturalDifficulty(densityCategory: DensityCategory): NaturalDifficulty;
237
+ /**
238
+ * Calculate variance of an array of numbers
239
+ */
240
+ private calculateVariance;
241
+ /**
242
+ * Get the current configuration
243
+ */
244
+ getConfig(): DensityAnalyzerConfig;
245
+ }
246
+ //# sourceMappingURL=DensityAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DensityAnalyzer.d.ts","sourceRoot":"","sources":["../../../../src/core/analysis/beat/DensityAnalyzer.ts"],"names":[],"mappings":"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"}